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: