Commit graph

162 commits

Author SHA1 Message Date
Nick Clifton
f55ba3999c Fill .init and .fini sections with NOPs 1999-01-11 09:10:54 +00:00
Nick Clifton
025ce5c6d8 Add sanitization for FR30 1998-11-05 17:51:55 +00:00
Nick Clifton
7192be38cc Add support for FR30 1998-11-05 00:41:24 +00:00
Catherine Moore
64923bb947 * ldmain.c (main): Error if --gc-sections and
dyanmic linking.
        * scripttempl/v850.sc:  Add KEEP attribute to .init,
        .fini, .dtors and .ctors.  Add .data and .text
        wildcards to support section garbage collection.
1998-10-05 14:48:32 +00:00
Nick Clifton
8d3859c765 Fix for PR 17063 - do not create a section called .call_table, instead create
sections called .call_table_data and .call_table_text.
1998-09-30 18:37:55 +00:00
Catherine Moore
c42591bfd5 remove elfarm.sc 1998-09-01 13:59:18 +00:00
Catherine Moore
4a634a0bcb * emulparams/armelf.sh: Change SCRIPT_NAME to
elf.  Change TEXT_START_ADDR to 0x8000.  Define
        OTHER_TEXT_SECTIONS, OTHER_BSS_SYMBOLS and
        OTHER_BSS_END_SYMBOLS.
        * scripttempl/elf.sc:  Modify to use
        OTHER_BSS_END_SYMBOLS.
        * scripttempl/elfarm.sc:  Remove file.
1998-08-31 16:26:28 +00:00
Catherine Moore
28278f9032 add elfarm.sc to things to keep 1998-08-27 20:40:30 +00:00
Ian Lance Taylor
63bb5e9a79 * ldgram.y: Include "ldctor.h".
(statement): Accept SORT around CONSTRUCTORS.
	* ldctor.c: Include <ctype.h>.
	(constructors_sorted): New global variable.
	(ctor_prio, ctor_cmp): New static functions.
	(ldctor_build_sets): Sort constructors if requested.
	* ldctor.h (constructors_sorted): Declare.
	* ldlang.c (print_statement): Print sorted CONSTRUCTORS
	correctly.
	* scripttempl/elf.sc: Add sort around CONSTRUCTORS.
	* ld.texinfo (Output Section Keywords): Document SORT
 	(CONSTRUCTORS).
1998-08-14 19:40:01 +00:00
Catherine Moore
527c54a697 Thu Aug 13 12:20:39 1998 Catherine Moore <clm@cygnus.com>
* emulparams/armelf.sh:  Define TEMPLATE_NAME to armelf.
       * scripttempl/elfarm.sc:  Include .glue_7t and .glue7
       sections.
       * emultempl/armelf.em: New file.
1998-08-13 17:45:02 +00:00
Catherine Moore
b3bd5b1511 * scripttempl/elfarm.sc: Change text start address
back to zero.
1998-08-12 00:11:13 +00:00
Catherine Moore
45834a73ef * scripttempl/elfarm.sc: Set text start address to
0x8000.  Add __bss_end definition.
1998-08-10 01:45:58 +00:00
Nick Clifton
4857ffb496 fix armelf sanitization 1998-08-04 15:53:37 +00:00
Catherine Moore
020c70e98e * scripttempl/elfarm.sc: New file.
* emulparams/armelf.sh: Set SCRIPT_NAME to elfarm.
1998-08-01 17:30:02 +00:00
Ian Lance Taylor
b69153b601 remove d30v sanitization 1998-07-24 04:14:04 +00:00
Richard Henderson
d51be0a936 * configure.tgt (i?86-*-beos{pe,elf,}*): Recognize.
* Makefile.am (ei386beos.o): New.
        * emulparams/i386beos.sh: New file.
        * emultempl/beos.em, scripttempl/i386beos.sc: New file.
