This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
[patch] More m68k linker script fixes
- From: Paul Brook <paul at codesourcery dot com>
- To: newlib at sourceware dot org
- Date: Wed, 21 Dec 2005 00:59:32 +0000
- Subject: [patch] More m68k linker script fixes
The attached patch adds the .got and .got.plt sections to the m68k linker
scripts in libgloss. These are greated by the linker when code compiled with
-fPIC is linked. Without this patch end up as orphaned sections, and
_GLOBAL_OFFSET_TABLE_ has the wrong value.
Ok?
Paul
2005-12-20 Paul Brook <paul@codesourcery.com>
* m68k/bcc.ld: Add .got.plt and .got
* m68k/idp.ld: Ditto.
* m68k/idpgdb: Ditto.
* m68k/mvme135.ld: Ditto.
* m68k/sbc5204.ld: Ditto.
* m68k/sbc5206.ld: Ditto.
* m68k/sim.ld: Ditto.
Index: libgloss/m68k/bcc.ld
===================================================================
RCS file: /var/cvsroot/src-cvs/src/libgloss/m68k/bcc.ld,v
retrieving revision 1.2
diff -u -p -r1.2 bcc.ld
--- libgloss/m68k/bcc.ld 6 Dec 2005 22:04:29 -0000 1.2
+++ libgloss/m68k/bcc.ld 20 Dec 2005 23:04:11 -0000
@@ -99,6 +99,7 @@ SECTIONS
.data :
{
+ *(.got.plt) *(.got)
*(.shdata)
*(.data .data.*)
_edata = .;
Index: libgloss/m68k/idp.ld
===================================================================
RCS file: /var/cvsroot/src-cvs/src/libgloss/m68k/idp.ld,v
retrieving revision 1.2
diff -u -p -r1.2 idp.ld
--- libgloss/m68k/idp.ld 6 Dec 2005 22:04:29 -0000 1.2
+++ libgloss/m68k/idp.ld 20 Dec 2005 23:04:23 -0000
@@ -118,6 +118,7 @@ SECTIONS
.data :
{
+ *(.got.plt) *(.got)
*(.shdata)
*(.data .data.*)
_edata = .;
Index: libgloss/m68k/idpgdb.ld
===================================================================
RCS file: /var/cvsroot/src-cvs/src/libgloss/m68k/idpgdb.ld,v
retrieving revision 1.2
diff -u -p -r1.2 idpgdb.ld
--- libgloss/m68k/idpgdb.ld 6 Dec 2005 22:04:29 -0000 1.2
+++ libgloss/m68k/idpgdb.ld 20 Dec 2005 23:04:17 -0000
@@ -118,6 +118,7 @@ SECTIONS
.data :
{
+ *(.got.plt) *(.got)
*(.shdata)
*(.data .data.*)
_edata = .;
Index: libgloss/m68k/mvme135.ld
===================================================================
RCS file: /var/cvsroot/src-cvs/src/libgloss/m68k/mvme135.ld,v
retrieving revision 1.2
diff -u -p -r1.2 mvme135.ld
--- libgloss/m68k/mvme135.ld 6 Dec 2005 22:04:29 -0000 1.2
+++ libgloss/m68k/mvme135.ld 20 Dec 2005 23:04:36 -0000
@@ -100,6 +100,7 @@ SECTIONS
.data :
{
+ *(.got.plt) *(.got)
*(.shdata)
*(.data .data.*)
_edata = .;
Index: libgloss/m68k/mvme162.ld
===================================================================
RCS file: /var/cvsroot/src-cvs/src/libgloss/m68k/mvme162.ld,v
retrieving revision 1.2
diff -u -p -r1.2 mvme162.ld
--- libgloss/m68k/mvme162.ld 6 Dec 2005 22:04:29 -0000 1.2
+++ libgloss/m68k/mvme162.ld 20 Dec 2005 23:04:41 -0000
@@ -101,6 +101,7 @@ SECTIONS
.data :
{
+ *(.got.plt) *(.got)
*(.shdata)
*(.data .data.*)
_edata = .;
Index: libgloss/m68k/sbc5204.ld
===================================================================
RCS file: /var/cvsroot/src-cvs/src/libgloss/m68k/sbc5204.ld,v
retrieving revision 1.2
diff -u -p -r1.2 sbc5204.ld
--- libgloss/m68k/sbc5204.ld 6 Dec 2005 22:04:29 -0000 1.2
+++ libgloss/m68k/sbc5204.ld 20 Dec 2005 23:04:46 -0000
@@ -99,6 +99,7 @@ SECTIONS
.data :
{
+ *(.got.plt) *(.got)
*(.shdata)
*(.data .data.*)
_edata = .;
Index: libgloss/m68k/sbc5206.ld
===================================================================
RCS file: /var/cvsroot/src-cvs/src/libgloss/m68k/sbc5206.ld,v
retrieving revision 1.2
diff -u -p -r1.2 sbc5206.ld
--- libgloss/m68k/sbc5206.ld 6 Dec 2005 22:04:29 -0000 1.2
+++ libgloss/m68k/sbc5206.ld 20 Dec 2005 23:04:51 -0000
@@ -99,6 +99,7 @@ SECTIONS
.data :
{
+ *(.got.plt) *(.got)
*(.shdata)
*(.data .data.*)
_edata = .;
Index: libgloss/m68k/sim.ld
===================================================================
RCS file: /var/cvsroot/src-cvs/src/libgloss/m68k/sim.ld,v
retrieving revision 1.2
diff -u -p -r1.2 sim.ld
--- libgloss/m68k/sim.ld 6 Dec 2005 22:04:29 -0000 1.2
+++ libgloss/m68k/sim.ld 20 Dec 2005 23:03:46 -0000
@@ -59,6 +59,7 @@ SECTIONS
.data :
{
+ *(.got.plt) *(.got)
*(.shdata)
*(.data .data.*)
_edata = .;