summaryrefslogtreecommitdiff
path: root/ld/emulparams/elf64bmip.sh
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/elf64bmip.sh
parentd1d69fdd54325ee363d1760ac642a7c4ec86bc78 (diff)
downloadbinutils-gdb-786dbcc3f49a1b9c212e68d8d4f461ea8d3a9bd1.tar.gz
* 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/elf64bmip.sh')
-rwxr-xr-xld/emulparams/elf64bmip.sh7
1 files changed, 5 insertions, 2 deletions
diff --git a/ld/emulparams/elf64bmip.sh b/ld/emulparams/elf64bmip.sh
index 7078a788af9..4673c52bcca 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.