aboutsummaryrefslogtreecommitdiff
path: root/ld/lexsup.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2018-01-11 19:01:39 -0800
committerH.J. Lu <hjl.tools@gmail.com>2018-01-11 19:01:52 -0800
commit47acac12c83f173481debc64618626b50ecf7498 (patch)
treee48aae92826c2b354a47ca3721c85cfa93b4194e /ld/lexsup.c
parent6181e9c2c5ba252ac016f51903dc35d7bfbbca71 (diff)
downloadfsf-binutils-gdb-47acac12c83f173481debc64618626b50ecf7498.zip
fsf-binutils-gdb-47acac12c83f173481debc64618626b50ecf7498.tar.gz
fsf-binutils-gdb-47acac12c83f173481debc64618626b50ecf7498.tar.bz2
ld: Add "-z separate-code" option to ELF linker
The new "-z separate-code" option will generate separate code LOAD segment which must be in wholly disjoint pages from any other data. include/ PR ld/22393 * bfdlink.h (bfd_link_info): Add separate_code. ld/ PR ld/22393 * NEWS: Mention "-z separate-code". * emultempl/elf32.em (gld${EMULATION_NAME}_get_script): Get builtin linker scripts and return linker scripts from disk for "-z separate-code". (gld${EMULATION_NAME}_handle_option): Handle "-z separate-code" and "-z noseparate-code". * genscripts.sh: Generate linker scripts for "-z separate-code". (LD_FLAG): Set to *textonly for "-z separate-code". * ld.texinfo: Document "-z separate-code". * lexsup.c (elf_shlib_list_options): Add linker help messsages for "-z separate-code" and "-z noseparate-code". * scripttempl/elf.sc (SEPARATE_TEXT): New (TEXT_SEGMENT_ALIGN): Likewise. Use ${TEXT_SEGMENT_ALIGN} to align and pad text segment to ${MAXPAGESIZE}.
Diffstat (limited to 'ld/lexsup.c')
-rw-r--r--ld/lexsup.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/ld/lexsup.c b/ld/lexsup.c
index 8ed7070..f219160 100644
--- a/ld/lexsup.c
+++ b/ld/lexsup.c
@@ -1788,6 +1788,10 @@ elf_shlib_list_options (FILE *file)
-z norelro Don't create RELRO program header (default)\n"));
#endif
fprintf (file, _("\
+ -z separate-code Create separate code program header\n"));
+ fprintf (file, _("\
+ -z noseparate-code Don't create separate code program header (default)\n"));
+ fprintf (file, _("\
-z common Generate common symbols with STT_COMMON type\n"));
fprintf (file, _("\
-z nocommon Generate common symbols with STT_OBJECT type\n"));