1998-07-14 22:40:17 +00:00
Richard Henderson
71b012a810 * ld.h (args_type): Add gc_sections.
* ldgram.y (ldgram_had_keep, KEEP): New.
        (input_section_spec_no_keep): Rename from old input_section_spec.
        (input_section_spec): New.  Recognize KEEP.
        * ldlang.c (wild_section): Handle keep sections.
        (lang_gc_wild_section, lang_gc_wild_file, lang_gc_wild): New.
        (lang_gc_sections_1, lang_gc_sections): New.
        (lang_process): Invoke lang_gc_sections.
        (lang_add_wild): Add keep argument.  Update all callers.
        * ldlang.h (lang_wild_statement_struct): Add keep_sections.
        * ldlex.l (KEEP): Match it.
        * ldmain.c (main): Error on -r and --gc-sections.
        * lexsup.c: Add --gc-sections.

        * scripttempl/elf.sc: Merge .text.* etc sections appropriately.
        Mark startup sections with KEEP.
        * scripttempl/elfppc.sc: Likewise.

        * ld.texinfo: Update for --gc-sections and KEEP.
1998-07-02 02:52:31 +00:00
Ian Lance Taylor
b4c61dc900 From Jason Merrill <jason@cygnus.com>:
* ldlang.c (wild_sort): Correct order of sort.
	* scripttempl/elf.sc: Put *crtbegin.o before other .ctors and
	.dtors.
	* scripttempl/elfd10v.sc: Likewise.
start-sanitize-d30v
	* scripttempl/elfd30v.sc: Likewise.
end-sanitize-d30v
	* scripttempl/elfppc.sc: Likewise.
1998-05-18 20:21:22 +00:00
Ian Lance Taylor
26c7ca95b4 * ldlex.l: Recognize keyword SORT.
* ldgram.y (current_file): Change to struct wildcard_spec.
	(%union): Add new fields cname and wildcard.
	(wildcard_name, wildcard_spec): New nonterminals.
	(file_NAME_list): Use wildcard_spec.
	(input_section_spec): Change current_file usage.
	* ld.h (struct wildcard_spec): Define.
	* ldlang.h (lang_wild_statement_struct): Add new fields
	sections_sorted and filenames_sorted.
	(lang_add_wild): Update declaration.
	* ldlang.c (wild_sort): New static function.
	(wild_section): Use wild_sort.
	(print_wild_statement): Print sorting information.
	(lang_add_wild): Add new parameters sections_sorted and
	filenames_sorted.  Change all callers.
	* mri.c (mri_draw_tree): Update calls to lang_add_wild.
	* scripttempl/elf.sc: Sort .ctors.* and .dtors.* by section name.
	* scripttempl/elfd10v.sc: Likewise.
	* scripttempl/elfd30v.sc: Likewise.
	* scripttempl/elfppc.sc: Likewise.
1998-05-15 07:29:35 +00:00
Ian Lance Taylor
e33bfde75c fix sanitization for gettext changes 1998-04-22 16:18:07 +00:00
Ian Lance Taylor
9216fffaef * scripttempl/pe.sc: Only include .idata\$[0-7] in .idata when
relocating.
1998-03-25 16:35:13 +00:00
Geoffrey Noer
155d9cc48a Thu Mar 19 14:54:45 1998 Geoffrey Noer <noer@cygnus.com>
* scripttempl/pe.sc: The Cygwin32 library uses a .data$nocopy
        section to avoid copying certain data on fork.  The linker used to
        include this between __data_start__ and __data_end__, but that
        breaks building the cygwin32 dll.  The fix is to rename the
        section ".data_cygwin_nocopy" and explictly include it after
        __data_end__.
