I have been seeing the message looping in map_segments from collect2. The
problem, and a possible fix, are discussed at
http://sourceware.org/ml/binutils/2006-12/msg00238.html. I downloaded and built
the latest available binutils (2.19.1) but the problem remained; looking at the
sources the fix
--- Additional Comments From nickc at redhat dot com 2009-07-15 15:05
---
Hi Richard,
Please could you upload a (small) test case so that we can reproduce the
problem ? Ideally we would like to be able to include this test case in the
linker testsuite as well, in order to make sure
--- Additional Comments From gnu at broadmeadow dot eu 2009-07-15 15:11
---
I knew you'd ask for that!
I haven't done so because we're seeing it on a large app consisting of many
linked objects. I'll see if I can work out a smaller example.
--
--- Additional Comments From branditox at hotmail dot com 2009-07-15 19:09
---
I am getting this same error:
collect2: ld terminated with signal 11 [Segmentation fault]
My system information:
Red Hat Enterprise Linux ES release 4 (Nahant Update 4)
Linux 2.6.9-42.0.10.ELsmp
g++ (GCC)
When multiple incompatible COMDAT sections are present, gold selects one,
but doesn't discard .debug_* and .eh_frame bits which refer to the other ones.
This then shows up as glitches in debugging the resulting executable under GDB.
Test:
--- cut --- test.h ---
#include stdio.h
inline int
--- Additional Comments From ian at airs dot com 2009-07-16 00:08 ---
I don't see any problem in the .eh_frame section. It appears to me that
.eh_frame information for discarded sections is indeed being discarded.
I do see duplication in the .debug_frame section. Note that readelf -wf
--- Additional Comments From ppluzhnikov at google dot com 2009-07-16
00:12 ---
Sorry, my mistake.
Indeed it's the .debug_frame that is a problem (GDB uses both).
--
http://sourceware.org/bugzilla/show_bug.cgi?id=10400
--- You are receiving this mail because: ---
You are on
--- Additional Comments From ian at airs dot com 2009-07-16 05:32 ---
Created an attachment (id=4055)
-- (http://sourceware.org/bugzilla/attachment.cgi?id=4055action=view)
Patch
The difference between gold and GNU ld seems to be that when GNU ld sees a
comdat section with a different