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

Bug#667025: marked as done (gcc-4.7-multilib: fails to find libgcc when linking a x32 binary)



Your message dated Tue, 27 Nov 2012 08:16:21 +0100
with message-id <50B468C5.4070902@debian.org>
and subject line fixed in 4.7.2-11
has caused the Debian Bug report #667025,
regarding gcc-4.7-multilib: fails to find libgcc when linking a x32 binary
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
667025: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=667025
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
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



--- End Message ---
--- Begin Message ---
Version: 4.7.2-11

--- End Message ---

Reply to: