[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/17553] .eh_frame_hdr table[0] FDE at 00000978 overlaps table[1]
From: |
glaubitz at physik dot fu-berlin.de |
Subject: |
[Bug ld/17553] .eh_frame_hdr table[0] FDE at 00000978 overlaps table[1] FDE at 000009a0 when not using "-Wl,-traditional" on sh4 |
Date: |
Fri, 07 Nov 2014 12:40:28 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=17553
--- Comment #11 from glaubitz at physik dot fu-berlin.de <glaubitz at physik
dot fu-berlin.de> ---
(In reply to Alan Modra from comment #10)
> That map file isn't from linking the objects you attached here.
Oh, you're right, sorry. Just re-downloaded the object files from the bug
tracker here and ran the linker again.
We also did some more tests and it turns out that binutils work fine when
compiled with gcc-4.6, so it seems to be an issue with gcc-4.9.
Here is the run with the proper object files nevertheless:
address@hidden:~/adrian-ldtest$ ld -v
GNU ld (GNU Binutils for Debian) 2.24.90.20141104
address@hidden:~/adrian-ldtest$ ld -shared --eh-frame-hdr -o test.so test1.o
test2.o --print-map
ld: .eh_frame_hdr table[0] FDE at 00000500 overlaps table[1] FDE at 00000528.
Discarded input sections
.group 0x00000000 0x8 test1.o
.group 0x00000000 0xc test1.o
.note.GNU-stack
0x00000000 0x0 test1.o
.group 0x00000000 0x8 test2.o
.group 0x00000000 0xc test2.o
.text._ZN1XD2Ev
0x00000000 0x16 test2.o
.text._Z9xkcd_randv
0x00000000 0x68 test2.o
.gcc_except_table._Z9xkcd_randv
0x00000000 0xc test2.o
.note.GNU-stack
0x00000000 0x0 test2.o
Memory Configuration
Name Origin Length Attributes
*default* 0x00000000 0xffffffff
Linker script and memory map
LOAD test1.o
LOAD test2.o
0x000000d4 . = (0x0 + SIZEOF_HEADERS)
.note.gnu.build-id
*(.note.gnu.build-id)
.hash 0x000000d4 0x50
*(.hash)
.hash 0x000000d4 0x50 test1.o
.gnu.hash
*(.gnu.hash)
.dynsym 0x00000124 0xf0
*(.dynsym)
.dynsym 0x00000124 0xf0 test1.o
.dynstr 0x00000214 0xa7
*(.dynstr)
.dynstr 0x00000214 0xa7 test1.o
.gnu.version 0x000002bc 0x0
*(.gnu.version)
.gnu.version 0x000002bc 0x0 test1.o
.gnu.version_d 0x000002bc 0x0
*(.gnu.version_d)
.gnu.version_d
0x000002bc 0x0 test1.o
.gnu.version_r 0x000002bc 0x0
*(.gnu.version_r)
.gnu.version_r
0x000002bc 0x0 test1.o
.rela.dyn 0x000002bc 0x90
*(.rela.init)
*(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
.rela.text 0x000002bc 0x18 test1.o
.rela.text._Z9xkcd_randv
0x000002d4 0x48 test1.o
*(.rela.fini)
*(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
*(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
*(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
*(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
*(.rela.ctors)
*(.rela.dtors)
*(.rela.got)
.rela.got 0x0000031c 0x0 test1.o
*(.rela.sdata .rela.sdata.* .rela.gnu.linkonce.s.*)
*(.rela.sbss .rela.sbss.* .rela.gnu.linkonce.sb.*)
*(.rela.sdata2 .rela.sdata2.* .rela.gnu.linkonce.s2.*)
*(.rela.sbss2 .rela.sbss2.* .rela.gnu.linkonce.sb2.*)
*(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
*(.rela.iplt)
.rela.got.funcdesc
0x0000031c 0x0 test1.o
.rela.eh_frame
0x0000031c 0x30 test1.o
.rela.plt 0x0000034c 0x0
*(.rela.plt)
.rela.plt 0x0000034c 0x0 test1.o
.init
*(SORT(.init))
.plt 0x0000034c 0x0
*(.plt)
.plt 0x0000034c 0x0 test1.o
.iplt
*(.iplt)
.text 0x0000034c 0xc8
*(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
*(.text .stub .text.* .gnu.linkonce.t.*)
.text 0x0000034c 0x24 test1.o
0x0000034c f1()
.text._ZN1XD2Ev
0x00000370 0x16 test1.o
0x00000370 X::~X()
0x00000370 X::~X()
*fill* 0x00000386 0x2
.text._Z9xkcd_randv
0x00000388 0x68 test1.o
0x00000388 xkcd_rand()
.text 0x000003f0 0x24 test2.o
0x000003f0 f2()
*(.gnu.warning)
.fini
*(SORT(.fini))
0x00000414 PROVIDE (__etext, .)
0x00000414 PROVIDE (_etext, .)
0x00000414 PROVIDE (etext, .)
.rodata
*(.rodata .rodata.* .gnu.linkonce.r.*)
.rofixup 0x00000414 0x0
.rofixup 0x00000414 0x0 test1.o
.rodata1
*(.rodata1)
.eh_frame_hdr 0x00000414 0x3c
*(.eh_frame_hdr)
.eh_frame_hdr 0x00000414 0x3c test1.o
.eh_frame 0x00000450 0x130
*(.eh_frame)
.eh_frame 0x00000450 0xb0 test1.o
.eh_frame 0x00000500 0x80 test2.o
0xb0 (size before relaxing)
.gcc_except_table
0x00000580 0xc
*(.gcc_except_table .gcc_except_table.*)
.gcc_except_table._Z9xkcd_randv
0x00000580 0xc test1.o
.exception_ranges
*(.exception_ranges .exception_ranges*)
0x0000058c . = (ALIGN (0x10000) - ((0x10000 - .)
& 0xffff))
0x0001058c . = DATA_SEGMENT_ALIGN (0x10000,
0x1000)
.eh_frame
*(.eh_frame)
.gcc_except_table
*(.gcc_except_table .gcc_except_table.*)
.exception_ranges
*(.exception_ranges .exception_ranges*)
.tdata
*(.tdata .tdata.* .gnu.linkonce.td.*)
.tbss
*(.tbss .tbss.* .gnu.linkonce.tb.*)
*(.tcommon)
.preinit_array
*(.preinit_array)
.init_array
*(SORT(.init_array.*) SORT(.ctors.*))
*(.init_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o)
.ctors)
.fini_array
*(SORT(.fini_array.*) SORT(.dtors.*))
*(.fini_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o)
.dtors)
.ctors
*crtbegin.o(.ctors)
*crtbegin?.o(.ctors)
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)
*(SORT(.ctors.*))
*(.ctors)
.dtors
*crtbegin.o(.dtors)
*crtbegin?.o(.dtors)
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)
*(SORT(.dtors.*))
*(.dtors)
.jcr
*(.jcr)
.data.rel.ro
*(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*)
*(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*)
.dynamic 0x0001058c 0x78
*(.dynamic)
.dynamic 0x0001058c 0x78 test1.o
0x0001058c _DYNAMIC
0x00010604 . = DATA_SEGMENT_RELRO_END (., 0x0)
.data 0x00010604 0x0
0x00010604 PROVIDE (__data_start, .)
*(.data .data.* .gnu.linkonce.d.*)
.data 0x00010604 0x0 test1.o
.data 0x00010604 0x0 test2.o
.got.funcdesc 0x00010604 0x0
.got.funcdesc 0x00010604 0x0 test1.o
.data1
*(.data1)
.note.ABI-tag
*(.note.ABI-tag)
.got 0x00010604 0xc
*(.got.plt)
.got.plt 0x00010604 0xc test1.o
0x00010604 _GLOBAL_OFFSET_TABLE_
*(.igot.plt)
*(.got)
.got 0x00010610 0x0 test1.o
*(.igot)
.sdata
*(.sdata2 .sdata2.* .gnu.linkonce.s2.*)
*(.sdata .sdata.* .gnu.linkonce.s.*)
0x00010610 _edata = .
0x00010610 PROVIDE (edata, .)
0x00010610 . = .
0x00010610 __bss_start = .
.sbss
*(.sbss2 .sbss2.* .gnu.linkonce.sb2.*)
*(.dynsbss)
*(.sbss .sbss.* .gnu.linkonce.sb.*)
*(.scommon)
.bss 0x00010610 0x0
*(.dynbss)
.dynbss 0x00010610 0x0 test1.o
*(.bss .bss.* .gnu.linkonce.b.*)
.bss 0x00010610 0x0 test1.o
.bss 0x00010610 0x0 test2.o
*(COMMON)
0x00010610 . = ALIGN ((. != 0x0)?0x4:0x1)
0x00010610 . = ALIGN (0x4)
0x00010610 . = SEGMENT_START ("ldata-segment",
.)
0x00010610 . = ALIGN (0x4)
0x00010610 _end = .
0x00010610 PROVIDE (end, .)
0x00010610 . = DATA_SEGMENT_END (.)
.stab
*(.stab)
.stabstr
*(.stabstr)
.stab.excl
*(.stab.excl)
.stab.exclstr
*(.stab.exclstr)
.stab.index
*(.stab.index)
.stab.indexstr
*(.stab.indexstr)
.comment 0x00000000 0x1d
*(.comment)
.comment 0x00000000 0x1d test1.o
0x1e (size before relaxing)
.comment 0x0000001d 0x1e test2.o
.debug
*(.debug)
.line
*(.line)
.debug_srcinfo
*(.debug_srcinfo)
.debug_sfnames
*(.debug_sfnames)
.debug_aranges
*(.debug_aranges)
.debug_pubnames
*(.debug_pubnames)
.debug_info
*(.debug_info .gnu.linkonce.wi.*)
.debug_abbrev
*(.debug_abbrev)
.debug_line
*(.debug_line .debug_line.* .debug_line_end)
.debug_frame
*(.debug_frame)
.debug_str
*(.debug_str)
.debug_loc
*(.debug_loc)
.debug_macinfo
*(.debug_macinfo)
.debug_weaknames
*(.debug_weaknames)
.debug_funcnames
*(.debug_funcnames)
.debug_typenames
*(.debug_typenames)
.debug_varnames
*(.debug_varnames)
.debug_pubtypes
*(.debug_pubtypes)
.debug_ranges
*(.debug_ranges)
.debug_macro
*(.debug_macro)
.gnu.attributes
*(.gnu.attributes)
/DISCARD/
*(.note.GNU-stack)
*(.gnu_debuglink)
*(.gnu.lto_*)
OUTPUT(test.so elf32-sh-linux)
address@hidden:~/adrian-ldtest$
--
You are receiving this mail because:
You are on the CC list for the bug.
- [Bug ld/17553] .eh_frame_hdr table[0] FDE at 00000978 overlaps table[1] FDE at 000009a0 when not using "-Wl,-traditional" on sh4, (continued)
- [Bug ld/17553] .eh_frame_hdr table[0] FDE at 00000978 overlaps table[1] FDE at 000009a0 when not using "-Wl,-traditional" on sh4, amodra at gmail dot com, 2014/11/04
- [Bug ld/17553] .eh_frame_hdr table[0] FDE at 00000978 overlaps table[1] FDE at 000009a0 when not using "-Wl,-traditional" on sh4, kkojima at rr dot iij4u.or.jp, 2014/11/04
- [Bug ld/17553] .eh_frame_hdr table[0] FDE at 00000978 overlaps table[1] FDE at 000009a0 when not using "-Wl,-traditional" on sh4, glaubitz at physik dot fu-berlin.de, 2014/11/05
- [Bug ld/17553] .eh_frame_hdr table[0] FDE at 00000978 overlaps table[1] FDE at 000009a0 when not using "-Wl,-traditional" on sh4, amodra at gmail dot com, 2014/11/05
- [Bug ld/17553] .eh_frame_hdr table[0] FDE at 00000978 overlaps table[1] FDE at 000009a0 when not using "-Wl,-traditional" on sh4, glaubitz at physik dot fu-berlin.de, 2014/11/05
- [Bug ld/17553] .eh_frame_hdr table[0] FDE at 00000978 overlaps table[1] FDE at 000009a0 when not using "-Wl,-traditional" on sh4, glaubitz at physik dot fu-berlin.de, 2014/11/05
- [Bug ld/17553] .eh_frame_hdr table[0] FDE at 00000978 overlaps table[1] FDE at 000009a0 when not using "-Wl,-traditional" on sh4, glaubitz at physik dot fu-berlin.de, 2014/11/05
- [Bug ld/17553] .eh_frame_hdr table[0] FDE at 00000978 overlaps table[1] FDE at 000009a0 when not using "-Wl,-traditional" on sh4, amodra at gmail dot com, 2014/11/05
- [Bug ld/17553] .eh_frame_hdr table[0] FDE at 00000978 overlaps table[1] FDE at 000009a0 when not using "-Wl,-traditional" on sh4, glaubitz at physik dot fu-berlin.de, 2014/11/06
- [Bug ld/17553] .eh_frame_hdr table[0] FDE at 00000978 overlaps table[1] FDE at 000009a0 when not using "-Wl,-traditional" on sh4, amodra at gmail dot com, 2014/11/06
- [Bug ld/17553] .eh_frame_hdr table[0] FDE at 00000978 overlaps table[1] FDE at 000009a0 when not using "-Wl,-traditional" on sh4,
glaubitz at physik dot fu-berlin.de <=
- [Bug ld/17553] .eh_frame_hdr table[0] FDE at 00000978 overlaps table[1] FDE at 000009a0 when not using "-Wl,-traditional" on sh4, amodra at gmail dot com, 2014/11/07
- [Bug ld/17553] .eh_frame_hdr table[0] FDE at 00000978 overlaps table[1] FDE at 000009a0 when not using "-Wl,-traditional" on sh4, glaubitz at physik dot fu-berlin.de, 2014/11/08