Atsushi Nemoto wrote: > >>>>> On Fri, 8 Aug 2003 01:15:18 +0200, Thiemo Seufer <ica2_ts@csv.ica.uni-stuttgart.de> said: > Thiemo> It shouldn't trigger for 32bit, because 0x80000000 is a > Thiemo> sign-extended 32bit number. How is mips-linux-as actually > Thiemo> invoked? > > Like this (using mipsel): > > $ mipsel-linux-gcc -o b.o -c -v b.S > Reading specs from /usr/lib/gcc-lib/mipsel-linux/3.3/specs > Configured with: ../gcc-3.3/configure --target=mipsel-linux --prefix=/usr --disable-nls --enable-languages=c --disable-shared --disable-threads > Thread model: single > gcc version 3.3 > /usr/lib/gcc-lib/mipsel-linux/3.3/cc1 -E -lang-asm -quiet -v -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=0 b.S -o /tmp/cceVg6Jo.s > ignoring nonexistent directory "/usr/mipsel-linux/sys-include" > ignoring nonexistent directory "/usr/mipsel-linux/include" > #include "..." search starts here: > #include <...> search starts here: > /usr/lib/gcc-lib/mipsel-linux/3.3/include > End of search list. > /usr/lib/gcc-lib/mipsel-linux/3.3/../../../../mipsel-linux/bin/as -EL -g0 -32 -v -KPIC -o b.o /tmp/cceVg6Jo.s > GNU assembler version 2.14 (mipsel-linux) using BFD version 2.14 20030612 > b.S: Assembler messages: > b.S:1: Error: load/store address overflow (max 32 bits) > > The b.S is just one line "lw $2, 0x80000000". Using 0xffffffff80000000 is a really ugly workaround for it. Seems like the constant isn't properly sign-extended inernally by the assembler. Thiemo