diff options
author | Mark Mitchell <mark@codesourcery.com> | 1999-06-21 13:11:05 +0000 |
---|---|---|
committer | Mark Mitchell <mark@codesourcery.com> | 1999-06-21 13:11:05 +0000 |
commit | a8e53fb060baeebbf81fa5c0462effe814dfa1c5 (patch) | |
tree | b424287e26b1cd1434470b4b2880e0f9d2d2affe | |
parent | 6094e721e9a8629eed6b5b1585e86885da2300b9 (diff) | |
download | gdb-a8e53fb060baeebbf81fa5c0462effe814dfa1c5.zip gdb-a8e53fb060baeebbf81fa5c0462effe814dfa1c5.tar.gz gdb-a8e53fb060baeebbf81fa5c0462effe814dfa1c5.tar.bz2 |
* scripttempl/elf.sc (WRITABLE_RODATA): New variable for
controlling whether or not .rodata is in the data segment or the
text segment.
-rw-r--r-- | ld/ChangeLog | 7 | ||||
-rw-r--r-- | ld/scripttempl/elf.sc | 11 |
2 files changed, 10 insertions, 8 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index b1e5071..3e2235d 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,10 +1,15 @@ +1999-06-20 Mark Mitchell <mark@codesourcery.com> + + * 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 <nickc@cygnus.com> * 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 <hjl@gnu.org> * configure.in (all_libpath): Accumulate across all enabled targets. diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc index e1fea97..afb4ac6 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}} |