diff --git a/ld/ChangeLog b/ld/ChangeLog index c957555ab9..0778090515 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,10 @@ +2004-07-05 John David Anglin + + * 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 * ld.texinfo (WIN32): Document PE weak symbols. diff --git a/ld/emulparams/hppa64linux.sh b/ld/emulparams/hppa64linux.sh index 6e01c20b08..6874c4578c 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 08309b3dbf..5281fa767a 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 93d849eab5..1e857773dc 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 <