[parisc-linux] binutils 2.15?

John David Anglin dave@hiauly1.hia.nrc.ca
Thu Jul 1 22:50:00 GMT 2004


> On Mon, Jun 14, 2004 at 05:25:20AM +0200, Jakub Jelinek wrote:
> > First of all, can you explain why hppa needs .got after .plt?
> 
> There's a lazy linking stub inserted at the end of the .plt section that
> loads the .got address by
> 
>   b,l	1b,%r20
>   depi	0,31,2,%r20
> 
> ie. it depends on .got immediately following these instructions.

The enclosed patch moves .plt back to where it was before Jakub's change
when NO_SMALL_DATA isn't defined.  We don't define NO_SMALL_DATA on
PA-RISC as we need support for .sbss and .sdata.

This fixes the regressions.  The alternatives look messy impacting
both gcc and glibc.

Ok?

Dave
-- 
J. David Anglin                                  dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)

2004-07-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	* scripttempl/elf.sc: Place PLT before GOT when NO_SMALL_DATA is not
	defined.

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	1 Jul 2004 22:03:14 -0000
@@ -358,7 +358,7 @@ cat <<EOF
   ${RELOCATING+${DATA_SEGMENT_RELRO_END}}
   ${NO_SMALL_DATA+${RELRO_NOW-${SEPARATE_GOTPLT-${GOT}}}}
 
-  ${DATA_PLT+${PLT}}
+  ${NO_SMALL_DATA+${DATA_PLT+${PLT}}}
 
   .data         ${RELOCATING-0} :
   {
@@ -370,6 +370,7 @@ cat <<EOF
   .data1        ${RELOCATING-0} : { *(.data1) }
   ${WRITABLE_RODATA+${RODATA}}
   ${OTHER_READWRITE_SECTIONS}
+  ${NO_SMALL_DATA-${DATA_PLT+${PLT}}}
   ${RELOCATING+${OTHER_GOT_SYMBOLS}}
   ${NO_SMALL_DATA-${GOT}}
   ${OTHER_GOT_SECTIONS}



More information about the Binutils mailing list