From: H.J. Lu Date: Sat, 17 Feb 2018 22:54:16 +0000 (-0800) Subject: ld-elf/ehdr_start: Pass --build-id to ld X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d85502cffa5e41db6f2f2e1ba11d4285918dccdb;p=binutils-gdb.git ld-elf/ehdr_start: Pass --build-id to ld ld-elf/ehdr_start fails with -z separate-code. Since there is no data LOAD segment before code LOAD segment: There are 2 program headers, starting at offset 64 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x200000 0x0000000000600000 0x0000000000600000 0x000010 0x000010 R E 0x200000 LOAD 0x400000 0x0000000000800000 0x0000000000800000 0x000008 0x000008 R 0x200000 Section to Segment mapping: Segment Sections... 00 .text 01 .rodata the program header isn't included in any LOAD segment. As the result, reference to __ehdr_start is resolved to zero. Pass --build-id to ld to add a data LOAD segment before code LOAD segment to put the program header in the data LOAD segment. PR ld/22845 * testsuite/ld-elf/ehdr_start.d: Pass --build-id to ld. --- diff --git a/ld/ChangeLog b/ld/ChangeLog index 811741f45ab..2f022ec7a78 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,8 @@ +2018-02-17 H.J. Lu + + PR ld/22845 + * testsuite/ld-elf/ehdr_start.d: Pass --build-id to ld. + 2018-02-17 H.J. Lu PR ld/22845 diff --git a/ld/testsuite/ld-elf/ehdr_start.d b/ld/testsuite/ld-elf/ehdr_start.d index d538b66d9d3..14a85d03e78 100644 --- a/ld/testsuite/ld-elf/ehdr_start.d +++ b/ld/testsuite/ld-elf/ehdr_start.d @@ -1,5 +1,5 @@ #source: ehdr_start.s -#ld: -e _start +#ld: -e _start --build-id #nm: -n #target: *-*-linux* *-*-gnu* *-*-nacl* #xfail: frv-*-*