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

Bug#667005: gcc-4.7-multilib: fails to find libgcc when linking a x32 binary



Package: gcc-4.7-multilib
Version: 4.7.0-1
Severity: normal

Dear gcc maintainer,

Since version 4.7 gcc is able to produce x32 binaries. Unfortunately
this feature is not currently usable in Debian sid.

$ cat true.c
int main(void) { return 0; }
$ gcc-4.7 true.c # everything works
$ gcc-4.7 -m32 true.c # same
$ gcc-4.7 -mx32 true.c
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/libgcc.a when searching for -lgcc
/usr/bin/ld: cannot find -lgcc
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/libgcc_s.so when searching for -lgcc_s
/usr/bin/ld: cannot find -lgcc_s
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/libc.so when searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/libc.a when searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libc.so when searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libc.a when searching for -lc
/usr/bin/ld: cannot find -lc
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/libgcc.a when searching for -lgcc
/usr/bin/ld: cannot find -lgcc
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/libgcc_s.so when searching for -lgcc_s
/usr/bin/ld: cannot find -lgcc_s
collect2: error: ld returned 1 exit status
$

The expected behaviour would have been the creation of a x32 a.out
executable ELF binary.

I do not expect this issue to have a trivial solution. There are
multiple issues:
1) A x32 version of libgcc is missing.
2) A x32 version of libc is missing. This will require changes to glibc.
3) A wrong search path is used. The first part of the architecture
   triplet should be x32 instead of x86_64.

Helmut

-- System Information:
Versions of packages gcc-4.7-multilib depends on:
ii  gcc-4.7         4.7.0-1
ii  gcc-4.7-base    4.7.0-1
ii  lib32gcc1       1:4.7.0-1
ii  lib32gomp1      4.7.0-1
ii  lib32itm1       4.7.0-1
ii  lib32quadmath0  4.7.0-1
ii  libc6-dev-i386  2.13-27



Reply to: