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
Jeff Law
4ad9452c46
* scriptempl/v850.sc (zdata): Make sure this stays
...
in lo-memory.
zda testing.
1996-10-23 22:18:55 +00:00
Jeff Law
5549ebeda0
* scripttempl/v850.sc (__ep): Put it at the start
...
of the tda section.
v850.
1996-10-23 03:19:16 +00:00
Jeff Law
06c5b0fc96
* scriptempl/v850.sc: Move all "normal" sections into
...
the external memory region (0x100000 - 0x200000).
So plumhall works again (hopefully).
1996-10-22 17:45:57 +00:00
Michael Meissner
36cf21ce53
Make d10v .text start at 0x10000
1996-10-21 21:26:59 +00:00
Jeff Law
b502879f75
* scripttempl/v850.sc (__gp, __ep): Define.
1996-10-18 18:59:45 +00:00
Jeff Law
c23b6a6bc9
* scripttempl/v850.sc (.zdata): Add this before .text.
...
(.sdata): Also include .rosdata as part of the .sdata.
(.tdata): Include this just before .sdata.
1996-10-17 20:48:42 +00:00
Jeff Law
2b8cd389ae
* emulparms/v850.sh (SCRIPT_NAME): Use "v850" not "elf".
...
* scripttempl/v850.sc: Wrap script with a "cat << EOF".
Problems with last night's changes.
1996-10-17 16:58:31 +00:00
Jeff Law
d27d34c382
* scripttempl/v850.sc: New linker script for the V850.
...
* Makefile.in: Use it.
1996-10-17 05:10:52 +00:00
Jason Merrill
9193c60b55
Sun Oct 6 22:35:36 1996 Jason Merrill <jason@yorick.cygnus.com>
...
* scripttempl/elf{,mips,ppc}.sc: Add DWARF 2 sections.
1996-10-07 05:36:57 +00:00
Ian Lance Taylor
4fc7ca82bf
* scripttempl/elfmips.sc: Handle CREATE_SHLIB the same way that
...
elf.sc does, so that glibc works better.
1996-10-01 22:31:27 +00:00
Ian Lance Taylor
df6b92ed1b
* scripttempl/armcoff.sc: For -N or -n, don't align .data. From
...
Chris Hadley <Christopher.Hadley@cl.cam.ac.uk>
1996-09-16 21:56:33 +00:00
Ian Lance Taylor
18f0961ed9
* scripttempl/elf.sc: Put .gnu.linkonce* sections in .text.
1996-08-21 18:27:28 +00:00
Jeff Law
cce8528df9
No longer sanitize away h8s stuff.
1996-07-05 18:54:28 +00:00
Michael Meissner
edcfb9db65
Do not do PROVIDE of _GLOBAL_OFFSET_TABLE_
1996-06-24 22:57:16 +00:00
Jeff Law
71415be57c
* scripttempl/h8300s.sc: New file for H8/S.
...
* emulpararms/h8300s.sh: New file for H8/S.
* Makefile.in (ALL_EMULATIONS): Add H8/S.
(e_h8300s.c): Add dependencies.
* configure.tgt: Add H8/S to targ_extra_emuls.
H8/S linker stuff. Sanitized until status of this code is known.
1996-06-18 22:55:30 +00:00
Jim Wilson
f98286385f
Kill r16/rce/acp stuff.
1996-06-08 03:52:13 +00:00