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

Bug#401607: gcc-4.1: -m32 does not link



Package: gcc-4.1
Version: 4.1.1-20
Severity: important

I tried to compile a small test-program for 32 bit and got these
results:



bash> gcc-4.1  -m32 hello.c
/usr/bin/ld: warning: i386:x86-64 architecture of input file
`/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../crt1.o' is incompatible
with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file
`/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../crti.o' is incompatible
with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file
`/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../crtn.o' is incompatible
with i386 output
/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../crt1.o: In function
`_start':
../sysdeps/x86_64/elf/start.S:106: undefined reference to
`__libc_csu_fini'
../sysdeps/x86_64/elf/start.S:107: undefined reference to
`__libc_csu_init'
collect2: ld returned 1 exit status



There is definetly something wrong with the configuration for 32bit. 

I run the same command with the -v paramater:


gcc-4.1 -v -m32 hello.c
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v
--enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr
--enable-shared --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --enable-nls
--program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu
--enable-libstdcxx-debug --enable-mpfr --enable-checking=release
x86_64-linux-gnu
Thread model: posix
gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-20)
 /usr/lib/gcc/x86_64-linux-gnu/4.1.2/cc1 -quiet -v -imultilib 32 hello.c
-quiet -dumpbase hello.c -m32 -mtune=k8 -auxbase hello -version -o
/tmp/ccxxGJNu.s
ignoring nonexistent directory "/usr/local/include/i486-linux-gnu"
ignoring nonexistent directory
"/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../x86_64-linux-gnu/include"
ignoring nonexistent directory "/usr/include/i486-linux-gnu"
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/include
 /usr/lib/gcc/x86_64-linux-gnu/4.1.2/include
 /usr/include
End of search list.
GNU C version 4.1.2 20061115 (prerelease) (Debian 4.1.1-20)
(x86_64-linux-gnu)
        compiled by GNU C version 4.1.2 20061115 (prerelease) (Debian
4.1.1-20).GGC heuristics: --param ggc-min-expand=100 --param
ggc-min-heapsize=131072
Compiler executable checksum: f5a91108f2cbeff5e0da6451f04d3f30
hello.c: In function ‘main’:
hello.c:3: warning: incompatible implicit declaration of built-in
function ‘printf’
 as -V -Qy --32 -o /tmp/ccOPrViR.o /tmp/ccxxGJNu.s
GNU assembler version 2.17 (x86_64-linux-gnu) using BFD version 2.17
Debian GNU/Linux
 /usr/lib/gcc/x86_64-linux-gnu/4.1.2/collect2 --eh-frame-hdr -m elf_i386
-dynamic-linker /lib/ld-linux.so.2
/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../crt1.o
/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../crti.o
/usr/lib/gcc/x86_64-linux-gnu/4.1.2/32/crtbegin.o
-L/usr/lib/gcc/x86_64-linux-gnu/4.1.2/32
-L/usr/lib/gcc/x86_64-linux-gnu/4.1.2/32
-L/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../lib32 -L/lib/../lib32
-L/usr/lib/../lib32 /tmp/ccOPrViR.o -lgcc --as-needed -lgcc_s
--no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed
/usr/lib/gcc/x86_64-linux-gnu/4.1.2/32/crtend.o
/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../crtn.o
/usr/bin/ld: warning: i386:x86-64 architecture of input file
`/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../crt1.o' is incompatible
with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file
`/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../crti.o' is incompatible
with i386 output
/usr/bin/ld: warning: i386:x86-64 architecture of input file
`/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../crtn.o' is incompatible
with i386 output
/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../crt1.o: In function
`_start':
../sysdeps/x86_64/elf/start.S:106: undefined reference to
`__libc_csu_fini'
../sysdeps/x86_64/elf/start.S:107: undefined reference to
`__libc_csu_init'
collect2: ld returned 1 exit status


So the switch to 32bit was more or less half successful. 

Please insert these files!



-- System Information:
Debian Release: 4.0
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.19
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)

Versions of packages gcc-4.1 depends on:
ii  binutils                     2.17-3      The GNU assembler, linker and bina
ii  cpp-4.1                      4.1.1-20    The GNU C preprocessor
ii  gcc-4.1-base                 4.1.1-20    The GNU Compiler Collection (base 
ii  libc6                        2.3.6.ds1-8 GNU C Library: Shared libraries
ii  libgcc1                      1:4.1.1-20  GCC support library
ii  libssp0                      4.1.1-20    GCC stack smashing protection libr

Versions of packages gcc-4.1 recommends:
ii  libc6-dev                    2.3.6.ds1-8 GNU C Library: Development Librari
pn  libmudflap0-dev              <none>      (no description available)

-- no debconf information



Reply to: