diff options
Diffstat (limited to 'ld/emulparams')
-rw-r--r-- | ld/emulparams/elf32bmipn32.sh | 8 | ||||
-rw-r--r-- | ld/emulparams/elf64bmip.sh | 2 | ||||
-rw-r--r-- | ld/emulparams/elf64hppa.sh | 2 |
3 files changed, 7 insertions, 5 deletions
diff --git a/ld/emulparams/elf32bmipn32.sh b/ld/emulparams/elf32bmipn32.sh index c26b6b3..4ad6681 100644 --- a/ld/emulparams/elf32bmipn32.sh +++ b/ld/emulparams/elf32bmipn32.sh @@ -6,10 +6,12 @@ SHLIB_TEXT_START_ADDR=0x5ffe0000 COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" # IRIX6 defines these symbols. 0x34 is the size of the ELF header. -EXECUTABLE_SYMBOLS=" +OTHER_SYMBOLS=" __dso_displacement = 0; - __elf_header = ${TEXT_START_ADDR}; - __program_header_table = ${TEXT_START_ADDR} + 0x34; + ${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 + 0x34; " # There are often dynamic relocations against the .rodata section. diff --git a/ld/emulparams/elf64bmip.sh b/ld/emulparams/elf64bmip.sh index 0df6528..281f516 100644 --- a/ld/emulparams/elf64bmip.sh +++ b/ld/emulparams/elf64bmip.sh @@ -5,7 +5,7 @@ LITTLE_OUTPUT_FORMAT="elf64-littlemips" SHLIB_TEXT_START_ADDR=0x3ffffe0000 # IRIX6 defines these symbols. 0x40 is the size of the ELF header. -EXECUTABLE_SYMBOLS=" +OTHER_SYMBOLS=" __dso_displacement = 0; ${CREATE_SHLIB-${CREATE_PIE-__elf_header = ${TEXT_START_ADDR};}} ${CREATE_SHLIB+__elf_header = ${SHLIB_TEXT_START_ADDR};} diff --git a/ld/emulparams/elf64hppa.sh b/ld/emulparams/elf64hppa.sh index eeeadea..1ed32f9 100644 --- a/ld/emulparams/elf64hppa.sh +++ b/ld/emulparams/elf64hppa.sh @@ -67,7 +67,7 @@ PLT_BEFORE_GOT= TEXT_DYNAMIC= # The linker is required to define these two symbols. -EXECUTABLE_SYMBOLS='PROVIDE (__SYSTEM_ID = 0x214); PROVIDE (_FPU_STATUS = 0x0);' +OTHER_SYMBOLS='PROVIDE (__SYSTEM_ID = 0x214); PROVIDE (_FPU_STATUS = 0x0);' # The PA64 ELF port needs two additional initializer sections and also wants # a start/end symbol pair for the .init and .fini sections. INIT_START='KEEP (*(.HP.init)); PROVIDE (__preinit_start = .); KEEP (*(.preinit)); PROVIDE (__preinit_end = .); PROVIDE (__init_start = .);' |