diff options
author | Dave Anglin <dave.anglin@nrc.ca> | 2004-07-05 20:00:13 +0000 |
---|---|---|
committer | Dave Anglin <dave.anglin@nrc.ca> | 2004-07-05 20:00:13 +0000 |
commit | b71a518155c0689c717a08219acd38bad4e9d672 (patch) | |
tree | 6c89a35a6ec9ea1730295f5441b658a696215bfd /ld | |
parent | 7561d4504fb545c8c7a02bfa5cefb57f1b4f697c (diff) | |
download | gdb-b71a518155c0689c717a08219acd38bad4e9d672.zip gdb-b71a518155c0689c717a08219acd38bad4e9d672.tar.gz gdb-b71a518155c0689c717a08219acd38bad4e9d672.tar.bz2 |
* emulparams/hppa64linux.sh: Define PLT_BEFORE_GOT.
* emulparams/hppalinux.sh: Likewise.
* scripttempl/elf.sc: Place .plt just before .got when .plt is in
data segment and PLT_BEFORE_GOT is defined.
Diffstat (limited to 'ld')
-rw-r--r-- | ld/ChangeLog | 7 | ||||
-rw-r--r-- | ld/emulparams/hppa64linux.sh | 1 | ||||
-rw-r--r-- | ld/emulparams/hppalinux.sh | 1 | ||||
-rw-r--r-- | ld/scripttempl/elf.sc | 4 |
4 files changed, 12 insertions, 1 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index c957555..0778090 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,10 @@ +2004-07-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + * emulparams/hppa64linux.sh: Define PLT_BEFORE_GOT. + * emulparams/hppalinux.sh: Likewise. + * scripttempl/elf.sc: Place .plt just before .got when .plt is in + data segment and PLT_BEFORE_GOT is defined. + 2004-07-03 Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com> * ld.texinfo (WIN32): Document PE weak symbols. diff --git a/ld/emulparams/hppa64linux.sh b/ld/emulparams/hppa64linux.sh index 6e01c20..6874c45 100644 --- a/ld/emulparams/hppa64linux.sh +++ b/ld/emulparams/hppa64linux.sh @@ -53,6 +53,7 @@ OTHER_GOT_RELOC_SECTIONS=" DATA_START_SYMBOLS='. += 16;' DATA_PLT= +PLT_BEFORE_GOT= # .dynamic should be at the start of the .text segment. TEXT_DYNAMIC= diff --git a/ld/emulparams/hppalinux.sh b/ld/emulparams/hppalinux.sh index 08309b3..5281fa7 100644 --- a/ld/emulparams/hppalinux.sh +++ b/ld/emulparams/hppalinux.sh @@ -15,6 +15,7 @@ OTHER_READONLY_SECTIONS=" .PARISC.unwind ${RELOCATING-0} : { *(.PARISC.unwind) }" DATA_START_SYMBOLS='PROVIDE ($global$ = .);' DATA_PLT= +PLT_BEFORE_GOT= GENERATE_SHLIB_SCRIPT=yes TEMPLATE_NAME=elf32 EXTRA_EM_FILE=hppaelf diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc index 93d849e..1e85777 100644 --- a/ld/scripttempl/elf.sc +++ b/ld/scripttempl/elf.sc @@ -26,6 +26,7 @@ # OTHER_BSS_SYMBOLS - symbols that appear at the start of the # .bss section besides __bss_start. # DATA_PLT - .plt should be in data segment, not text segment. +# PLT_BEFORE_GOT - .plt just before .got when .plt is in data segement. # BSS_PLT - .plt should be in bss segment # TEXT_DYNAMIC - .dynamic in text segment, not data segment. # EMBEDDED - whether this is for an embedded system. @@ -358,7 +359,7 @@ cat <<EOF ${RELOCATING+${DATA_SEGMENT_RELRO_END}} ${NO_SMALL_DATA+${RELRO_NOW-${SEPARATE_GOTPLT-${GOT}}}} - ${DATA_PLT+${PLT}} + ${DATA_PLT+${PLT_BEFORE_GOT-${PLT}}} .data ${RELOCATING-0} : { @@ -370,6 +371,7 @@ cat <<EOF .data1 ${RELOCATING-0} : { *(.data1) } ${WRITABLE_RODATA+${RODATA}} ${OTHER_READWRITE_SECTIONS} + ${DATA_PLT+${PLT_BEFORE_GOT+${PLT}}} ${RELOCATING+${OTHER_GOT_SYMBOLS}} ${NO_SMALL_DATA-${GOT}} ${OTHER_GOT_SECTIONS} |