1998-03-19 23:04:54 +00:00
Ian Lance Taylor
cdf91fe451 Mon Feb 2 19:34:54 1998 Steve Haworth <steve@pm.cse.rmit.EDU.AU>
Add tms320c30 support:
	* configure.tgt (tic30-*-*aout*, tic30-*-*coff*): New targets.
	* emulparams/tic30aout.sh: New file.
	* emulparams/tic30coff.sh: New file.
	* scripttempl/tic30aout.sc: New file.
	* scripttempl/tic30coff.sc: New file.
	* Makefile.am (ALL_EMULATIONS): Add etic30aout.o and
	etic30coff.o.
	(etic30aout.c, etic30coff.c): New targets.
	* Makefile.in: Rebuild.
1998-02-03 00:37:20 +00:00
Ian Lance Taylor
93ed82b0c7 Fri Jan 30 19:15:17 1998 Geoff Keating <geoffk@ozemail.com.au>
* scripttempl/elfppc.sc: Put .dynsbss in .sbss.
1998-01-31 00:16:44 +00:00
Michael Meissner
03ab605af6 Link in .eh_section into data section 1998-01-01 20:00:36 +00:00
Nick Clifton
cd66558c07 Renamed v850eq -> v850ea 1997-12-12 19:05:07 +00:00
Michael Meissner
27be012212 Change order slightly 1997-12-09 23:35:35 +00:00
Michael Meissner
b0f764345d Add configurability to d30v 1997-12-09 20:37:00 +00:00
Ian Lance Taylor
a12e621548 * scripttempl/pe.sc: Put .stab and .stabstr sections at end. 1997-10-15 18:53:18 +00:00
Nick Clifton
2e6fa283b4 Added support for the call table data area. 1997-09-17 23:45:41 +00:00
Ian Lance Taylor
4602e5f401 Mon Jun 16 19:18:21 1997 Geoff Keating <geoffk@ozemail.com.au>
* scripttempl/elfppc.sc: Correct .rela.sdata entries.

	* scripttempl/elfppc.sc: Put the PLT between the small and large
	BSS segments.
	* emulparams/elf32ppc.sh (TEXT_START_ADDR): The ABI says `A
	program base of 0x02000000 is recommended...' because otherwise
	shared libraries are less efficient.  We use 0x01800000 because
	otherwise it's impossible to branch to location 0, for instance if
	you have an undefined weak symbol.
1997-06-16 23:21:18 +00:00
Ian Lance Taylor
94d8217d65 * scripttempl/pe.sc: Add zeroes after .idata$3 to mark the end of
the import list.
1997-06-07 03:48:00 +00:00
Ian Lance Taylor
1a7f2a866e * scripttempl/elfmips.sc: Remove.
* scripttempl/elf.sc: Set ENTRY based on target.  Permit
	TEXT_DYNAMIC to control .dynamic segment.  Permit
	SHLIB_TEXT_START_ADDR to set start of shared object.  Support
	INITIAL_READONLY_SECTIONS.  Put .stub in .text.  Only put
	.gnu.linkonce.t* in .text when relocating.  Support
	OTHER_TEXT_SECTIONS.  Support SHLIB_DATA_ADDR as well as
	DATA_ADDR.  Support OTHER_GOT_SYMBOLS and OTHER_GOT_SECTIONS.
	* emulparams/elf32b4300.sh (SCRIPT_NAME): Set to elf.
	(DATA_ADDR): Don't set.
	(INITIAL_READONLY_SECTIONS): Rename from OTHER_READONLY_SECTIONS.
	(OTHER_TEXT_SECTIONS): Set.
	(OTHER_GOT_SECTIONS): Rename from OTHER_READWRITE_SECTIONS.
	(MACHINE): Set to empty string.
	* emulparams/elf32l4300.sh: Likewise.
	* emulparams/elf32ebmip.sh: Likewise.
	* emulparams/elf32elmip.sh: Likewise.
	* emulparams/elf32bmip.sh: Likewise.  Also:
	(TEXT_DYNAMIC): Set.
	* emulparams/elf32lmips.sh: Likewise.
	* Makefile.in (eelf32bmips.c): Depend upon elf.sc rather than
	elfmips.sc.
	(eelf32ebmips.c, eelf32elmips.c, eelf32lmip.c): Likewise.
1997-05-13 03:30:20 +00:00
Ian Lance Taylor
3d046499bc Mon May 12 11:11:06 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* scripttempl/elf.sc: Don't align the data segment on the next 8
	byte boundary, instead let the linker use whatever the individual
	sections require.
1997-05-12 15:12:12 +00:00
Michael Meissner
df184f82b2 Fix name of constructors/destructors 1997-05-02 19:57:12 +00:00
Ian Lance Taylor
d7450eb7ee revert Alpha/OpenBSD patches 1997-04-30 16:18:37 +00:00
Ian Lance Taylor
40f96c6fe5 Fri Apr 18 11:54:43 1997 Niklas Hallqvist <niklas@appli.se>
* Makefile.in (ALL_EMULATIONS): Add ealphabsd.o.
	(ealphabsd.c): New rule.
	* configure.host (alpha-*-bsd): New target.
	* configure.tgt (alpha-*-bsd): New target.
	* emulparams/alphabsd.sh: New file for *BSD/alpha.
	* scripttempl/alphabsd.sc: New file for *BSD/alpha.
1997-04-18 15:57:37 +00:00
Ian Lance Taylor
de386cf61f fix comment 1997-03-28 19:27:51 +00:00
Ian Lance Taylor
2adb092c95 * scripttempl/elfmips.sc: Change handling of data area when
generating a shared library to not skip a large block of memory.
	From Per Fogelstrom <pefo@cvs.openbsd.org>.
1997-03-15 02:31:01 +00:00
Angela Marie Thomas
94b569d255 oops... always keep d10v stuff 1997-02-27 08:18:39 +00:00
Martin Hunt
232e870207 Fri Feb 21 17:37:51 1997 Martin M. Hunt <hunt@pizza.cygnus.com>
* Makefile.in (ed30velf.c): New target.
	* configure.tgt (d30v-*-*): New target.
	* emulparams/d30velf.sh: New file.
	* scripttempl/elfd30v.sc: New file.
1997-02-22 01:42:27 +00:00
Ian Lance Taylor
e7886d4ba1 * scripttempl/elfmips.sc: When relocating, put .mips16.fn.* and
.mips16.call.* in .text.
1997-02-11 20:34:57 +00:00
Fred Fish
11effa691a * emulparams/tic80coff.sh: New (dummy) file for TIc80.
* scripttempl/tic80coff.sc: New (dummy) file for TIc80.
	* Makefile.in (etic80coff.c): Add target and rule to build it.
	* configure.tgt (tic80-*-coff): Set targ_emul to tic80coff.
1997-02-10 01:17:14 +00:00
Ian Lance Taylor
f5f212fb56 * scripttempl/elf.sc: Put linkonce reloc section in other
appropriate reloc sections.
	* scripttempl/elfmips.sc: Add linkonce support.
	* scripttempl/elfppc.sc: Likewise.
1997-01-27 17:39:24 +00:00
Ian Lance Taylor
093427533c * configure.tgt (mips*el-*-linux*, mips*-*-linux*): New targets.
* scripttempl/elfmips.sc: Use __start as the entry address for
	mips*-*-linux*.
1997-01-02 23:15:34 +00:00
Michael Meissner
c43452b052 Add .tbyte and .tbss sections 1996-12-30 18:57:36 +00:00
Michael Meissner
93f8f531b0 Make __{e,g}p correctly start relative to the beginning of the section; Cleanup 1996-12-13 20:37:35 +00:00
Jason Merrill
264677bbe1 * scripttempl/{elfd10v.sc,elfmips.sc,elfppc.sc,v850.sc}: Likewise. 1996-11-27 11:29:23 +00:00
Stan Shebs
de61c9e1f3 Fix sanitization of D10V script template 1996-11-01 02:14:43 +00:00
Ian Lance Taylor
aa9b7dedc8 handle v850.sc 1996-10-28 23:48:06 +00:00