4
0
mirror of git://sourceware.org/git/newlib-cygwin.git synced 2025-01-19 12:59:21 +08:00

12 Commits

Author SHA1 Message Date
Faraz Shahbazker
277e3f4aa7 Make .data section placement coincide with _fdata symbol
The _fdata symbol in MIPS linker scripts is aligned to a 16-byte
boundary.  The ALIGN function does not implicitly update current
location counter.  If sections positioned after the assignment
do not have the same natural alignment as the ALIGN function then
the start of the section group will not coincide with the value
of the symbol.

Given the linker command sequence:
  symbol = ALIGN (NN);
  (.section*)
where the idiom implies a desire to mark the beginning of .section
with symbol, there must be an assignment to the location counter
between the assignment to symbol and the .section pattern.

libgloss/
	* mips/array.ld: Update the location counter to match _fdata.
	* mips/cfe.ld: Likewise.
	* mips/ddb-kseg0.ld: Likewise.
	* mips/ddb.ld: Likewise.
	* mips/dve.ld: Likewise.
	* mips/idt.ld: Likewise.
	* mips/idt32.ld: Likewise.
	* mips/idt64.ld: Likewise.
	* mips/idtecoff.ld: Likewise.
	* mips/jmr3904app-java.ld: Likewise.
	* mips/jmr3904app.ld: Likewise.
	* mips/jmr3904dram-java.ld: Likewise.
	* mips/jmr3904dram.ld: Likewise.
	* mips/lsi.ld: Likewise.
	* mips/mti32.ld: Likewise.
	* mips/mti64.ld: Likewise.
	* mips/mti64_64.ld: Likewise.
	* mips/mti64_n32.ld: Likewise.
	* mips/nullmon.ld: Likewise.
	* mips/pmon.ld: Likewise.
	* mips/sde32.ld: Likewise.
	* mips/sde64.ld: Likewise.
2020-10-14 10:53:53 -04:00
Faraz Shahbazker
add5a9c033 Fix order of eh_frame sections in linker scripts
The compiler driver positions the linker script at the end of the linker
command-line, after crtend.o.  As a result, any INPUT objects and archive
GROUPs introduced by the linker script are placed after crtend.o and the
end-of-frame marker provided by crtend.o ends up in between .eh_frames
instead of being at the end.

This has always been a problem, but a binutils update to clean-up
redundant NULL markers in .eh_frame exposes it as a execution failure in
exception-handling tests.  This patch re-orders .eh_frames in all
MIPS linker scripts so that the one from crtend.o is always placed last.

libgloss/
	* mips/array.ld: Re-order to place .eh_frame from crtend.o
	after all other .eh_frame sections.
	* mips/cfe.ld: Likewise.
	* mips/ddb-kseg0.ld: Likewise.
	* mips/ddb.ld: Likewise.
	* mips/dve.ld: Likewise.
	* mips/idt.ld: Likewise.
	* mips/idt32.ld: Likewise.
	* mips/idt64.ld: Likewise.
	* mips/jmr3904app.ld: Likewise.
	* mips/lsi.ld: Likewise.
	* mips/mti32.ld: Likewise.
	* mips/mti64.ld: Likewise.
	* mips/mti64_64.ld: Likewise.
	* mips/mti64_n32.ld: Likewise.
	* mips/nullmon.ld: Likewise.
	* mips/pmon.ld: Likewise.
	* mips/sde32.ld: Likewise.
	* mips/sde64.ld: Likewise.
2020-10-14 10:53:52 -04:00
Adam Nemet
8f2a0718d2 * mips/idt64.ld: Set arch to mips:isa64r2 from mips:isa64. Update
comment.
2008-12-05 19:51:33 +00:00
Jeff Johnston
6d153d4ebb 2006-06-08 Fred Fish <fnf@specifix.com>
* mips/idt.ld, mips/idt32.ld, mips/idt64.ld, mips/nullmon.ld,
        mips/pmon.ld:  Keep special sections generated by mips gcc.
