aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>1999-06-21 13:11:05 +0000
committerMark Mitchell <mark@codesourcery.com>1999-06-21 13:11:05 +0000
commita8e53fb060baeebbf81fa5c0462effe814dfa1c5 (patch)
treeb424287e26b1cd1434470b4b2880e0f9d2d2affe
parent6094e721e9a8629eed6b5b1585e86885da2300b9 (diff)
downloadgdb-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/ChangeLog7
-rw-r--r--ld/scripttempl/elf.sc11
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}}