http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47446
--- Comment #4 from H.J. Lu <hjl.tools at gmail dot com> 2011-03-11 21:24:44 UTC --- Another one: /usr/gcc-4.6.0-x32/bin/gcc -S -o x.s -mx32 -funroll-all-loops -O3 -dp x.i /usr/gcc-4.6.0-x32/bin/gcc -mx32 -funroll-all-loops -O3 -dp -c -o x.o x.s x.s: Assembler messages: x.s:25: Error: cannot represent relocation type BFD_RELOC_64 in x32 mode make: *** [x.o] Error 1 gnu-6:pts/3[86]> bash ~/bugs/gcc/ilp32-30 [hjl@gnu-6 ilp32-30]$ cat x.i extern char inbuf[]; extern char outbuf[]; extern unsigned insize; extern unsigned inptr; static int max_len; static int peek_bits; void build_tree() { int len; char *prefixp; max_len = inbuf[inptr++]; peek_bits = ((max_len) <= (12) ? (max_len) : (12)); prefixp = &outbuf[1<<peek_bits]; for (len = 1; len <= peek_bits; len++) { } while (prefixp > outbuf) *--prefixp = 0; } [hjl@gnu-6 ilp32-30]$ make /usr/gcc-4.6.0-x32/bin/gcc -mx32 -funroll-all-loops -O3 -dp -c -o x.o x.s x.s: Assembler messages: x.s:25: Error: cannot represent relocation type BFD_RELOC_64 in x32 mode make: *** [x.o] Error 1 [hjl@gnu-6 ilp32-30]$