[patch] missing sections in mips linker scripts

Jeff Johnston jjohnstn@redhat.com
Sat Sep 24 02:33:00 GMT 2005


James E Wilson wrote:
> On Mon, 2005-09-12 at 17:46, James E Wilson wrote:
> 
>>I tracked down some mips-elf libstdc++ failures to a problem with the
>>MIPS linker scripts.  They aren't handling all of the sections emitted
>>by gcc-4.x for C++ code.
> 
> 
> It has been 10 days, and I haven't gotten any response yet.
> 

Sorry Jim.  I was away all of last week, but to be honest I also forgot 
about it.  Patch checked in.  Thanks.

-- Jeff J.

> Meanwhile, I've gone ahead and expanded the patch a bit.  The original
> patch was relative to the newlib-1.13.0 release, and only fixed the mips
> idt.ld and pmon.ld linker scripts.  The new patch is relative to the CVS
> tree, and fixes all of the mips linker scripts.
> 
> One of the problems fixed by my original patch is already fixed in the
> CVS tree.  This is the gnu.linkonce.s.* and gnu.linkonce.sb.*
> confusion.  However, the other two problems still remain.  All of the
> other linkonce sections are incorrectly referenced as x* instead of
> x.*.  Also, the gnu.linkonce.b.* section is missing.
> 
> The latter one in particular is needed for libstdc++ to work when
> compiled by gcc-4.0.1.
> 
> I tested this patch by doing a link with each linker script, to verify
> that I didn't get a linker error reading the script.  Some of them
> failed to link because supporting object files were missing.  I didn't
> worry about that.
> 
> The original patch was tested with a mips-elf and mips64-elf toolchain
> build, and a full make check.  The patch fixed about 100 libstdc++
> testsuite failures for mips-elf, and about 60 for mips64-elf.
> 
> 
> ------------------------------------------------------------------------
> 
> 2005-09-22  James E Wilson  <wilson@specifix.com>
> 
> 	* mips/array.ld, mips/cfe.ld, mips/ddb-kseg0.ld, mips/ddb.ld,
> 	mips/dve.ld, mips/idt.ld, mips/idt32.ld, mips/idt64.ld,
> 	mips/idtecoff.ld, mips/jmr3904app-java.ld, mips/jmr3904app.ld,
> 	jmr3904dram-java.ld, mips/jmr3904dram.ld, mips/lsi.ld, mips/nullmon.ld,
> 	mips/pmon.ld: Change x* to x.* in existing linkonce lines.  Add
> 	support for .gnu.linkonce.b.*.
> 
> Index: array.ld
> ===================================================================
> RCS file: /cvs/src/src/libgloss/mips/array.ld,v
> retrieving revision 1.5
> diff -p -p -r1.5 array.ld
> *** array.ld	18 Jul 2005 18:19:40 -0000	1.5
> --- array.ld	22 Sep 2005 21:13:21 -0000
> *************** SECTIONS
> *** 88,94 ****
>        eprol  =  .;
>       *(.text)
>       *(.text.*)
> !     *(.gnu.linkonce.t*)
>       *(.mips16.fn.*)
>       *(.mips16.call.*)
>       PROVIDE (__runtime_reloc_start = .);
> --- 88,94 ----
>        eprol  =  .;
>       *(.text)
>       *(.text.*)
> !     *(.gnu.linkonce.t.*)
>       *(.mips16.fn.*)
>       *(.mips16.call.*)
>       PROVIDE (__runtime_reloc_start = .);
> *************** SECTIONS
> *** 140,152 ****
>       *(.rdata)
>       *(.rodata)
>       *(.rodata.*)
> !     *(.gnu.linkonce.r*)
>     }
>      _fdata = ALIGN(16);
>     .data : {
>       *(.data)
>       *(.data.*)
> !     *(.gnu.linkonce.d*)
>     }
>      _gp = ALIGN(16) + 0x8000;
>     .lit8 : {
> --- 140,152 ----
>       *(.rdata)
>       *(.rodata)
>       *(.rodata.*)
> !     *(.gnu.linkonce.r.*)
>     }
>      _fdata = ALIGN(16);
>     .data : {
>       *(.data)
>       *(.data.*)
> !     *(.gnu.linkonce.d.*)
>     }
>      _gp = ALIGN(16) + 0x8000;
>     .lit8 : {
> *************** SECTIONS
> *** 172,177 ****
> --- 172,178 ----
>     .bss : {
>       _bss_start = . ;
>       *(.bss)
> +     *(.gnu.linkonce.b.*)
>       *(COMMON)
>     }
>      end = .;
> Index: cfe.ld
> ===================================================================
> RCS file: /cvs/src/src/libgloss/mips/cfe.ld,v
> retrieving revision 1.7
> diff -p -p -r1.7 cfe.ld
> *** cfe.ld	18 Jul 2005 18:19:40 -0000	1.7
> --- cfe.ld	22 Sep 2005 21:13:21 -0000
> *************** SECTIONS
> *** 36,42 ****
>       PROVIDE (eprol = .);
>       *(.text)
>       *(.text.*)
> !     *(.gnu.linkonce.t*)
>       *(.mips16.fn.*)
>       *(.mips16.call.*)
>     }
> --- 36,42 ----
>       PROVIDE (eprol = .);
>       *(.text)
>       *(.text.*)
> !     *(.gnu.linkonce.t.*)
>       *(.mips16.fn.*)
>       *(.mips16.call.*)
>     }
> *************** SECTIONS
> *** 95,107 ****
>       *(.rdata)
>       *(.rodata)
>       *(.rodata.*)
> !     *(.gnu.linkonce.r*)
>     }
>      _fdata = ALIGN(16);
>     .data : {
>       *(.data)
>       *(.data.*)
> !     *(.gnu.linkonce.d*)
>     }
>     . = ALIGN(8);
>     _gp = . + 0x8000;
> --- 95,107 ----
>       *(.rdata)
>       *(.rodata)
>       *(.rodata.*)
> !     *(.gnu.linkonce.r.*)
>     }
>      _fdata = ALIGN(16);
>     .data : {
>       *(.data)
>       *(.data.*)
> !     *(.gnu.linkonce.d.*)
>     }
>     . = ALIGN(8);
>     _gp = . + 0x8000;
> *************** SECTIONS
> *** 130,135 ****
> --- 130,136 ----
>     .bss : {
>       _bss_start = . ;
>       *(.bss)
> +     *(.gnu.linkonce.b.*)
>       *(COMMON)
>     }
>   
> Index: ddb-kseg0.ld
> ===================================================================
> RCS file: /cvs/src/src/libgloss/mips/ddb-kseg0.ld,v
> retrieving revision 1.7
> diff -p -p -r1.7 ddb-kseg0.ld
> *** ddb-kseg0.ld	18 Jul 2005 18:19:40 -0000	1.7
> --- ddb-kseg0.ld	22 Sep 2005 21:13:21 -0000
> *************** SECTIONS
> *** 37,43 ****
>        eprol  =  .;
>       *(.text)
>       *(.text.*)
> !     *(.gnu.linkonce.t*)
>       *(.mips16.fn.*)
>       *(.mips16.call.*)
>       PROVIDE (__runtime_reloc_start = .);
> --- 37,43 ----
>        eprol  =  .;
>       *(.text)
>       *(.text.*)
> !     *(.gnu.linkonce.t.*)
>       *(.mips16.fn.*)
>       *(.mips16.call.*)
>       PROVIDE (__runtime_reloc_start = .);
> *************** SECTIONS
> *** 89,101 ****
>       *(.rdata)
>       *(.rodata)
>       *(.rodata.*)
> !     *(.gnu.linkonce.r*)
>     }
>      _fdata = ALIGN(16);
>     .data : {
>       *(.data)
>       *(.data.*)
> !     *(.gnu.linkonce.d*)
>     }
>     . = ALIGN(8);
>     _gp = . + 0x8000;
> --- 89,101 ----
>       *(.rdata)
>       *(.rodata)
>       *(.rodata.*)
> !     *(.gnu.linkonce.r.*)
>     }
>      _fdata = ALIGN(16);
>     .data : {
>       *(.data)
>       *(.data.*)
> !     *(.gnu.linkonce.d.*)
>     }
>     . = ALIGN(8);
>     _gp = . + 0x8000;
> *************** SECTIONS
> *** 124,129 ****
> --- 124,130 ----
>     .bss : {
>       _bss_start = . ;
>       *(.bss)
> +     *(.gnu.linkonce.b.*)
>       *(COMMON)
>     }
>   
> Index: ddb.ld
> ===================================================================
> RCS file: /cvs/src/src/libgloss/mips/ddb.ld,v
> retrieving revision 1.7
> diff -p -p -r1.7 ddb.ld
> *** ddb.ld	18 Jul 2005 18:19:40 -0000	1.7
> --- ddb.ld	22 Sep 2005 21:13:21 -0000
> *************** SECTIONS
> *** 37,43 ****
>        eprol  =  .;
>       *(.text)
>       *(.text.*)
> !     *(.gnu.linkonce.t*)
>       *(.mips16.fn.*)
>       *(.mips16.call.*)
>       PROVIDE (__runtime_reloc_start = .);
> --- 37,43 ----
>        eprol  =  .;
>       *(.text)
>       *(.text.*)
> !     *(.gnu.linkonce.t.*)
>       *(.mips16.fn.*)
>       *(.mips16.call.*)
>       PROVIDE (__runtime_reloc_start = .);
> *************** SECTIONS
> *** 89,101 ****
>       *(.rdata)
>       *(.rodata)
>       *(.rodata.*)
> !     *(.gnu.linkonce.r*)
>     }
>      _fdata = ALIGN(16);
>     .data : {
>       *(.data)
>       *(.data.*)
> !     *(.gnu.linkonce.d*)
>     }
>     . = ALIGN(8);
>     _gp = . + 0x8000;
> --- 89,101 ----
>       *(.rdata)
>       *(.rodata)
>       *(.rodata.*)
> !     *(.gnu.linkonce.r.*)
>     }
>      _fdata = ALIGN(16);
>     .data : {
>       *(.data)
>       *(.data.*)
> !     *(.gnu.linkonce.d.*)
>     }
>     . = ALIGN(8);
>     _gp = . + 0x8000;
> *************** SECTIONS
> *** 124,129 ****
> --- 124,130 ----
>     .bss : {
>       _bss_start = . ;
>       *(.bss)
> +     *(.gnu.linkonce.b.*)
>       *(COMMON)
>     }
>   
> Index: dve.ld
> ===================================================================
> RCS file: /cvs/src/src/libgloss/mips/dve.ld,v
> retrieving revision 1.7
> diff -p -p -r1.7 dve.ld
> *** dve.ld	18 Jul 2005 18:19:40 -0000	1.7
> --- dve.ld	22 Sep 2005 21:13:21 -0000
> *************** SECTIONS
> *** 37,43 ****
>        eprol  =  .;
>       *(.text)
>       *(.text.*)
> !     *(.gnu.linkonce.t*)
>       *(.mips16.fn.*)
>       *(.mips16.call.*)
>       PROVIDE (__runtime_reloc_start = .);
> --- 37,43 ----
>        eprol  =  .;
>       *(.text)
>       *(.text.*)
> !     *(.gnu.linkonce.t.*)
>       *(.mips16.fn.*)
>       *(.mips16.call.*)
>       PROVIDE (__runtime_reloc_start = .);
> *************** SECTIONS
> *** 89,101 ****
>       *(.rdata)
>       *(.rodata)
>       *(.rodata.*)
> !     *(.gnu.linkonce.r*)
>     }
>      _fdata = ALIGN(16);
>     .data : {
>       *(.data)
>       *(.data.*)
> !     *(.gnu.linkonce.d*)
>         CONSTRUCTORS
>     }
>     . = ALIGN(8);
> --- 89,101 ----
>       *(.rdata)
>       *(.rodata)
>       *(.rodata.*)
> !     *(.gnu.linkonce.r.*)
>     }
>      _fdata = ALIGN(16);
>     .data : {
>       *(.data)
>       *(.data.*)
> !     *(.gnu.linkonce.d.*)
>         CONSTRUCTORS
>     }
>     . = ALIGN(8);
> *************** SECTIONS
> *** 125,130 ****
> --- 125,131 ----
>     .bss : {
>       _bss_start = . ;
>       *(.bss)
> +     *(.gnu.linkonce.b.*)
>       *(COMMON)
>     }
>   
> Index: idt.ld
> ===================================================================
> RCS file: /cvs/src/src/libgloss/mips/idt.ld,v
> retrieving revision 1.8
> diff -p -p -r1.8 idt.ld
> *** idt.ld	18 Jul 2005 18:19:40 -0000	1.8
> --- idt.ld	22 Sep 2005 21:13:21 -0000
> *************** SECTIONS
> *** 37,43 ****
>       PROVIDE (eprol = .);
>       *(.text)
>       *(.text.*)
> !     *(.gnu.linkonce.t*)
>       *(.mips16.fn.*)
>       *(.mips16.call.*)
>     }
> --- 37,43 ----
>       PROVIDE (eprol = .);
>       *(.text)
>       *(.text.*)
> !     *(.gnu.linkonce.t.*)
>       *(.mips16.fn.*)
>       *(.mips16.call.*)
>     }
> *************** SECTIONS
> *** 96,108 ****
>       *(.rdata)
>       *(.rodata)
>       *(.rodata.*)
> !     *(.gnu.linkonce.r*)
>     }
>      _fdata = ALIGN(16);
>     .data : {
>       *(.data)
>       *(.data.*)
> !     *(.gnu.linkonce.d*)
>     }
>     . = ALIGN(8);
>     _gp = . + 0x8000;
> --- 96,108 ----
>       *(.rdata)
>       *(.rodata)
>       *(.rodata.*)
> !     *(.gnu.linkonce.r.*)
>     }
>      _fdata = ALIGN(16);
>     .data : {
>       *(.data)
>       *(.data.*)
> !     *(.gnu.linkonce.d.*)
>     }
>     . = ALIGN(8);
>     _gp = . + 0x8000;
> *************** SECTIONS
> *** 131,136 ****
> --- 131,137 ----
>     .bss : {
>       _bss_start = . ;
>       *(.bss)
> +     *(.gnu.linkonce.b.*)
>       *(COMMON)
>     }
>   
> Index: idt32.ld
> ===================================================================
> RCS file: /cvs/src/src/libgloss/mips/idt32.ld,v
> retrieving revision 1.6
> diff -p -p -r1.6 idt32.ld
> *** idt32.ld	18 Jul 2005 18:19:40 -0000	1.6
> --- idt32.ld	22 Sep 2005 21:13:21 -0000
> *************** SECTIONS
> *** 38,44 ****
>       PROVIDE (eprol  =  .);
>       *(.text)
>       *(.text.*)
> !     *(.gnu.linkonce.t*)
>       *(.mips16.fn.*)
>       *(.mips16.call.*)
>     }
> --- 38,44 ----
>       PROVIDE (eprol  =  .);
>       *(.text)
>       *(.text.*)
> !     *(.gnu.linkonce.t.*)
>       *(.mips16.fn.*)
>       *(.mips16.call.*)
>     }
> *************** SECTIONS
> *** 98,110 ****
>       *(.rdata)
>       *(.rodata)
>       *(.rodata.*)
> !     *(.gnu.linkonce.r*)
>     }
>      _fdata = ALIGN(16);
>     .data : {
>       *(.data)
>       *(.data.*)
> !     *(.gnu.linkonce.d*)
>     }
>     . = ALIGN(8);
>     _gp = . + 0x8000;
> --- 98,110 ----
>       *(.rdata)
>       *(.rodata)
>       *(.rodata.*)
> !     *(.gnu.linkonce.r.*)
>     }
>      _fdata = ALIGN(16);
>     .data : {
>       *(.data)
>       *(.data.*)
> !     *(.gnu.linkonce.d.*)
>     }
>     . = ALIGN(8);
>     _gp = . + 0x8000;
> *************** SECTIONS
> *** 133,138 ****
> --- 133,139 ----
>     .bss : {
>       _bss_start = . ;
>       *(.bss)
> +     *(.gnu.linkonce.b.*)
>       *(COMMON)
>     }
>   
> Index: idt64.ld
> ===================================================================
> RCS file: /cvs/src/src/libgloss/mips/idt64.ld,v
> retrieving revision 1.6
> diff -p -p -r1.6 idt64.ld
> *** idt64.ld	18 Jul 2005 18:19:40 -0000	1.6
> --- idt64.ld	22 Sep 2005 21:13:21 -0000
> *************** SECTIONS
> *** 38,44 ****
>       PROVIDE (eprol  =  .);
>       *(.text)
>       *(.text.*)
> !     *(.gnu.linkonce.t*)
>       *(.mips16.fn.*)
>       *(.mips16.call.*)
>     }
> --- 38,44 ----
>       PROVIDE (eprol  =  .);
>       *(.text)
>       *(.text.*)
> !     *(.gnu.linkonce.t.*)
>       *(.mips16.fn.*)
>       *(.mips16.call.*)
>     }
> *************** SECTIONS
> *** 97,109 ****
>       *(.rdata)
>       *(.rodata)
>       *(.rodata.*)
> !     *(.gnu.linkonce.r*)
>     }
>      _fdata = ALIGN(16);
>     .data : {
>       *(.data)
>       *(.data.*)
> !     *(.gnu.linkonce.d*)
>     }
>     . = ALIGN(8);
>     _gp = . + 0x8000;
> --- 97,109 ----
>       *(.rdata)
>       *(.rodata)
>       *(.rodata.*)
> !     *(.gnu.linkonce.r.*)
>     }
>      _fdata = ALIGN(16);
>     .data : {
>       *(.data)
>       *(.data.*)
> !     *(.gnu.linkonce.d.*)
>     }
>     . = ALIGN(8);
>     _gp = . + 0x8000;
> *************** SECTIONS
> *** 132,137 ****
> --- 132,138 ----
>     .bss : {
>       _bss_start = . ;
>       *(.bss)
> +     *(.gnu.linkonce.b.*)
>       *(COMMON)
>     }
>   
> Index: idtecoff.ld
> ===================================================================
> RCS file: /cvs/src/src/libgloss/mips/idtecoff.ld,v
> retrieving revision 1.4
> diff -p -p -r1.4 idtecoff.ld
> *** idtecoff.ld	18 Jul 2005 18:19:40 -0000	1.4
> --- idtecoff.ld	22 Sep 2005 21:13:21 -0000
> *************** SECTIONS
> *** 39,45 ****
>        eprol  =  .;
>       *(.text)
>       *(.text.*)
> !     *(.gnu.linkonce.t*)
>       *(.mips16.fn.*)
>       *(.mips16.call.*)
>       PROVIDE (__runtime_reloc_start = .);
> --- 39,45 ----
>        eprol  =  .;
>       *(.text)
>       *(.text.*)
> !     *(.gnu.linkonce.t.*)
>       *(.mips16.fn.*)
>       *(.mips16.call.*)
>       PROVIDE (__runtime_reloc_start = .);
> *************** SECTIONS
> *** 54,66 ****
>       *(.rdata)
>       *(.rodata)
>       *(.rodata.*)
> !     *(.gnu.linkonce.r*)
>     }
>      _fdata = ALIGN(16);
>     .data : {
>       *(.data)
>       *(.data.*)
> !     *(.gnu.linkonce.d*)
>       CONSTRUCTORS
>     }
>     . = ALIGN(8);
> --- 54,66 ----
>       *(.rdata)
>       *(.rodata)
>       *(.rodata.*)
> !     *(.gnu.linkonce.r.*)
>     }
>      _fdata = ALIGN(16);
>     .data : {
>       *(.data)
>       *(.data.*)
> !     *(.gnu.linkonce.d.*)
>       CONSTRUCTORS
>     }
>     . = ALIGN(8);
> *************** SECTIONS
> *** 90,95 ****
> --- 90,96 ----
>     .bss : {
>       _bss_start = . ;
>       *(.bss)
> +     *(.gnu.linkonce.b.*)
>       *(COMMON)
>     }
>      end = .;
> Index: jmr3904app-java.ld
> ===================================================================
> RCS file: /cvs/src/src/libgloss/mips/jmr3904app-java.ld,v
> retrieving revision 1.6
> diff -p -p -r1.6 jmr3904app-java.ld
> *** jmr3904app-java.ld	18 Jul 2005 18:19:40 -0000	1.6
> --- jmr3904app-java.ld	22 Sep 2005 21:13:21 -0000
> *************** SECTIONS
> *** 39,45 ****
>        eprol  =  .;
>       *(.text)
>       *(.text.*)
> !     *(.gnu.linkonce.t*)
>       *(.mips16.fn.*)
>       *(.mips16.call.*)
>       PROVIDE (__runtime_reloc_start = .);
> --- 39,45 ----
>        eprol  =  .;
>       *(.text)
>       *(.text.*)
> !     *(.gnu.linkonce.t.*)
>       *(.mips16.fn.*)
>       *(.mips16.call.*)
>       PROVIDE (__runtime_reloc_start = .);
> *************** SECTIONS
> *** 54,66 ****
>       *(.rdata)
>       *(.rodata)
>       *(.rodata.*)
> !     *(.gnu.linkonce.r*)
>     }
>      _fdata = ALIGN(16);
>     .data : {
>       *(.data)
>       *(.data.*)
> !     *(.gnu.linkonce.d*)
>       CONSTRUCTORS
>     }
>     . = ALIGN(8);
> --- 54,66 ----
>       *(.rdata)
>       *(.rodata)
>       *(.rodata.*)
> !     *(.gnu.linkonce.r.*)
>     }
>      _fdata = ALIGN(16);
>     .data : {
>       *(.data)
>       *(.data.*)
> !     *(.gnu.linkonce.d.*)
>       CONSTRUCTORS
>     }
>     . = ALIGN(8);
> *************** SECTIONS
> *** 90,95 ****
> --- 90,96 ----
>     .bss : {
>       _bss_start = . ;
>       *(.bss)
> +     *(.gnu.linkonce.b.*)
>       *(COMMON)
>       . += 0x2000 ;  /* 8k bytes of stack. */
>       __stack = ALIGN(64) ;
> Index: jmr3904app.ld
> ===================================================================
> RCS file: /cvs/src/src/libgloss/mips/jmr3904app.ld,v
> retrieving revision 1.7
> diff -p -p -r1.7 jmr3904app.ld
> *** jmr3904app.ld	18 Jul 2005 18:19:40 -0000	1.7
> --- jmr3904app.ld	22 Sep 2005 21:13:21 -0000
> *************** SECTIONS
> *** 36,42 ****
>        eprol  =  .;
>       *(.text)
>       *(.text.*)
> !     *(.gnu.linkonce.t*)
>       *(.mips16.fn.*)
>       *(.mips16.call.*)
>       PROVIDE (__runtime_reloc_start = .);
> --- 36,42 ----
>        eprol  =  .;
>       *(.text)
>       *(.text.*)
> !     *(.gnu.linkonce.t.*)
>       *(.mips16.fn.*)
>       *(.mips16.call.*)
>       PROVIDE (__runtime_reloc_start = .);
> *************** SECTIONS
> *** 88,100 ****
>       *(.rdata)
>       *(.rodata)
>       *(.rodata.*)
> !     *(.gnu.linkonce.r*)
>     }
>      _fdata = ALIGN(16);
>     .data : {
>       *(.data)
>       *(.data.*)
> !     *(.gnu.linkonce.d*)
>     }
>     . = ALIGN(8);
>     _gp = . + 0x8000;
> --- 88,100 ----
>       *(.rdata)
>       *(.rodata)
>       *(.rodata.*)
> !     *(.gnu.linkonce.r.*)
>     }
>      _fdata = ALIGN(16);
>     .data : {
>       *(.data)
>       *(.data.*)
> !     *(.gnu.linkonce.d.*)
>     }
>     . = ALIGN(8);
>     _gp = . + 0x8000;
> *************** SECTIONS
> *** 123,128 ****
> --- 123,129 ----
>     .bss : {
>       _bss_start = . ;
>       *(.bss)
> +     *(.gnu.linkonce.b.*)
>       *(COMMON)
>       . += 0x2000 ;  /* 8k bytes of stack. */
>       __stack = ALIGN(64) ;
> Index: jmr3904dram-java.ld
> ===================================================================
> RCS file: /cvs/src/src/libgloss/mips/jmr3904dram-java.ld,v
> retrieving revision 1.6
> diff -p -p -r1.6 jmr3904dram-java.ld
> *** jmr3904dram-java.ld	18 Jul 2005 18:19:40 -0000	1.6
> --- jmr3904dram-java.ld	22 Sep 2005 21:13:21 -0000
> *************** SECTIONS
> *** 41,47 ****
>        eprol  =  .;
>       *(.text)
>       *(.text.*)
> !     *(.gnu.linkonce.t*)
>       *(.mips16.fn.*)
>       *(.mips16.call.*)
>       PROVIDE (__runtime_reloc_start = .);
> --- 41,47 ----
>        eprol  =  .;
>       *(.text)
>       *(.text.*)
> !     *(.gnu.linkonce.t.*)
>       *(.mips16.fn.*)
>       *(.mips16.call.*)
>       PROVIDE (__runtime_reloc_start = .);
> *************** SECTIONS
> *** 56,68 ****
>       *(.rdata)
>       *(.rodata)
>       *(.rodata.*)
> !     *(.gnu.linkonce.r*)
>     }
>      _fdata = ALIGN(16);
>     .data : {
>       *(.data)
>       *(.data.*)
> !     *(.gnu.linkonce.d*)
>       CONSTRUCTORS
>     }
>     . = ALIGN(8);
> --- 56,68 ----
>       *(.rdata)
>       *(.rodata)
>       *(.rodata.*)
> !     *(.gnu.linkonce.r.*)
>     }
>      _fdata = ALIGN(16);
>     .data : {
>       *(.data)
>       *(.data.*)
> !     *(.gnu.linkonce.d.*)
>       CONSTRUCTORS
>     }
>     . = ALIGN(8);
> *************** SECTIONS
> *** 92,97 ****
> --- 92,98 ----
>     .bss : {
>       _bss_start = . ;
>       *(.bss)
> +     *(.gnu.linkonce.b.*)
>       *(COMMON)
>     }
>   
> Index: jmr3904dram.ld
> ===================================================================
> RCS file: /cvs/src/src/libgloss/mips/jmr3904dram.ld,v
> retrieving revision 1.6
> diff -p -p -r1.6 jmr3904dram.ld
> *** jmr3904dram.ld	18 Jul 2005 18:19:40 -0000	1.6
> --- jmr3904dram.ld	22 Sep 2005 21:13:21 -0000
> *************** SECTIONS
> *** 38,44 ****
>        eprol  =  .;
>       *(.text)
>       *(.text.*)
> !     *(.gnu.linkonce.t*)
>       *(.mips16.fn.*)
>       *(.mips16.call.*)
>       PROVIDE (__runtime_reloc_start = .);
> --- 38,44 ----
>        eprol  =  .;
>       *(.text)
>       *(.text.*)
> !     *(.gnu.linkonce.t.*)
>       *(.mips16.fn.*)
>       *(.mips16.call.*)
>       PROVIDE (__runtime_reloc_start = .);
> *************** SECTIONS
> *** 53,65 ****
>       *(.rdata)
>       *(.rodata)
>       *(.rodata.*)
> !     *(.gnu.linkonce.r*)
>     }
>      _fdata = ALIGN(16);
>     .data : {
>       *(.data)
>       *(.data.*)
> !     *(.gnu.linkonce.d*)
>       CONSTRUCTORS
>     }
>     . = ALIGN(8);
> --- 53,65 ----
>       *(.rdata)
>       *(.rodata)
>       *(.rodata.*)
> !     *(.gnu.linkonce.r.*)
>     }
>      _fdata = ALIGN(16);
>     .data : {
>       *(.data)
>       *(.data.*)
> !     *(.gnu.linkonce.d.*)
>       CONSTRUCTORS
>     }
>     . = ALIGN(8);
> *************** SECTIONS
> *** 89,94 ****
> --- 89,95 ----
>     .bss : {
>       _bss_start = . ;
>       *(.bss)
> +     *(.gnu.linkonce.b.*)
>       *(COMMON)
>     }
>   
> Index: lsi.ld
> ===================================================================
> RCS file: /cvs/src/src/libgloss/mips/lsi.ld,v
> retrieving revision 1.6
> diff -p -p -r1.6 lsi.ld
> *** lsi.ld	18 Jul 2005 18:19:40 -0000	1.6
> --- lsi.ld	22 Sep 2005 21:13:21 -0000
> *************** SECTIONS
> *** 38,44 ****
>        eprol  =  .;
>       *(.text)
>       *(.text.*)
> !     *(.gnu.linkonce.t*)
>       PROVIDE (__runtime_reloc_start = .);
>       *(.rel.sdata)
>       PROVIDE (__runtime_reloc_stop = .);
> --- 38,44 ----
>        eprol  =  .;
>       *(.text)
>       *(.text.*)
> !     *(.gnu.linkonce.t.*)
>       PROVIDE (__runtime_reloc_start = .);
>       *(.rel.sdata)
>       PROVIDE (__runtime_reloc_stop = .);
> *************** SECTIONS
> *** 88,100 ****
>       *(.rdata)
>       *(.rodata)
>       *(.rodata.*)
> !     *(.gnu.linkonce.r*)
>     }
>      _fdata = ALIGN(16);
>     .data : {
>       *(.data)
>       *(.data.*)
> !     *(.gnu.linkonce.d*)
>       CONSTRUCTORS
>     }
>     . = ALIGN(8);
> --- 88,100 ----
>       *(.rdata)
>       *(.rodata)
>       *(.rodata.*)
> !     *(.gnu.linkonce.r.*)
>     }
>      _fdata = ALIGN(16);
>     .data : {
>       *(.data)
>       *(.data.*)
> !     *(.gnu.linkonce.d.*)
>       CONSTRUCTORS
>     }
>     . = ALIGN(8);
> *************** SECTIONS
> *** 123,128 ****
> --- 123,129 ----
>     .bss : {
>       _bss_start = . ;
>       *(.bss)
> +     *(.gnu.linkonce.b.*)
>       *(COMMON)
>     }
>      end = .;
> Index: nullmon.ld
> ===================================================================
> RCS file: /cvs/src/src/libgloss/mips/nullmon.ld,v
> retrieving revision 1.7
> diff -p -p -r1.7 nullmon.ld
> *** nullmon.ld	18 Jul 2005 18:19:40 -0000	1.7
> --- nullmon.ld	22 Sep 2005 21:13:21 -0000
> *************** SECTIONS
> *** 38,44 ****
>        eprol  =  .;
>       *(.text)
>       *(.text.*)
> !     *(.gnu.linkonce.t*)
>       *(.mips16.fn.*)
>       *(.mips16.call.*)
>       PROVIDE (__runtime_reloc_start = .);
> --- 38,44 ----
>        eprol  =  .;
>       *(.text)
>       *(.text.*)
> !     *(.gnu.linkonce.t.*)
>       *(.mips16.fn.*)
>       *(.mips16.call.*)
>       PROVIDE (__runtime_reloc_start = .);
> *************** SECTIONS
> *** 90,102 ****
>       *(.rdata)
>       *(.rodata)
>       *(.rodata.*)
> !     *(.gnu.linkonce.r*)
>     }
>      _fdata = ALIGN(16);
>     .data : {
>       *(.data)
>       *(.data.*)
> !     *(.gnu.linkonce.d*)
>     }
>     . = ALIGN(8);
>     _gp = . + 0x8000;
> --- 90,102 ----
>       *(.rdata)
>       *(.rodata)
>       *(.rodata.*)
> !     *(.gnu.linkonce.r.*)
>     }
>      _fdata = ALIGN(16);
>     .data : {
>       *(.data)
>       *(.data.*)
> !     *(.gnu.linkonce.d.*)
>     }
>     . = ALIGN(8);
>     _gp = . + 0x8000;
> *************** SECTIONS
> *** 125,130 ****
> --- 125,131 ----
>     .bss : {
>       _bss_start = . ;
>       *(.bss)
> +     *(.gnu.linkonce.b.*)
>       *(COMMON)
>     }
>      . = ALIGN(64) ;
> Index: pmon.ld
> ===================================================================
> RCS file: /cvs/src/src/libgloss/mips/pmon.ld,v
> retrieving revision 1.7
> diff -p -p -r1.7 pmon.ld
> *** pmon.ld	18 Jul 2005 18:19:40 -0000	1.7
> --- pmon.ld	22 Sep 2005 21:13:21 -0000
> *************** SECTIONS
> *** 38,44 ****
>        eprol  =  .;
>       *(.text)
>       *(.text.*)
> !     *(.gnu.linkonce.t*)
>       *(.mips16.fn.*)
>       *(.mips16.call.*)
>       PROVIDE (__runtime_reloc_start = .);
> --- 38,44 ----
>        eprol  =  .;
>       *(.text)
>       *(.text.*)
> !     *(.gnu.linkonce.t.*)
>       *(.mips16.fn.*)
>       *(.mips16.call.*)
>       PROVIDE (__runtime_reloc_start = .);
> *************** SECTIONS
> *** 90,102 ****
>       *(.rdata)
>       *(.rodata)
>       *(.rodata.*)
> !     *(.gnu.linkonce.r*)
>     }
>      _fdata = ALIGN(16);
>     .data : {
>       *(.data)
>       *(.data.*)
> !     *(.gnu.linkonce.d*)
>     }
>     . = ALIGN(8);
>     _gp = . + 0x8000;
> --- 90,102 ----
>       *(.rdata)
>       *(.rodata)
>       *(.rodata.*)
> !     *(.gnu.linkonce.r.*)
>     }
>      _fdata = ALIGN(16);
>     .data : {
>       *(.data)
>       *(.data.*)
> !     *(.gnu.linkonce.d.*)
>     }
>     . = ALIGN(8);
>     _gp = . + 0x8000;
> *************** SECTIONS
> *** 125,130 ****
> --- 125,131 ----
>     .bss : {
>       _bss_start = . ;
>       *(.bss)
> +     *(.gnu.linkonce.b.*)
>       *(COMMON)
>     }
>   



More information about the Newlib mailing list