2006-06-08 16:13:11 +00:00
Jeff Johnston
dd8ed8c6f2 2005-10-03 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: Add support for .bss.* sections.
2005-10-03 17:29:47 +00:00
Jeff Johnston
3924c5c780 2005-09-23 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.*.
2005-09-23 15:51:10 +00:00
Jeff Johnston
650c30276a 2005-07-18 Richard Sandiford <richard@codesourcery.com>
* 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.
2005-07-18 18:19:40 +00:00
Corinna Vinschen
fece73ae83 * arm/elf-redboot.ld, iq2000/sim.ld, m68hc11/sim-valid-m68hc11.ld,
* m68hc11/sim-valid-m68hc12.ld, mcore/elf-cmb.ld, mips/cfe.ld,
	* mips/ddb-kseg0.ld, mips/ddb.ld, mips/dve.ld, mips/idt.ld,
	* mips/idt32.ld, mips/idt64.ld, mips/jmr3904app-java.ld,
	* mips/jmr3904app.ld, mips/jmr3904dram-java.ld, mips/jmr3904dram.ld,
	* mips/nullmon.ld, mips/pmon.ld, mn10200/eval.ld, mn10200/sim.ld,
	* mn10300/asb2303.ld, mn10300/asb2305.ld, mn10300/eval.ld,
	* mn10300/sim.ld, rs6000/ads.ld, rs6000/mbx.ld, rs6000/yellowknife.ld,
	* sh/sh1lcevb.ld, sh/sh2lcevb.ld, sh/sh3bb.ld, sh/sh3lcevb.ld,
	* sparc/elfsim.ld, sparc/ex930.ld, sparc/ex931.ld, sparc/ex934.ld,
	* sparc/sparc86x.ld, xstormy16/eva_app.ld, xstormy16/eva_stub.ld,
	* xstormy16/sim_high.ld, xstormy16/sim_rom.ld: Add .debug_ranges
	section.
2005-05-20 15:45:45 +00:00
Richard Sandiford
576d455f5f * mips/array.ld, mips/cfe.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: Keep .init and .fini.
2005-04-12 08:06:40 +00:00
Richard Sandiford
8c91dd0a29 * mips/array.ld, mips/cfe.ld, mips/ddb-kseg0.ld, mips/ddb.ld,
* mips/dve.ld, mips/idt32.ld, mips/idt64.ld, mips/idt.ld
	* mips/jmr3904app.ld, mips/lsi.ld, mips/nullmon.ld, mips/pmon.ld
	(.eh_frame_hdr, .eh_frame, .gcc_except_table, .jcr): New sections.
2004-05-05 12:16:31 +00:00
Jeff Johnston
451e452847 2002-07-12 Chris Demetriou <cgd@broadcom.com>
* mips/array.ld (hardware_exit_hook, hardware_hazard_hook): New
        symbols for optionally-provided functions.
        * mips/ddb-kseg0.ld: Likewise.
        * mips/ddb.ld: Likewise.
        * mips/dve.ld: Likewise.
        * mips/idt.ld: Likewise.
        * mips/idt32.ld: Likewise.
        * mips/idt64.ld: Likewise.
        * mips/idtecoff.ld: Likewise.
        * mips/jmr3904app-java.ld: Likewise.
        * mips/jmr3904app.ld: Likewise.
        * mips/jmr3904dram-java.ld: Likewise.
        * mips/jmr3904dram.ld: Likewise.
        * mips/lsi.ld: Likewise.
        * mips/nullmon.ld: Likewise.
        * mips/pmon.ld: Likewise.
        * mips/crt0.S: Invoke hardware_exit_hook and hardware_hazard_hook
        functions if they are provided.
        (_exit): Handle __embedded_pic properly.
2002-07-12 15:37:04 +00:00
Eric Christopher
bf0338856a 2001-09-14 Eric Christopher <echristo@redhat.com>
* mips/configure.in: Add mipsisa32 support.
        * mips/configure: Regenerate.
        * mips/idt32.ld: New file.
        * mips/idt64.ld: New file.
2001-09-14 18:40:47 +00:00