* emulparams/elf32bmipn32-defs.sh (INITIAL_READONLY_SECTIONS): Move
authorRichard Sandiford <rdsandiford@googlemail.com>
Mon, 13 Oct 2003 19:48:39 +0000 (19:48 +0000)
committerRichard Sandiford <rdsandiford@googlemail.com>
Mon, 13 Oct 2003 19:48:39 +0000 (19:48 +0000)
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.

ld/ChangeLog
ld/emulparams/elf32bmipn32-defs.sh
ld/emulparams/elf32btsmipn32.sh
ld/emulparams/elf64bmip.sh
ld/emulparams/elf64btsmip.sh

index 0f91e79ed765b5eb12b0850e000d93eeb29d71a4..0f1ce221722e77a9ca9032014670e43209bb028b 100644 (file)
@@ -1,3 +1,14 @@
+2003-10-13  Richard Sandiford  <rsandifo@redhat.com>
+
+       * 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.
+
 2003-10-10  H.J. Lu  <hongjiu.lu@intel.com>
 
        * Makefile.am (eelf64_ia64.c): Also depend on
index 790eecf6f8de6d819a66c0da98b28e1d4b615b00..ae64e22e4affb90d0cb1943b48533bca40c827d7 100644 (file)
@@ -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=
index d287417e2868385f399d629322d9f2e4afc900d1..6cfa48abb760f56bba635acef95e059e14d89699 100644 (file)
@@ -12,5 +12,3 @@ OTHER_SECTIONS='
   .gptab.sdata : { *(.gptab.data) *(.gptab.sdata) }
   .gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) }
 '
-
-TEXT_DYNAMIC=
index 7078a788af96a766515ce2ee650d04cfd4ac1009..4673c52bcca63bcc2e3727a8204e362ac084c4d5 100755 (executable)
@@ -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.
index c5b8664e3ab01c4f40f7db39c851c21ece01554c..23a20c7b8b0204bbda2532dedb688e6643c7c953 100644 (file)
@@ -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=