[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug gold/6658] New: gold SEGVs when linking, apparently due to a .eh_fr
From: |
me at cgf dot cx |
Subject: |
[Bug gold/6658] New: gold SEGVs when linking, apparently due to a .eh_frame section |
Date: |
19 Jun 2008 20:09:04 -0000 |
I just had gold segv when trying to link a freebsd shared library.
Through trial or error, I tracked the problem down to the .eh_frame
section in crtbeginS.o. If I remove that frame it works. If I add a
--eh-frame-header option to the gold command line, it fails an
assertion: agold_assert(found) at line 948 in
gold::Merged_symbol_value<64>::value_from_output_section .
I can work around this by removing the .eh_frame section for now but I
thought you'd like to know about this.
(Although I realize you probably won't be able to do anything since your
at the gcc symposium)
The segv is here:
#0 0x0000000000581100 in
gold::Eh_frame_hdr::found_unrecognized_eh_frame_section (this=0x0) at
../../gold/ehframe.h:60
60 { this->any_unrecognized_eh_frame_sections_ = true; }
#1 0x000000000058ce67 in gold::Eh_frame::add_ehframe_input_section<64, false>
(this=0xbadf6e0, object=0xbb0bf40, symbols=0x2b3a2c9b6568 "", symbols_size=384,
symbol_names=0x2b3a2c9b66e8 "", symbol_names_size=86, shndx=7,
reloc_shndx=8, reloc_type=4) at ../../gold/ehframe.cc:560
#2 0x0000000000474f62 in gold::Layout::layout_eh_frame<64, false>
(this=0x7fff7e0facf0, object=0xbb0bf40, symbols=0x2b3a2c9b6568 "",
symbols_size=384, symbol_names=0x2b3a2c9b66e8 "", symbol_names_size=86, shndx=7,
address@hidden, reloc_shndx=8, reloc_type=4, off=0x7fff7e0f80f8) at
../../gold/layout.cc:650
#3 0x0000000000498e03 in gold::Sized_relobj<64, false>::do_layout
(this=0xbb0bf40, symtab=0x7fff7e0fafb0, layout=0x7fff7e0facf0, sd=0xbb0c130) at
../../gold/object.cc:1030
#4 0x00000000004e4cf2 in gold::Object::layout (this=0xbb0bf40,
symtab=0x7fff7e0fafb0, layout=0x7fff7e0facf0, sd=0xbb0c130) at
../../gold/object.h:339
#5 0x00000000004e41f6 in gold::Add_symbols::run (this=0xbae0600) at
../../gold/readsyms.cc:367
#6 0x000000000054c18a in gold::Workqueue::find_and_run_task
(this=0x7fff7e0fb220, thread_number=0) at ../../gold/workqueue.cc:314
#7 0x000000000054c313 in gold::Workqueue::process (this=0x7fff7e0fb220,
thread_number=0) at ../../gold/workqueue.cc:480
#8 0x00000000004041d9 in main (argc=13, argv=0x7fff7e0fb458) at
../../gold/main.cc:218
The stack trace from the assert is:
#0 gold::Merged_symbol_value<64>::value_from_output_section (this=0x1ef885f0,
object=0x1ef33070, input_shndx=10, input_offset=0) at ../../gold/reloc.cc:948
#1 0x0000000000428f32 in gold::Merged_symbol_value<64>::value (this=0x1ef885f0,
object=0x1ef33070, input_shndx=10, addend=0) at ../../gold/object.h:900
#2 0x0000000000428fbf in gold::Symbol_value<64>::value<false> (this=0x1ef333f0,
object=0x1ef33070, addend=0) at ../../gold/object.h:949
#3 0x00000000004d26a7 in gold::Output_reloc<9, true, 64, false>::symbol_value
(this=0x1ef649a0, addend=0) at ../../gold/output.cc:924
#4 0x00000000004d2702 in gold::Output_reloc<4, true, 64, false>::write
(this=0x1ef649a0, pov=0x2b90c2f6d750 "(0") at ../../gold/output.cc:989
#5 0x00000000004d27f1 in gold::Output_data_reloc_base<4, true, 64,
false>::do_write (this=0x1ef609e0, of=0x1ef44cb0) at ../../gold/output.cc:1039
#6 0x000000000046b4e2 in gold::Output_data::write (this=0x1ef609e0,
file=0x1ef44cb0) at ../../gold/output.h:206
#7 0x00000000004ae738 in gold::Output_section::Input_section::write
(this=0x1ef60b80, of=0x1ef44cb0) at ../../gold/output.cc:1691
#8 0x00000000004b0dfa in gold::Output_section::do_write (this=0x1ef60aa0,
of=0x1ef44cb0) at ../../gold/output.cc:2424
#9 0x000000000046b4e2 in gold::Output_data::write (this=0x1ef60aa0,
file=0x1ef44cb0) at ../../gold/output.h:206
#10 0x0000000000463c5c in gold::Layout::write_output_sections
(this=0x7fffe7b4d740, of=0x1ef44cb0) at ../../gold/layout.cc:2978
#11 0x0000000000463cb1 in gold::Write_sections_task::run (this=0x1ef63d40) at
../../gold/layout.cc:3207
#12 0x000000000054c18a in gold::Workqueue::find_and_run_task
(this=0x7fffe7b4dc70, thread_number=0) at ../../gold/workqueue.cc:314
#13 0x000000000054c313 in gold::Workqueue::process (this=0x7fffe7b4dc70,
thread_number=0) at ../../gold/workqueue.cc:480
#14 0x00000000004041d9 in main (argc=14, argv=0x7fffe7b4dea8) at
../../gold/main.cc:218
objdump -h from crtbeginS.o:
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 000000a4 0000000000000000 0000000000000000 00000040 2**4
CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
1 .data 00000000 0000000000000000 0000000000000000 000000e4 2**2
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000050 0000000000000000 0000000000000000 00000100 2**5
ALLOC
3 .ctors 00000008 0000000000000000 0000000000000000 00000100 2**3
CONTENTS, ALLOC, LOAD, DATA
4 .dtors 00000008 0000000000000000 0000000000000000 00000108 2**3
CONTENTS, ALLOC, LOAD, DATA
5 .eh_frame 00000058 0000000000000000 0000000000000000 00000110 2**3
CONTENTS, ALLOC, LOAD, RELOC, READONLY, DATA
6 .jcr 00000000 0000000000000000 0000000000000000 00000168 2**3
CONTENTS, ALLOC, LOAD, DATA
7 .data.rel 00000008 0000000000000000 0000000000000000 00000168 2**3
CONTENTS, ALLOC, LOAD, RELOC, DATA
8 .data.rel.local 00000008 0000000000000000 0000000000000000 00000170 2**3
CONTENTS, ALLOC, LOAD, RELOC, DATA
9 .fini 00000005 0000000000000000 0000000000000000 00000178 2**0
CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
10 .init 00000005 0000000000000000 0000000000000000 0000017d 2**0
CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
11 .comment 00000023 0000000000000000 0000000000000000 00000182 2**0
CONTENTS, READONLY
--
Summary: gold SEGVs when linking, apparently due to a .eh_frame
section
Product: binutils
Version: 2.19 (HEAD)
Status: NEW
Severity: normal
Priority: P2
Component: gold
AssignedTo: ian at airs dot com
ReportedBy: me at cgf dot cx
CC: bug-binutils at gnu dot org
GCC build triplet: x86_64-rhel5-linux
GCC host triplet: x86_64-rhel5-linux
GCC target triplet: x86_64-unknown-freebsd6.0
http://sourceware.org/bugzilla/show_bug.cgi?id=6658
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
- [Bug gold/6658] New: gold SEGVs when linking, apparently due to a .eh_frame section,
me at cgf dot cx <=