From fc6041a7763e330413b7a6e7f77c38cbf2b67793 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Sat, 2 Jun 2018 18:46:03 +0930 Subject: [PATCH] EXECUTABLE_SYMBOLS -> OTHER_SYMBOLS EXECUTABLE_SYMBOLS is supposed to be true to its name, only defining symbols for the executable. * emulparams/elf64bmip.sh (EXECUTABLE_SYMBOLS): Don't define. (OTHER_SYMBOLS): Define this instead. * emulparams/elf32bmipn32.sh (EXECUTABLE_SYMBOLS): Don't define. (OTHER_SYMBOLS): Define similarly to elf64bmip.sh. * emulparams/elf64hppa.sh (EXECUTABLE_SYMBOLS): Don't define. (OTHER_SYMBOLS): Define instead. --- ld/ChangeLog | 9 +++++++++ ld/emulparams/elf32bmipn32.sh | 8 +++++--- ld/emulparams/elf64bmip.sh | 2 +- ld/emulparams/elf64hppa.sh | 2 +- 4 files changed, 16 insertions(+), 5 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index f12b6bd27e8..070e21d2a4d 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,12 @@ +2018-06-07 Alan Modra + + * emulparams/elf64bmip.sh (EXECUTABLE_SYMBOLS): Don't define. + (OTHER_SYMBOLS): Define this instead. + * emulparams/elf32bmipn32.sh (EXECUTABLE_SYMBOLS): Don't define. + (OTHER_SYMBOLS): Define similarly to elf64bmip.sh. + * emulparams/elf64hppa.sh (EXECUTABLE_SYMBOLS): Don't define. + (OTHER_SYMBOLS): Define instead. + 2018-06-07 Alan Modra * emulparams/elf32_tic6x_le.sh (EXECUTABLE_SYMBOLS): Don't define. diff --git a/ld/emulparams/elf32bmipn32.sh b/ld/emulparams/elf32bmipn32.sh index c26b6b3dcb2..4ad66810558 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 0df65285f5d..281f516916d 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 eeeadeafcaf..1ed32f9721d 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 = .);' -- 2.30.2