Commit Graph

8 Commits

Author SHA1 Message Date
Faraz Shahbazker d3316d7bbf Align _end symbol to at least 4 in all MIPS scripts
Left-over part of commit 84b2a020da

The _end marker must be aligned to 4-bytes to ensure that the last
element written does not reach beyond the address of _end.  This is
also necessary as the termination condition is an equality test
instead of an ordered test so (_end - _fbss) must be a multiple of
4-bytes.  The alignment is already correct for mti*.ld files, fix
it for all remaining MIPS scripts that don't already align to at
least 4.
2020-10-14 10:53:57 -04:00
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
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
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
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
Ranjith Kumaran 03261851a1 20000317 sourceware import 2000-03-17 22:48:54 +00:00