This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
RFC: Add SHT_GNU_PHDRS
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: gnu-gabi at sourceware dot org, Binutils <binutils at sourceware dot org>
- Date: Wed, 26 Sep 2018 14:53:57 -0700
- Subject: RFC: Add SHT_GNU_PHDRS
When -z separate-code is used to create executable, ld won't place any
data in the code-only PT_LOAD segment. If there are no data sections
placed before the code-only PT_LOAD segment, the program headers
won't be mapped into any PT_LOAD segment. When the executable tries
to access it (based on the program header address passed in AT_PHDR),
it will lead to segfault.
I am proposing
#define SHT_GNU_PHDRS 0x6ffffff4 /* Dummy section for program header */
This is a special read-only SHF_ALLOC zero-size data section. It is the
first output section, which will force a data PT_LOAD segment with program
header before the code-only PT_LOAD segment,
--
H.J.