[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#376427: gcc-4.0: arm-linux cross build mistakenly invokes native assembler



Bill Gatliff writes:
> Package: gcc-4.0
> Version: 4.0.3-3
> Severity: important
> 
> *** Please type your report below this line ***
> 
> When using dpkg-cross to construct an arm-linux cross compiler,
> the gcc build dies as shown below.  The error message suggests
> that xgcc is invoking the native assembler when it runs "as",
> rather than the cross assembler.  If I manually invoke xgcc with the
> cross assembler appearing first in the path (and with -v for the added
> information), the compilation succeeds:
> 
> # PATH=/usr/arm-linux/bin:$PATH /arm-cross/gcc-4.0-4.0.3/build/gcc/xgcc \
>  -B/arm-cross/gcc-4.0-4.0.3/build/gcc/ -B/usr/arm-linux-gnu/bin/ \
>  -B/usr/arm-linux-gnu/lib/ -isystem /usr/arm-linux-gnu/include \
>  -isystem /usr/arm-linux-gnu/sys-include -O2 -DIN_GCC -DCROSS_COMPILE \
>  -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes \
>  -Wold-style-definition  -isystem ./include  -I. -I. -I../../src/gcc \
>  -I../../src/gcc/. -I../../src/gcc/../include 
> -I../../src/gcc/../libcpp/include \
>  -g0 -finhibit-size-directive -fno-inline-functions -fno-exceptions \
>  -fno-zero-initialized-in-bss -fno-unit-at-a-time -Dinhibit_libc \
>  -c ../../src/gcc/crtstuff.c -DCRT_BEGIN  -o crtbegin.o -v
> Reading specs from /arm-cross/gcc-4.0-4.0.3/build/gcc/specs
> Target: arm-linux-gnu
> Configured with: ../src/configure -v --enable-languages=c,c++ 
> --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib 
> --without-included-gettext --enable-threads=posix --enable-nls 
> --with-gxx-include-dir=/usr/arm-linux-gnu/include/c++/4.0.4 
> --program-suffix=-4.0 --enable-__cxa_atexit --enable-clocale=gnu 
> --enable-libstdcxx-debug --enable-checking=release 
> --program-prefix=arm-linux-gnu- --includedir=/usr/arm-linux-gnu/include 
> --build=i486-linux-gnu --host=i486-linux-gnu --target=arm-linux-gnu
> Thread model: posix
> gcc version 4.0.4 20060507 (prerelease) (Debian 4.0.3-3)
>  /arm-cross/gcc-4.0-4.0.3/build/gcc/cc1 -quiet -v -I. -I. 
> -I../../src/gcc -I../../src/gcc/. -I../../src/gcc/../include 
> -I../../src/gcc/../libcpp/include -iprefix 
> /arm-cross/gcc-4.0-4.0.3/build/gcc/../lib/gcc/arm-linux-gnu/4.0.4/ 
> -isystem /arm-cross/gcc-4.0-4.0.3/build/gcc/include -DIN_GCC 
> -DCROSS_COMPILE -Dinhibit_libc -DCRT_BEGIN -isystem 
> /usr/arm-linux-gnu/include -isystem /usr/arm-linux-gnu/sys-include 
> -isystem ./include ../../src/gcc/crtstuff.c -quiet -dumpbase crtstuff.c 
> -auxbase-strip crtbegin.o -g0 -O2 -W -Wall -Wwrite-strings 
> -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -version 
> -finhibit-size-directive -fno-inline-functions -fno-exceptions 
> -fno-zero-initialized-in-bss -fno-unit-at-a-time -o /tmp/cc2sPenc.s
> ignoring nonexistent directory "/usr/arm-linux-gnu/sys-include"
> ignoring duplicate directory "./include"
> ignoring nonexistent directory 
> "/arm-cross/gcc-4.0-4.0.3/build/gcc/../lib/gcc/arm-linux-gnu/4.0.4/include"
> ignoring nonexistent directory 
> "/arm-cross/gcc-4.0-4.0.3/build/gcc/../lib/gcc/arm-linux-gnu/4.0.4/../../../../arm-linux-gnu/include"
> ignoring nonexistent directory "/usr/lib/gcc/arm-linux-gnu/4.0.4/include"
> ignoring duplicate directory "/usr/arm-linux-gnu/include"
> ignoring duplicate directory "/usr/lib/gcc/../../arm-linux-gnu/include"
> ignoring duplicate directory "."
> ignoring duplicate directory "../../src/gcc/."
> #include "..." search starts here:
> #include <...> search starts here:
>  .
>  ../../src/gcc
>  ../../src/gcc/../include
>  ../../src/gcc/../libcpp/include
>  /arm-cross/gcc-4.0-4.0.3/build/gcc/include
>  /usr/arm-linux-gnu/include
> End of search list.
> GNU C version 4.0.4 20060507 (prerelease) (Debian 4.0.3-3) (arm-linux-gnu)
>         compiled by GNU C version 4.0.4 20060507 (prerelease) (Debian 
> 4.0.3-3).
> GGC heuristics: --param ggc-min-expand=99 --param ggc-min-heapsize=129570
>  as -o crtbegin.o /tmp/cc2sPenc.s
> #
> 
> 
> 
> The build failure:
> 
> ...
>         /bin/sh ../../src/gcc/mkconfig.sh tconfig.h
> /arm-cross/gcc-4.0-4.0.3/build/gcc/xgcc 
> -B/arm-cross/gcc-4.0-4.0.3/build/gcc/ -B/usr/arm-linux-gnu/bin/ 
> -B/usr/arm-linux-gnu/lib/ -isystem /usr/arm-linux-gnu/include -isystem 
> /usr/arm-linux-gnu/sys-include -O2 -DIN_GCC -DCROSS_COMPILE   -W -Wall 
> -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes 
> -Wold-style-definition  -isystem ./include  -I. -I. -I../../src/gcc 
> -I../../src/gcc/. -I../../src/gcc/../include 
> -I../../src/gcc/../libcpp/include   -g0 -finhibit-size-directive 
> -fno-inline-functions -fno-exceptions -fno-zero-initialized-in-bss 
> -fno-unit-at-a-time  \
>           -Dinhibit_libc -c ../../src/gcc/crtstuff.c -DCRT_BEGIN \
>           -o crtbegin.o
> /tmp/ccfmiUCp.s: Assembler messages:
> /tmp/ccfmiUCp.s:36: Error: junk at end of line, first unrecognized 
> character is `@'
> /tmp/ccfmiUCp.s:37: Error: junk at end of line, first unrecognized 
> character is `@'
> /tmp/ccfmiUCp.s:38: Error: no such instruction: `stmfd sp!,{r4,r5,lr}'
> /tmp/ccfmiUCp.s:39: Error: no such instruction: `ldr r5,.L13'
> /tmp/ccfmiUCp.s:40: Error: no such instruction: `ldrb r3,[r5,'
> /tmp/ccfmiUCp.s:41: Error: expecting operand after ','; got nothing
> /tmp/ccfmiUCp.s:42: Error: no such instruction: `ldmnefd sp!,{r4,r5,pc}'
> /tmp/ccfmiUCp.s:43: Error: no such instruction: `ldr r4,.L13+4'
> /tmp/ccfmiUCp.s:44: Error: no such instruction: `ldr r3,[r4,'
> /tmp/ccfmiUCp.s:45: Error: no such instruction: `ldr r2,[r3,'
> /tmp/ccfmiUCp.s:46: Error: expecting operand after ','; got nothing
> /tmp/ccfmiUCp.s:47: Error: no such instruction: `beq .L5'
> /tmp/ccfmiUCp.s:49: Error: too many memory references for `add'
> /tmp/ccfmiUCp.s:50: Error: invalid char '[' beginning operand 2 `[r4'
> /tmp/ccfmiUCp.s:51: Error: too many memory references for `mov'
> /tmp/ccfmiUCp.s:52: Error: too many memory references for `mov'
> /tmp/ccfmiUCp.s:53: Error: no such instruction: `ldr r3,[r4,'
> /tmp/ccfmiUCp.s:54: Error: no such instruction: `ldr r2,[r3,'
> /tmp/ccfmiUCp.s:55: Error: expecting operand after ','; got nothing
> /tmp/ccfmiUCp.s:56: Error: no such instruction: `bne .L9'
> /tmp/ccfmiUCp.s:58: Error: no such instruction: `ldr r3,.L13+8'
> /tmp/ccfmiUCp.s:59: Error: expecting operand after ','; got nothing
> /tmp/ccfmiUCp.s:60: Error: no such instruction: `ldrne r0,.L13+12'
> /tmp/ccfmiUCp.s:61: Error: no such instruction: `movne lr,pc'
> /tmp/ccfmiUCp.s:62: Error: no such instruction: `movne pc,r3'
> /tmp/ccfmiUCp.s:64: Error: expecting operand after ','; got nothing
> /tmp/ccfmiUCp.s:65: Error: invalid char '[' beginning operand 2 `[r5'
> /tmp/ccfmiUCp.s:66: Error: no such instruction: `ldmfd sp!,{r4,r5,pc}'
> /tmp/ccfmiUCp.s:77: Error: junk at end of line, first unrecognized 
> character is `@'
> /tmp/ccfmiUCp.s:78: Error: junk at end of line, first unrecognized 
> character is `@'
> /tmp/ccfmiUCp.s:79: Error: invalid char '[' beginning operand 2 `[sp'
> /tmp/ccfmiUCp.s:82: Error: no such instruction: `bl __do_global_dtors_aux'
> /tmp/ccfmiUCp.s:85: Error: no such instruction: `ldr pc,[sp],'
> /tmp/ccfmiUCp.s:91: Error: junk at end of line, first unrecognized 
> character is `@'
> /tmp/ccfmiUCp.s:92: Error: junk at end of line, first unrecognized 
> character is `@'
> /tmp/ccfmiUCp.s:93: Error: no such instruction: `ldr r3,.L24'
> /tmp/ccfmiUCp.s:94: Error: expecting operand after ','; got nothing
> /tmp/ccfmiUCp.s:95: Error: invalid char '[' beginning operand 2 `[sp'
> /tmp/ccfmiUCp.s:96: Error: no such instruction: `ldr r0,.L24+4'
> /tmp/ccfmiUCp.s:97: Error: no such instruction: `ldr r1,.L24+8'
> /tmp/ccfmiUCp.s:98: Error: no such instruction: `movne lr,pc'
> /tmp/ccfmiUCp.s:99: Error: no such instruction: `movne pc,r3'
> /tmp/ccfmiUCp.s:101: Error: no such instruction: `ldr r0,.L24+12'
> /tmp/ccfmiUCp.s:102: Error: no such instruction: `ldr r3,[r0,'
> /tmp/ccfmiUCp.s:103: Error: expecting operand after ','; got nothing
> /tmp/ccfmiUCp.s:104: Error: no such instruction: `ldr r3,.L24+16'
> /tmp/ccfmiUCp.s:105: Error: no such instruction: `ldreq pc,[sp],'
> /tmp/ccfmiUCp.s:106: Error: expecting operand after ','; got nothing
> /tmp/ccfmiUCp.s:107: Error: no such instruction: `ldreq pc,[sp],'
> /tmp/ccfmiUCp.s:108: Error: too many memory references for `mov'
> /tmp/ccfmiUCp.s:109: Error: too many memory references for `mov'
> /tmp/ccfmiUCp.s:110: Error: no such instruction: `ldr pc,[sp],'
> /tmp/ccfmiUCp.s:122: Error: junk at end of line, first unrecognized 
> character is `@'
> /tmp/ccfmiUCp.s:123: Error: junk at end of line, first unrecognized 
> character is `@'
> /tmp/ccfmiUCp.s:124: Error: invalid char '[' beginning operand 2 `[sp'
> /tmp/ccfmiUCp.s:127: Error: no such instruction: `bl frame_dummy'
> /tmp/ccfmiUCp.s:130: Error: no such instruction: `ldr pc,[sp],'
> make[3]: *** [crtbegin.o] Error 1
> make[3]: Leaving directory `/arm-cross/gcc-4.0-4.0.3/build/gcc'
> make[2]: *** [all-gcc] Error 2
> make[2]: Leaving directory `/arm-cross/gcc-4.0-4.0.3/build'
> s=`cat status`; rm -f status; test $s -eq 0
> make[1]: *** [stamps/05-build-stamp] Error 1
> make[1]: Leaving directory `/arm-cross/gcc-4.0-4.0.3'
> make: *** [stamps/05-build-stamp] Error 2
> 
> 
> 
> 
> -- System Information:
> Debian Release: testing/unstable
>   APT prefers testing
>   APT policy: (500, 'testing')
> Architecture: i386 (i686)
> Shell:  /bin/sh linked to /bin/bash
> Kernel: Linux 2.6.8-2-k7
> Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
> 
> Versions of packages gcc-4.0 depends on:
> ii  binutils             2.16.1cvs20060413-1 The GNU assembler, linker 
> and bina
> ii  cpp-4.0              4.0.3-3             The GNU C preprocessor
> ii  gcc-4.0-base         4.0.3-3             The GNU Compiler Collection 
> (base
> ii  libc6                2.3.6-15            GNU C Library: Shared libraries
> ii  libgcc1              1:4.1.1-5           GCC support library
> 
> Versions of packages gcc-4.0 recommends:
> ii  libc6-dev                     2.3.6-15   GNU C Library: Development 
> Librari
> pn  libmudflap0-dev               <none>     (no description available)
> 
> -- no debconf information
> 
> 
> 
> -- 
> To UNSUBSCRIBE, email to debian-gcc-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org



Reply to: