* emulparams/hppa64linux.sh: Define PLT_BEFORE_GOT.
authorDave Anglin <dave.anglin@nrc.ca>
Mon, 5 Jul 2004 20:00:13 +0000 (20:00 +0000)
committerDave Anglin <dave.anglin@nrc.ca>
Mon, 5 Jul 2004 20:00:13 +0000 (20:00 +0000)
* emulparams/hppalinux.sh: Likewise.
* scripttempl/elf.sc: Place .plt just before .got when .plt is in
data segment and PLT_BEFORE_GOT is defined.

ld/ChangeLog
ld/emulparams/hppa64linux.sh
ld/emulparams/hppalinux.sh
ld/scripttempl/elf.sc

index c957555ab9dd6f0e95d51d306d247a7607a69949..077809051552116d5fa69ca50dcdb1e7f7e410a9 100644 (file)
@@ -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.
index 6e01c20b08ed6ab68bec545878509cf40f1ae81b..6874c4578c3adce2b85dd29ef51ce3a8d0616dcf 100644 (file)
@@ -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=
index 08309b3dbf4c27e02cdc22b2fd4f2286c45fc59c..5281fa767a57640332fda87ad261eea40587ce1d 100644 (file)
@@ -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
index 93d849eab55c1a0f1b517e2707ec395f992a185f..1e857773dc3de6d1a4bc949e7bfe74588811e3b2 100644 (file)
@@ -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}