Date: Fri, 19 Feb 2010 17:28:40 +0100 From: Bernd Walter <ticso@cicely7.cicely.de> To: Grzegorz Bernacki <gjb@semihalf.com> Cc: kostikbel@gmail.com, arm@freebsd.org, ticso@cicely7.cicely.de, ticso@cicely.de, current@freebsd.org Subject: Re: bind fails with sig11 on start / pthread failure on ARM? Message-ID: <20100219162840.GJ43625@cicely7.cicely.de> In-Reply-To: <4B7E840F.2040709@semihalf.com> References: <20100218131010.GQ50403@deviant.kiev.zoral.com.ua> <20100219031200.GY43625@cicely7.cicely.de> <20100219033000.GZ43625@cicely7.cicely.de> <20100218.204739.680961627231021262.imp@bsdimp.com> <20100219041200.GC43625@cicely7.cicely.de> <20100219120754.GE43625@cicely7.cicely.de> <4B7E840F.2040709@semihalf.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Feb 19, 2010 at 01:29:03PM +0100, Grzegorz Bernacki wrote: > Hi, >=20 > Some time ago we changed an address of RAS. Probably that's the problem.= =20 > Please try > with patch below. >=20 > grzesiek >=20 > diff --git a/contrib/bind9/lib/isc/arm/include/isc/atomic.h=20 > b/contrib/bind9/lib/ > index 6a6e984..2f12921 100644 > --- a/contrib/bind9/lib/isc/arm/include/isc/atomic.h > +++ b/contrib/bind9/lib/isc/arm/include/isc/atomic.h > @@ -53,9 +53,9 @@ isc_atomic_cmpxchg(isc_int32_t *p, isc_int32_t cmpval,= =20 > isc_int >=20 > __asm __volatile("1:\n" > "adr %1, 1b\n" > - "mov %0, #0xe0000004\n" > + "mov %0, #0xffff1004\n" > "str %1, [%0]\n" > - "mov %0, #0xe0000008\n" > + "mov %0, #0xffff1008\n" > "adr %1, 2f\n" > "str %1, [%0]\n" > "ldr %1, [%2]\n" > @@ -63,10 +63,10 @@ isc_atomic_cmpxchg(isc_int32_t *p, isc_int32_t cmpval= ,=20 > isc_i > "streq %4, [%2]\n" > "2:\n" > "mov %3, #0\n" > - "mov %0, #0xe0000004\n" > + "mov %0, #0xffff1004\n" > "str %3, [%0]\n" > "mov %3, #0xffffffff\n" > - "mov %0, #0xe0000008\n" > + "mov %0, #0xffff1008\n" > "str %3, [%0]\n" > : "=3Dr" (ras_start), "=3Dr" (done) > ,"+r" (p), "+r" (cmpval), "+r" (val) : : "memory"); Strange: cc -O -pipe -mcpu=3Darm9 -DVERSION=3D'"9.6.1-P3"' -DHAVE_CONFIG_H -D_REENTR= ANT -D_THREAD_SAFE -DLIBINTERFACE=3D51 -DLIBREVISION=3D1 -DLIBAGE=3D1 -DWAN= T_IPV6 -DOPENSSL -DUSE_MD5 -DNS_LOCALSTATEDIR=3D'"/var"' -DNS_SYSCONFDIR=3D= '"/etc/namedb"' -DNAMED_CONFFILE=3D'"/etc/namedb/named.conf"' -DRNDC_CONFFI= LE=3D'"/etc/namedb/rndc.conf"' -DRNDC_KEYFILE=3D'"/etc/namedb/rndc.key"' -I= /data/builder/arm-current/head/lib/bind/isc/.. -I/data/builder/arm-current/= head/lib/bind/isc/../../../contrib/bind9/lib/bind9/include -I/data/builder/= arm-current/head/lib/bind/isc/../../../contrib/bind9/lib/dns/include/dst -= I/data/builder/arm-current/head/lib/bind/isc/../../../contrib/bind9/lib/dns= /include -I/data/builder/arm-current/head/lib/bind/isc/../dns -I/data/buil= der/arm-current/head/lib/bind/isc/../../../contrib/bind9/lib/isccc/include = -I/data/builder/arm-current/head/lib/bind/isc/../../../contrib/bind9/lib/is= ccfg/include -I/data/builder/arm-current/head/lib/bind/isc/../../../contrib= /bind9/lib/isc/unix/include -I/data/builder/arm-current/head/lib/bind/isc/= =2E./../../contrib/bind9/lib/isc/pthreads/include -I/data/builder/arm-curr= ent/head/lib/bind/isc/../../../contrib/bind9/lib/isc/include -I/data/build= er/arm-current/head/lib/bind/isc/../isc -I/data/builder/arm-current/head/li= b/bind/isc/../../../contrib/bind9/lib/lwres/unix/include -I/data/builder/a= rm-current/head/lib/bind/isc/../../../contrib/bind9/lib/lwres/include -I/d= ata/builder/arm-current/head/lib/bind/isc/../lwres -I/data/builder/arm-curr= ent/head/lib/bind/isc/../../../contrib/bind9/lib/isc/unix/include -I/data/b= uilder/arm-current/head/lib/bind/isc/../../../contrib/bind9/lib/isc/pthread= s/include -I/data/builder/arm-current/head/lib/bind/isc/../../../contrib/bi= nd9/lib/isc/include -I/data/builder/arm-current/head/lib/bind/isc -I/data/b= uilder/arm-current/head/lib/bind/isc/../../../contrib/bind9/lib/isc/arm/inc= lude -g -std=3Dgnu99 -c /data/builder/arm-current/head/lib/bind/isc/../../= =2E./contrib/bind9/lib/isc/rwlock.c {standard input}: Assembler messages: {standard input}:69: Error: invalid constant -- `mov ip,#0xffff1004' {standard input}:71: Error: invalid constant -- `mov ip,#0xffff1008' {standard input}:79: Error: invalid constant -- `mov ip,#0xffff1004' {standard input}:82: Error: invalid constant -- `mov ip,#0xffff1008' *** Error code 1 Stop in /data/builder/arm-current/head/lib/bind/isc. *** Error code 1 Stop in /data/builder/arm-current/head/lib/bind. 8297.000u 387.000s 2:52:06.37 84.1% -1482+1914k 134+1455io 306pf+0w Exit 1 I fail to seee why the assembler sees it to be wrong. It is a valid hex value - what else should the assembler take care about? --=20 B.Walter <bernd@bwct.de> http://www.bwct.de Modbus/TCP Ethernet I/O Baugruppen, ARM basierte FreeBSD Rechner uvm.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100219162840.GJ43625>