This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH] ld-elf/ehdr_start: Pass --build-id to ld
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Binutils <binutils at sourceware dot org>
- Date: Sat, 17 Feb 2018 06:56:59 -0800
- Subject: Re: [PATCH] ld-elf/ehdr_start: Pass --build-id to ld
- Authentication-results: sourceware.org; auth=none
- References: <20180216164955.26757-1-hjl.tools@gmail.com>
On Fri, Feb 16, 2018 at 8:49 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
> 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.
> ---
> ld/testsuite/ld-elf/ehdr_start.d | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/ld/testsuite/ld-elf/ehdr_start.d b/ld/testsuite/ld-elf/ehdr_start.d
> index d538b66d9d..14a85d03e7 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-*-*
> --
> 2.14.3
>
I'd like to check it next week if there are no objections.
Thanks.
--
H.J.