aboutsummaryrefslogtreecommitdiff
path: root/ld/emulparams
diff options
context:
space:
mode:
authorRichard Sandiford <rdsandiford@googlemail.com>2003-10-13 19:48:39 +0000
committerRichard Sandiford <rdsandiford@googlemail.com>2003-10-13 19:48:39 +0000
commit786dbcc3f49a1b9c212e68d8d4f461ea8d3a9bd1 (patch)
tree107dc976c3bd3576ed6561982af8554155ff6f48 /ld/emulparams
parentd1d69fdd54325ee363d1760ac642a7c4ec86bc78 (diff)
downloadgdb-786dbcc3f49a1b9c212e68d8d4f461ea8d3a9bd1.zip
gdb-786dbcc3f49a1b9c212e68d8d4f461ea8d3a9bd1.tar.gz
gdb-786dbcc3f49a1b9c212e68d8d4f461ea8d3a9bd1.tar.bz2
* emulparams/elf32bmipn32-defs.sh (INITIAL_READONLY_SECTIONS): Move
definition from elf64btsmip.sh. (TEXT_DYNAMIC): Likewise elf32btsmipn32.sh. * emulparams/elf32btsmipn32.sh (TEXT_DYNAMIC): Remove. * emulparams/elf64btsmip.sh (INITIAL_READONLY_SECTIONS): Remove. * emulparams/elf64bmip.sh (SHLIB_TEXT_START_ADDR): Define. (EXECUTABLE_SYMBOLS): Set __elf_header correctly for shared objects. Define __program_header_table in terms of __elf_header.
Diffstat (limited to 'ld/emulparams')
-rw-r--r--ld/emulparams/elf32bmipn32-defs.sh3
-rw-r--r--ld/emulparams/elf32btsmipn32.sh2
-rwxr-xr-xld/emulparams/elf64bmip.sh7
-rw-r--r--ld/emulparams/elf64btsmip.sh2
4 files changed, 8 insertions, 6 deletions
diff --git a/ld/emulparams/elf32bmipn32-defs.sh b/ld/emulparams/elf32bmipn32-defs.sh
index 790eecf..ae64e22 100644
--- a/ld/emulparams/elf32bmipn32-defs.sh
+++ b/ld/emulparams/elf32bmipn32-defs.sh
@@ -50,6 +50,7 @@ TEXT_START_SYMBOLS='_ftext = . ;'
DATA_START_SYMBOLS='_fdata = . ;'
OTHER_BSS_SYMBOLS='_fbss = .;'
+INITIAL_READONLY_SECTIONS=".MIPS.options : { *(.MIPS.options) }"
OTHER_SECTIONS="
.MIPS.events.text ${RELOCATING-0} :
{
@@ -75,3 +76,5 @@ OTHER_SECTIONS="
{
*(.MIPS.content.rodata${RELOCATING+ .MIPS.content.gnu.linkonce.r*})
}"
+
+TEXT_DYNAMIC=
diff --git a/ld/emulparams/elf32btsmipn32.sh b/ld/emulparams/elf32btsmipn32.sh
index d287417..6cfa48a 100644
--- a/ld/emulparams/elf32btsmipn32.sh
+++ b/ld/emulparams/elf32btsmipn32.sh
@@ -12,5 +12,3 @@ OTHER_SECTIONS='
.gptab.sdata : { *(.gptab.data) *(.gptab.sdata) }
.gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) }
'
-
-TEXT_DYNAMIC=
diff --git a/ld/emulparams/elf64bmip.sh b/ld/emulparams/elf64bmip.sh
index 7078a78..4673c52 100755
--- a/ld/emulparams/elf64bmip.sh
+++ b/ld/emulparams/elf64bmip.sh
@@ -2,12 +2,15 @@
OUTPUT_FORMAT="elf64-bigmips"
BIG_OUTPUT_FORMAT="elf64-bigmips"
LITTLE_OUTPUT_FORMAT="elf64-littlemips"
+SHLIB_TEXT_START_ADDR=0x3ffffe0000
# IRIX6 defines these symbols. 0x40 is the size of the ELF header.
EXECUTABLE_SYMBOLS="
__dso_displacement = 0;
- __elf_header = ${TEXT_START_ADDR};
- __program_header_table = ${TEXT_START_ADDR} + 0x40;
+ ${CREATE_SHLIB-${CREATE_PIE-__elf_header = ${TEXT_START_ADDR};}}
+ ${CREATE_SHLIB+__elf_header = ${SHLIB_TEXT_START_ADDR};}
+ ${CREATE_PIE+__elf_header = ${SHLIB_TEXT_START_ADDR};}
+ __program_header_table = __elf_header + 0x40;
"
# There are often dynamic relocations against the .rodata section.
diff --git a/ld/emulparams/elf64btsmip.sh b/ld/emulparams/elf64btsmip.sh
index c5b8664..23a20c7 100644
--- a/ld/emulparams/elf64btsmip.sh
+++ b/ld/emulparams/elf64btsmip.sh
@@ -7,7 +7,6 @@ BIG_OUTPUT_FORMAT="elf64-tradbigmips"
LITTLE_OUTPUT_FORMAT="elf64-tradlittlemips"
# Magic sections.
-INITIAL_READONLY_SECTIONS='.MIPS.options : { *(.MIPS.options) }'
OTHER_TEXT_SECTIONS='*(.mips16.fn.*) *(.mips16.call.*)'
OTHER_SECTIONS='
.gptab.sdata : { *(.gptab.data) *(.gptab.sdata) }
@@ -15,4 +14,3 @@ OTHER_SECTIONS='
'
TEXT_START_ADDR="0x120000000"
-TEXT_DYNAMIC=