This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: [parisc-linux] binutils 2.15?
- From: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- To: amodra at bigpond dot net dot au (Alan Modra)
- Cc: binutils at sources dot redhat dot com
- Date: Mon, 5 Jul 2004 16:18:37 -0400 (EDT)
- Subject: Re: [parisc-linux] binutils 2.15?
> The elf.sc patch is OK.
This what I committed. I added a comment and also defined PLT_BEFORE_GOT
in hppa64linux.sh. This provides the same section order as HP ld on
hppa64-hp-hpux*. We also want to keep the .plt and .got (.dlt) together
as they are both accessed as offsets from the same register.
This will have to change if there is a NO_SMALL_DATA target that wants
PLT_BEFORE_GOT.
Dave
--
J. David Anglin dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6602)
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.
Index: emulparams/hppa64linux.sh
===================================================================
RCS file: /cvs/src/src/ld/emulparams/hppa64linux.sh,v
retrieving revision 1.3
diff -u -3 -p -r1.3 hppa64linux.sh
--- emulparams/hppa64linux.sh 27 Jun 2002 22:57:50 -0000 1.3
+++ emulparams/hppa64linux.sh 5 Jul 2004 18:18:04 -0000
@@ -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: emulparams/hppalinux.sh
===================================================================
RCS file: /cvs/src/src/ld/emulparams/hppalinux.sh,v
retrieving revision 1.9
diff -u -3 -p -r1.9 hppalinux.sh
--- emulparams/hppalinux.sh 2 Feb 2002 18:36:04 -0000 1.9
+++ emulparams/hppalinux.sh 5 Jul 2004 18:18:04 -0000
@@ -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: scripttempl/elf.sc
===================================================================
RCS file: /cvs/src/src/ld/scripttempl/elf.sc,v
retrieving revision 1.45
diff -u -3 -p -r1.45 elf.sc
--- scripttempl/elf.sc 15 Jun 2004 16:39:17 -0000 1.45
+++ scripttempl/elf.sc 5 Jul 2004 18:18:04 -0000
@@ -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}