RFA: Fix libgloss MIPS scripts for .sbss comdat sections
Jeff Johnston
jjohnstn@redhat.com
Mon Jul 18 18:22:00 GMT 2005
Patch checked in. Thanks Richard.
-- Jeff J.
Richard Sandiford wrote:
> Ping.
>
> Richard Sandiford <richard@codesourcery.com> writes:
>
>>This patch fixes some g++ failures for mips64-elf. The problem was
>>that the idt.ld script doesn't include .sbss.* input sections in the
>>.sbss output section. From what I can see, other core sections like
>>.text and .data are already handled correctly.
>>
>>I also noticed that .gnu.linkonce.sb.* sections are included in
>>.sdata rather than .sbss. I thought I might as well fix that
>>at the same time.
>>
>>The usual problem with MIPS libgloss scripts applies. The target
>>I'm testing (mips64-elf) only uses idt.ld, but there are many other
>>MIPS scripts with the same problem. I've patched them all in the
>>same way.
>>
>>Patch tested against gcc on mips64-elf-g++. It fixes 5 of the 6
>>g++ failures:
>>
>> FAIL: g++.dg/rtti/typeid4.C execution test
>> FAIL: g++.old-deja/g++.other/singleton.C execution test
>> FAIL: g++.old-deja/g++.other/unchanging1.C execution test
>> FAIL: g++.old-deja/g++.pt/deduct5.C execution test
>> FAIL: g++.old-deja/g++.robertl/eb77.C execution test
>>
>>and introduces no regressions. OK to install?
>>
>>Richard
>>
>>
>> * mips/array.ld (.sdata): Include .gnu.linkonce.s.*, not
>> .gnu.linkonce.s*.
>> (.sbss): Include .sbss.* and .gnu.linkonce.sb.*.
>> * mips/cfe.ld, mips/ddb-kseg0.ld, mips/ddb.ld, mips/dve.ld,
>> * mips/idt32.ld, mips/idt64.ld, mips/idtecoff.ld, mips/idt.ld,
>> * mips/jmr3904app-java.ld, mips/jmr3904app.ld,
>> * mips/jmr3904dram-java.ld, mips/jmr3904dram.ld,
>> * mips/lsi.ld, mips/nullmon.ld, mips/pmon.ld: As for mips/array.ld.
>>
>>Index: libgloss/mips/array.ld
>>===================================================================
>>RCS file: /cvs/src/src/libgloss/mips/array.ld,v
>>retrieving revision 1.4
>>diff -u -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.4 array.ld
>>--- libgloss/mips/array.ld 12 Apr 2005 08:06:40 -0000 1.4
>>+++ libgloss/mips/array.ld 10 Jul 2005 15:52:01 -0000
>>@@ -158,13 +158,15 @@ SECTIONS
>> .sdata : {
>> *(.sdata)
>> *(.sdata.*)
>>- *(.gnu.linkonce.s*)
>>+ *(.gnu.linkonce.s.*)
>> }
>> edata = .;
>> _edata = .;
>> _fbss = .;
>> .sbss : {
>> *(.sbss)
>>+ *(.sbss.*)
>>+ *(.gnu.linkonce.sb.*)
>> *(.scommon)
>> }
>> .bss : {
>>Index: libgloss/mips/cfe.ld
>>===================================================================
>>RCS file: /cvs/src/src/libgloss/mips/cfe.ld,v
>>retrieving revision 1.6
>>diff -u -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.6 cfe.ld
>>--- libgloss/mips/cfe.ld 20 May 2005 15:45:43 -0000 1.6
>>+++ libgloss/mips/cfe.ld 10 Jul 2005 15:52:01 -0000
>>@@ -115,7 +115,7 @@ SECTIONS
>> .sdata : {
>> *(.sdata)
>> *(.sdata.*)
>>- *(.gnu.linkonce.s*)
>>+ *(.gnu.linkonce.s.*)
>> }
>> . = ALIGN(4);
>> PROVIDE (edata = .);
>>@@ -123,6 +123,8 @@ SECTIONS
>> _fbss = .;
>> .sbss : {
>> *(.sbss)
>>+ *(.sbss.*)
>>+ *(.gnu.linkonce.sb.*)
>> *(.scommon)
>> }
>> .bss : {
>>Index: libgloss/mips/ddb-kseg0.ld
>>===================================================================
>>RCS file: /cvs/src/src/libgloss/mips/ddb-kseg0.ld,v
>>retrieving revision 1.6
>>diff -u -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.6 ddb-kseg0.ld
>>--- libgloss/mips/ddb-kseg0.ld 20 May 2005 15:45:43 -0000 1.6
>>+++ libgloss/mips/ddb-kseg0.ld 10 Jul 2005 15:52:01 -0000
>>@@ -109,7 +109,7 @@ SECTIONS
>> .sdata : {
>> *(.sdata)
>> *(.sdata.*)
>>- *(.gnu.linkonce.s*)
>>+ *(.gnu.linkonce.s.*)
>> }
>> . = ALIGN(4);
>> edata = .;
>>@@ -117,6 +117,8 @@ SECTIONS
>> _fbss = .;
>> .sbss : {
>> *(.sbss)
>>+ *(.sbss.*)
>>+ *(.gnu.linkonce.sb.*)
>> *(.scommon)
>> }
>> .bss : {
>>Index: libgloss/mips/ddb.ld
>>===================================================================
>>RCS file: /cvs/src/src/libgloss/mips/ddb.ld,v
>>retrieving revision 1.6
>>diff -u -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.6 ddb.ld
>>--- libgloss/mips/ddb.ld 20 May 2005 15:45:43 -0000 1.6
>>+++ libgloss/mips/ddb.ld 10 Jul 2005 15:52:01 -0000
>>@@ -109,7 +109,7 @@ SECTIONS
>> .sdata : {
>> *(.sdata)
>> *(.sdata.*)
>>- *(.gnu.linkonce.s*)
>>+ *(.gnu.linkonce.s.*)
>> }
>> . = ALIGN(4);
>> edata = .;
>>@@ -117,6 +117,8 @@ SECTIONS
>> _fbss = .;
>> .sbss : {
>> *(.sbss)
>>+ *(.sbss.*)
>>+ *(.gnu.linkonce.sb.*)
>> *(.scommon)
>> }
>> .bss : {
>>Index: libgloss/mips/dve.ld
>>===================================================================
>>RCS file: /cvs/src/src/libgloss/mips/dve.ld,v
>>retrieving revision 1.6
>>diff -u -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.6 dve.ld
>>--- libgloss/mips/dve.ld 20 May 2005 15:45:43 -0000 1.6
>>+++ libgloss/mips/dve.ld 10 Jul 2005 15:52:01 -0000
>>@@ -110,7 +110,7 @@ SECTIONS
>> .sdata : {
>> *(.sdata)
>> *(.sdata.*)
>>- *(.gnu.linkonce.s*)
>>+ *(.gnu.linkonce.s.*)
>> }
>> . = ALIGN(4);
>> edata = .;
>>@@ -118,6 +118,8 @@ SECTIONS
>> _fbss = .;
>> .sbss : {
>> *(.sbss)
>>+ *(.sbss.*)
>>+ *(.gnu.linkonce.sb.*)
>> *(.scommon)
>> }
>> .bss : {
>>Index: libgloss/mips/idt32.ld
>>===================================================================
>>RCS file: /cvs/src/src/libgloss/mips/idt32.ld,v
>>retrieving revision 1.5
>>diff -u -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.5 idt32.ld
>>--- libgloss/mips/idt32.ld 20 May 2005 15:45:43 -0000 1.5
>>+++ libgloss/mips/idt32.ld 10 Jul 2005 15:52:01 -0000
>>@@ -118,7 +118,7 @@ SECTIONS
>> .sdata : {
>> *(.sdata)
>> *(.sdata.*)
>>- *(.gnu.linkonce.s*)
>>+ *(.gnu.linkonce.s.*)
>> }
>> . = ALIGN(4);
>> PROVIDE (edata = .);
>>@@ -126,6 +126,8 @@ SECTIONS
>> _fbss = .;
>> .sbss : {
>> *(.sbss)
>>+ *(.sbss.*)
>>+ *(.gnu.linkonce.sb.*)
>> *(.scommon)
>> }
>> .bss : {
>>Index: libgloss/mips/idt64.ld
>>===================================================================
>>RCS file: /cvs/src/src/libgloss/mips/idt64.ld,v
>>retrieving revision 1.5
>>diff -u -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.5 idt64.ld
>>--- libgloss/mips/idt64.ld 20 May 2005 15:45:43 -0000 1.5
>>+++ libgloss/mips/idt64.ld 10 Jul 2005 15:52:01 -0000
>>@@ -117,7 +117,7 @@ SECTIONS
>> .sdata : {
>> *(.sdata)
>> *(.sdata.*)
>>- *(.gnu.linkonce.s*)
>>+ *(.gnu.linkonce.s.*)
>> }
>> . = ALIGN(4);
>> PROVIDE (edata = .);
>>@@ -125,6 +125,8 @@ SECTIONS
>> _fbss = .;
>> .sbss : {
>> *(.sbss)
>>+ *(.sbss.*)
>>+ *(.gnu.linkonce.sb.*)
>> *(.scommon)
>> }
>> .bss : {
>>Index: libgloss/mips/idtecoff.ld
>>===================================================================
>>RCS file: /cvs/src/src/libgloss/mips/idtecoff.ld,v
>>retrieving revision 1.3
>>diff -u -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.3 idtecoff.ld
>>--- libgloss/mips/idtecoff.ld 12 Apr 2005 08:06:40 -0000 1.3
>>+++ libgloss/mips/idtecoff.ld 10 Jul 2005 15:52:01 -0000
>>@@ -75,7 +75,7 @@ SECTIONS
>> .sdata : {
>> *(.sdata)
>> *(.sdata.*)
>>- *(.gnu.linkonce.s*)
>>+ *(.gnu.linkonce.s.*)
>> }
>> . = ALIGN(4);
>> edata = .;
>>@@ -83,6 +83,8 @@ SECTIONS
>> _fbss = .;
>> .sbss : {
>> *(.sbss)
>>+ *(.sbss.*)
>>+ *(.gnu.linkonce.sb.*)
>> *(.scommon)
>> }
>> .bss : {
>>Index: libgloss/mips/idt.ld
>>===================================================================
>>RCS file: /cvs/src/src/libgloss/mips/idt.ld,v
>>retrieving revision 1.7
>>diff -u -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.7 idt.ld
>>--- libgloss/mips/idt.ld 20 May 2005 15:45:43 -0000 1.7
>>+++ libgloss/mips/idt.ld 10 Jul 2005 15:52:01 -0000
>>@@ -116,7 +116,7 @@ SECTIONS
>> .sdata : {
>> *(.sdata)
>> *(.sdata.*)
>>- *(.gnu.linkonce.s*)
>>+ *(.gnu.linkonce.s.*)
>> }
>> . = ALIGN(4);
>> PROVIDE (edata = .);
>>@@ -124,6 +124,8 @@ SECTIONS
>> _fbss = .;
>> .sbss : {
>> *(.sbss)
>>+ *(.sbss.*)
>>+ *(.gnu.linkonce.sb.*)
>> *(.scommon)
>> }
>> .bss : {
>>Index: libgloss/mips/jmr3904app-java.ld
>>===================================================================
>>RCS file: /cvs/src/src/libgloss/mips/jmr3904app-java.ld,v
>>retrieving revision 1.5
>>diff -u -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.5 jmr3904app-java.ld
>>--- libgloss/mips/jmr3904app-java.ld 20 May 2005 15:45:43 -0000 1.5
>>+++ libgloss/mips/jmr3904app-java.ld 10 Jul 2005 15:52:01 -0000
>>@@ -75,7 +75,7 @@ SECTIONS
>> .sdata : {
>> *(.sdata)
>> *(.sdata.*)
>>- *(.gnu.linkonce.s*)
>>+ *(.gnu.linkonce.s.*)
>> }
>> . = ALIGN(4);
>> edata = .;
>>@@ -83,6 +83,8 @@ SECTIONS
>> _fbss = .;
>> .sbss : {
>> *(.sbss)
>>+ *(.sbss.*)
>>+ *(.gnu.linkonce.sb.*)
>> *(.scommon)
>> }
>> .bss : {
>>Index: libgloss/mips/jmr3904app.ld
>>===================================================================
>>RCS file: /cvs/src/src/libgloss/mips/jmr3904app.ld,v
>>retrieving revision 1.6
>>diff -u -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.6 jmr3904app.ld
>>--- libgloss/mips/jmr3904app.ld 20 May 2005 15:45:43 -0000 1.6
>>+++ libgloss/mips/jmr3904app.ld 10 Jul 2005 15:52:01 -0000
>>@@ -108,7 +108,7 @@ SECTIONS
>> .sdata : {
>> *(.sdata)
>> *(.sdata.*)
>>- *(.gnu.linkonce.s*)
>>+ *(.gnu.linkonce.s.*)
>> }
>> . = ALIGN(4);
>> edata = .;
>>@@ -116,6 +116,8 @@ SECTIONS
>> _fbss = .;
>> .sbss : {
>> *(.sbss)
>>+ *(.sbss.*)
>>+ *(.gnu.linkonce.sb.*)
>> *(.scommon)
>> }
>> .bss : {
>>Index: libgloss/mips/jmr3904dram-java.ld
>>===================================================================
>>RCS file: /cvs/src/src/libgloss/mips/jmr3904dram-java.ld,v
>>retrieving revision 1.5
>>diff -u -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.5 jmr3904dram-java.ld
>>--- libgloss/mips/jmr3904dram-java.ld 20 May 2005 15:45:43 -0000 1.5
>>+++ libgloss/mips/jmr3904dram-java.ld 10 Jul 2005 15:52:01 -0000
>>@@ -77,7 +77,7 @@ SECTIONS
>> .sdata : {
>> *(.sdata)
>> *(.sdata.*)
>>- *(.gnu.linkonce.s*)
>>+ *(.gnu.linkonce.s.*)
>> }
>> . = ALIGN(4);
>> edata = .;
>>@@ -85,6 +85,8 @@ SECTIONS
>> _fbss = .;
>> .sbss : {
>> *(.sbss)
>>+ *(.sbss.*)
>>+ *(.gnu.linkonce.sb.*)
>> *(.scommon)
>> }
>> .bss : {
>>Index: libgloss/mips/jmr3904dram.ld
>>===================================================================
>>RCS file: /cvs/src/src/libgloss/mips/jmr3904dram.ld,v
>>retrieving revision 1.5
>>diff -u -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.5 jmr3904dram.ld
>>--- libgloss/mips/jmr3904dram.ld 20 May 2005 15:45:43 -0000 1.5
>>+++ libgloss/mips/jmr3904dram.ld 10 Jul 2005 15:52:01 -0000
>>@@ -74,7 +74,7 @@ SECTIONS
>> .sdata : {
>> *(.sdata)
>> *(.sdata.*)
>>- *(.gnu.linkonce.s*)
>>+ *(.gnu.linkonce.s.*)
>> }
>> . = ALIGN(4);
>> edata = .;
>>@@ -82,6 +82,8 @@ SECTIONS
>> _fbss = .;
>> .sbss : {
>> *(.sbss)
>>+ *(.sbss.*)
>>+ *(.gnu.linkonce.sb.*)
>> *(.scommon)
>> }
>> .bss : {
>>Index: libgloss/mips/lsi.ld
>>===================================================================
>>RCS file: /cvs/src/src/libgloss/mips/lsi.ld,v
>>retrieving revision 1.5
>>diff -u -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.5 lsi.ld
>>--- libgloss/mips/lsi.ld 12 Apr 2005 08:06:40 -0000 1.5
>>+++ libgloss/mips/lsi.ld 10 Jul 2005 15:52:01 -0000
>>@@ -109,13 +109,15 @@ SECTIONS
>> .sdata : {
>> *(.sdata)
>> *(.sdata.*)
>>- *(.gnu.linkonce.s*)
>>+ *(.gnu.linkonce.s.*)
>> }
>> edata = .;
>> _edata = .;
>> _fbss = .;
>> .sbss : {
>> *(.sbss)
>>+ *(.sbss.*)
>>+ *(.gnu.linkonce.sb.*)
>> *(.scommon)
>> }
>> .bss : {
>>Index: libgloss/mips/nullmon.ld
>>===================================================================
>>RCS file: /cvs/src/src/libgloss/mips/nullmon.ld,v
>>retrieving revision 1.6
>>diff -u -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.6 nullmon.ld
>>--- libgloss/mips/nullmon.ld 20 May 2005 15:45:43 -0000 1.6
>>+++ libgloss/mips/nullmon.ld 10 Jul 2005 15:52:01 -0000
>>@@ -110,7 +110,7 @@ SECTIONS
>> .sdata : {
>> *(.sdata)
>> *(.sdata.*)
>>- *(.gnu.linkonce.s*)
>>+ *(.gnu.linkonce.s.*)
>> }
>> . = ALIGN(4);
>> edata = .;
>>@@ -118,6 +118,8 @@ SECTIONS
>> _fbss = .;
>> .sbss : {
>> *(.sbss)
>>+ *(.sbss.*)
>>+ *(.gnu.linkonce.sb.*)
>> *(.scommon)
>> }
>> .bss : {
>>Index: libgloss/mips/pmon.ld
>>===================================================================
>>RCS file: /cvs/src/src/libgloss/mips/pmon.ld,v
>>retrieving revision 1.6
>>diff -u -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.6 pmon.ld
>>--- libgloss/mips/pmon.ld 20 May 2005 15:45:43 -0000 1.6
>>+++ libgloss/mips/pmon.ld 10 Jul 2005 15:52:01 -0000
>>@@ -110,7 +110,7 @@ SECTIONS
>> .sdata : {
>> *(.sdata)
>> *(.sdata.*)
>>- *(.gnu.linkonce.s*)
>>+ *(.gnu.linkonce.s.*)
>> }
>> . = ALIGN(4);
>> edata = .;
>>@@ -118,6 +118,8 @@ SECTIONS
>> _fbss = .;
>> .sbss : {
>> *(.sbss)
>>+ *(.sbss.*)
>>+ *(.gnu.linkonce.sb.*)
>> *(.scommon)
>> }
>> .bss : {
More information about the Newlib
mailing list