From 89f18e25a1c90d17adfc879c8333d5d4a79f49f6 Mon Sep 17 00:00:00 2001 From: Mark Mitchell Date: Mon, 21 Jun 1999 13:11:05 +0000 Subject: [PATCH] * scripttempl/elf.sc (WRITABLE_RODATA): New variable for controlling whether or not .rodata is in the data segment or the text segment. --- ld/ChangeLog | 7 ++++++- ld/scripttempl/elf.sc | 11 ++++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index b1e5071fd..3e2235d81 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,10 +1,15 @@ +1999-06-20 Mark Mitchell + + * scripttempl/elf.sc (WRITABLE_RODATA): New variable for + controlling whether or not .rodata is in the data segment or the + text segment. + 1999-06-18 Nick Clifton * emultempl/pe.em: Add new command line switch --thumb-entry. * emultempl/armelf.em: Add new command line switch --thumb-entry. * emultempl/armcoff.em: Add new command line switch --thumb-entry. * ld.texinfo: Document new ARM command line switch: --thumb-entry. - 1999-06-20 H.J. Lu * configure.in (all_libpath): Accumulate across all enabled targets. diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc index e1fea97d7..afb4ac67c 100644 --- a/ld/scripttempl/elf.sc +++ b/ld/scripttempl/elf.sc @@ -25,6 +25,7 @@ # SHLIB_TEXT_START_ADDR - if set, add to SIZEOF_HEADERS to set # start address of shared library. # INPUT_FILES - INPUT command of files to always include +# WRITABLE_RODATA - if set, the .rodata section should be writable # # When adding sections, do note that the names of some sections are used # when specifying the start address of the next. @@ -40,7 +41,7 @@ test "$LD_FLAG" = "N" && DATA_ADDR=. INTERP=".interp ${RELOCATING-0} : { *(.interp) }" PLT=".plt ${RELOCATING-0} : { *(.plt) }" DYNAMIC=".dynamic ${RELOCATING-0} : { *(.dynamic) }" - +RODATA=".rodata ${RELOCATING-0} : { *(.rodata) ${RELOCATING+*(.rodata.*)} ${RELOCATING+*(.gnu.linkonce.r*)} }" CTOR=".ctors ${CONSTRUCTING-0} : { ${CONSTRUCTING+${CTOR_START}} @@ -180,12 +181,7 @@ SECTIONS ${RELOCATING+_etext = .;} ${RELOCATING+PROVIDE (etext = .);} .fini ${RELOCATING-0} : { KEEP (*(.fini)) } =${NOP-0} - .rodata ${RELOCATING-0} : - { - *(.rodata) - ${RELOCATING+*(.rodata.*)} - ${RELOCATING+*(.gnu.linkonce.r*)} - } + ${WRITABLE_RODATA-${RODATA}} .rodata1 ${RELOCATING-0} : { *(.rodata1) } ${RELOCATING+${OTHER_READONLY_SECTIONS}} @@ -205,6 +201,7 @@ SECTIONS .data1 ${RELOCATING-0} : { *(.data1) } .eh_frame : { *(.eh_frame) } .gcc_except_table : { *(.gcc_except_table) } + ${WRITABLE_RODATA+${RODATA}} ${RELOCATING+${OTHER_READWRITE_SECTIONS}} ${RELOCATING+${CTOR}} ${RELOCATING+${DTOR}} -- 2.11.4.GIT