This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug libc/13411] New: glibc fails to build with gcc 4.7
- From: "matz at suse dot de" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sources dot redhat dot com
- Date: Tue, 15 Nov 2011 15:22:23 +0000
- Subject: [Bug libc/13411] New: glibc fails to build with gcc 4.7
- Auto-submitted: auto-generated
http://sourceware.org/bugzilla/show_bug.cgi?id=13411
Bug #: 13411
Summary: glibc fails to build with gcc 4.7
Product: glibc
Version: 2.14
Status: NEW
Severity: normal
Priority: P2
Component: libc
AssignedTo: drepper.fsp@gmail.com
ReportedBy: matz@suse.de
Classification: Unclassified
This is also http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51117 .
gcc can emit calls to _Unwind_Resume for files compiled with -fexceptions,
new GCCs do this more often than earlier. This currently leads to a linking
failure due to symbols defined twice:
cc -nostdlib -nostartfiles -r -o /var/tmp/glibc-build/libc_pic.os \
-Wl,-d -Wl,--whole-archive /var/tmp/glibc-build/libc_pic.a -o
/var/tmp/glibc-build/libc_pic.os
gcc -nostdlib -nostartfiles -r -o /var/tmp/glibc-build/elf/librtld.map.o
'-Wl,-(' /var/tmp/glibc-build/elf/dl-allobjs.os /var/tmp/glibc-build/libc_
pic.a -lgcc '-Wl,-)' -Wl,-Map,/var/tmp/glibc-build/elf/librtld.mapT
/var/tmp/glibc-build/libc_pic.a(dl-addr.os): In function
`_dl_addr_inside_object':
/var/tmp/glibc/elf/dl-addr.c:155: multiple definition of
`_dl_addr_inside_object'
/var/tmp/glibc-build/elf/dl-allobjs.os:/var/tmp/glibc/elf/dl-open.c:673: first
defined here
The problem is that dl-addr.so is included in the link, due to this
symbol requirement chain:
dl-allobjs.os (_Unwind_Resume)
unwind-resume.os (__GI___libc_fatal)
libc_fatal.os (__GI___backtrace_symbols_fd)
backtracesymfd.os (__GI__dl_addr)
dl-addr.os
Somehow this chains needs to be broken by either providing one of these
symbols from dl-allobjs.os already, or by not compiling the respective files
with -fexceptions.
I'm not sure why they are compiled with -fexceptions,
-fasynchronous-unwind-tables ought to be enough to make
unwinding through these routines work (it's related to cancellation points,
right?)
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.