Commit graph

167 commits

Author SHA1 Message Date
Nick Clifton
3c3bdf30e4 Add MMIX support 2001-10-30 15:20:14 +00:00
Nick Clifton
fd521b4750 Define __EH_FRAME_{BEGIN|END}__ 2001-10-20 09:56:29 +00:00
Nick Clifton
5af8a2fbdc Fix arm aout placement of .bss section 2001-10-11 17:28:43 +00:00
Catherine Moore
cedacdc05a * scripttempl/v850.sc: Add gcc_except_table sections. 2001-09-12 14:09:18 +00:00
Jakub Jelinek
db6751f2e7 * elf-bfd.h (enum elf_reloc_type_class): New.
(struct elf_backend_data): Add elf_backend_reloc_type_class.
	(_bfd_elf_reloc_type_class): New.
	* elfxx-target.h (elf_backend_reloc_type_class): Define.
	(elfNN_bed): Add elf_backend_reloc_type_class.
	* elf.c (_bfd_elf_reloc_type_class): New.
	* elf32-i386.c (elf_i386_check_relocs): Set DF_TEXTREL if the reloc
	is against read-only section.
	(elf_i386_size_dynamic_sections): Use DF_TEXTREL flag instead of
	looking up section names for DT_TEXTREL.
	(elf_i386_reloc_type_class): New.
	(elf_backend_reloc_type_class): Define.
	* elf32-sparc.c (elf32_sparc_check_relocs): Set DF_TEXTREL if the
	reloc is against read-only section.
	(elf32_sparc_size_dynamic_sections): Use DF_TEXTREL flag instead of
	looking up section names for DT_TEXTREL.
	(elf32_sparc_reloc_type_class): New.
	(elf_backend_reloc_type_class): Define.
	* elf64-sparc.c (sparc64_elf_check_relocs): Set DF_TEXTREL if the
	reloc is against read-only section.
	(sparc64_elf_size_dynamic_sections): Use DF_TEXTREL flag instead of
	looking up section names for DT_TEXTREL.
	(sparc64_elf_reloc_type_class): New.
	(elf_backend_reloc_type_class): Define.
	* elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add reltext field.
	(elfNN_ia64_hash_table_create): Clear ia64_info.
	(get_reloc_section): Set DF_TEXTREL if the reloc is against read-only
	section.
	(elfNN_ia64_size_dynamic_sections): Use ia64_info->reltext flag
	instead of looking up section names for DT_TEXTREL.
	(elfNN_ia64_reloc_type_class): New.
	(elf_backend_reloc_type_class): Define.
	* elflink.h (size_dynamic_sections): Add spare DT_NULL tags.
	(struct elf_link_sort_rela): New.
	(elf_link_sort_cmp1, elf_link_sort_cmp2, elf_link_sort_relocs): New.
	(elf_bfd_final_link): Call elf_link_sort_relocs.
	Convert one spare DT_NULL into DT_RELCOUNT resp. DT_RELACOUNT if
	necessary.

	* bfdlink.h (struct bfd_link_info): Add combreloc and
	spare_dynamic_tags fields.

	* emultempl/elf32.em (place_orphan): Place orphan .rel* sections
	into .rel.dyn resp. .rela.dyn if combreloc.
	(get_script): If .x linker script is equal to .xn, only put it
	once into the binary.
	Add .xc and .xsc scripts.
	(parse_args): Handle -z combreloc and -z nocombreloc.
	* scripttempl/elf.sc (.rela.sbss): Fix a typo.
	For .xc and .xsc scripts put all .rel* or .rela* input sections
	but .rel*.plt and PLT-like sections into .rel.dyn resp. .rela.dyn.
	* genscripts.sh (GENERATE_COMBRELOC_SCRIPT): Set if SCRIPT_NAME
	is elf.
	Strip trailing whitespace from script.
	Generate .xc and .xsc scripts if requested.
	* ldmain.c (main): Initialize link_info.combreloc and
	link_info.spare_dynamic_tags.
	* lexsup.c (OPTION_SPARE_DYNAMIC_TAGS): Define.
	(ld_options): Add --spare-dynamic-tags option.
	(parse_args): Likewise.
	* ld.texinfo: Document -z combreloc and -z nocombreloc.
	* ldint.texinfo: Document .xc and .xsc linker scripts.
	* NEWS: Add notes about -z combreloc and SHF_MERGE.
2001-08-23 15:14:18 +00:00
Alan Modra
563e308f24 * ld.texinfo: Document that fill values now use the four least
significant bytes.
	* emulparams/elf32fr30.sh (NOP): Update.
	* emulparams/elf32mcore.sh: Likewise.
	* emulparams/elf64_s390.sh: Likewise.
	* emulparams/elf_i386.sh: Likewise.
	* emulparams/elf_i386_be.sh: Likewise.
	* emulparams/elf_i386_chaos.sh: Likewise.
	* emulparams/elf_i386_ldso.sh: Likewise.
	* emulparams/elf_s390.sh: Likewise.
	* emulparams/elf_x86_64.sh: Likewise.
	* emulparams/i386moss.sh: Likewise.
	* emulparams/i386nw.sh: Likewise.
	* emulparams/m68kelf.sh: Likewise.
	* scripttempl/elf.sc: Update NOP comment.
	* scripttempl/elfi370.sc: Likewise.
	* scripttempl/elfm68hc11.sc: Likewise.
	* scripttempl/elfm68hc12.sc: Likewise.
	* scripttempl/nw.sc: Likewise.
2001-08-17 09:51:08 +00:00
Richard Henderson
24098abb6c * scripttempl/elf.sc, scripttempl/elfd30v.sc,
scripttempl/elfm68hc11.sc, scripttempl/elfm68hc12.sc,
        scripttempl/v850.sc: Keep .jcr data.
2001-08-12 20:19:49 +00:00
Alan Modra
5253f23b62 * scripttempl/elf.sc: Move non-text .dynamic section before
.plt/.got/.sdata* group.
	(OTHER_GOT_SECTIONS): Move to immediately after .got.
	(OTHER_SDATA_SECTIONS): Add.
	* emulparams/criself.sh: Use OTHER_SDATA_SECTIONS rather than
	OTHER_GOT_SECTIONS.
	* emulparams/crislinux.sh: Likewise.
	* emulparams/elf32b4300.sh: Likewise.
	* emulparams/elf32bmip.sh: Likewise.
	* emulparams/elf32bmipn32.sh: Likewise.
	* emulparams/elf32bsmip.sh: Likewise.
	* emulparams/elf32btsmip.sh: Likewise.
	* emulparams/elf32ebmip.sh: Likewise.
	* emulparams/elf32elmip.sh: Likewise.
	* emulparams/elf32l4300.sh: Likewise.
	* emulparams/elf32lmip.sh: Likewise.
	* emulparams/elf32lsmip.sh: Likewise.
	* emulparams/elf32ltsmip.sh: Likewise.
	* emulparams/elf64bmip.sh: Likewise.
	* emulparams/elf64btsmip.sh: Likewise.
	* emulparams/elf64ltsmip.sh: Likewise.
2001-08-09 14:25:59 +00:00
Stephane Carrez
de0b18539d * scripttempl/elfm68hc12.sc (FINISH_CODE, FINISH_RELOC): New to handle
.fini[0-4] sections used by _exit
	(CTOR, DTOR): Export ctor/dtor symbols; move them to ROM.
	(*.text,*.data,*.bss): Take into account .text.*, .data.*, .bss.*.
	* scripttempl/elfm68hc11.sc: Likewise.
2001-08-03 20:41:26 +00:00
H.J. Lu
63653551a8 2001-07-03 H.J. Lu <hjl@gnu.org>
* scripttempl/elf.sc (DYNAMIC_PAD): Revert the change made on
	2001-07-03. It creates dynamic entries even for static binaries.
2001-07-03 23:22:20 +00:00
H.J. Lu
d303a449f2 2001-07-03 Jakub Jelinek <jakub@redhat.com>
* scripttempl/elf.sc (DYNAMIC_PAD): New variable.
	(DYNAMIC): Use it to reserve few dynamic entries for
	post-linking tools.
2001-07-03 17:40:14 +00:00
Tom Rix
3b1b01cf25 Support for xcoff64 2001-05-24 20:59:23 +00:00
Nick Clifton
87748b3227 Add support for arm-vxworks target 2001-04-27 17:12:18 +00:00
Nick Clifton
c20ec07b9a Support the GCC flags '-ffunction-sections' and '-fdata-sections'.
Set the VMA of STABS sections to zero.
2001-03-23 23:05:07 +00:00
Michael Meissner
f9faad58a2 Fixup checkin of wrong source 2001-03-08 02:26:19 +00:00
Michael Meissner
788fca5a32 Add support for -fdata-sections 2001-03-08 02:20:25 +00:00
Kazu Hirata
69f069696b 2001-01-10 Kazu Hirata <kazu@hxi.com>
* scripttempl/h8500.sc: Fix formatting.
	* scripttempl/h8500b.sc: Likewise.
	* scripttempl/h8500c.sc: Likewise.
	* scripttempl/h8500m.sc: Likewise.
	* scripttempl/h8500s.sc: Likewise.
2001-01-10 18:58:36 +00:00
Kazu Hirata
60c6797e42 2001-01-10 Kazu Hirata <kazu@hxi.com>
* scripttempl/h8300.sc: Fix formatting.  Fix a comment typo.
	* scripttempl/h8300h.sc: Fix formatting.
	* scripttempl/h8300s.sc: Likewise.
2001-01-10 11:42:27 +00:00
DJ Delorie
93b63cd3a0 * scripttempl/i386go32.sc: Use PROVIDE with _etext, _edata, _end.
Set DWARF2 sections to a VMA of zero.
2000-12-06 16:39:51 +00:00
Hans-Peter Nilsson
8c8998585a * emulparams/crislinux.sh (ENTRY): Change back to _start.
(TEXT_START_SYMBOLS): Remove conditional setting of __start.

	* scripttempl/crisaout.sc: Change all RELOCATING not related to
	merging non-a.out sections into CONSTRUCTING.
2000-11-30 15:08:44 +00:00
Kazu Hirata
1ce7de8b08 2000-11-14 Kazu Hirata <kazu@hxi.com>
* scripttempl/h8300.sc: Fix formatting.
	* scripttempl/h8300h.sc: Likewise.
	* scripttempl/h8300s.sc: Likewise.
2000-11-14 19:17:53 +00:00
Denis Chertykov
208d5cd0ad * scripttempl/elf32avr.sc: Fix bug in .eeprom segment. 2000-11-13 22:26:38 +00:00
Nick Clifton
40a633d5ca Use ${CONSTRUCTING...} to enclose constructors and destructors. 2000-11-03 19:49:05 +00:00
Hans-Peter Nilsson
c5975a4546 * scripttempl/crisaout.sc (.text, .data): Pad, with ALIGN (32),
for consecutive sections.
2000-10-18 13:10:12 +00:00
Hans-Peter Nilsson
24dd9f7582 * scripttempl/crisaout.sc (ENTRY): Now __start.
(.text): Add default setting for __start.
	Remove CONSTRUCTORS handling.
	(/DISCARD/): Add .gnu.warning.*.
	* emulparams/crislinux.sh (ENTRY): Now __start.
	(TEXT_START_SYMBOLS): New; provide __Stext and __start default.
	* emulparams/criself.sh (OUTPUT_FORMAT): Now elf32-us-cris.
	(ENTRY): Now __start.
	(INITIAL_READONLY_SECTIONS): Add KEEP for .startup.
	(EXECUTABLE_SYMBOLS): Add default setting for __start.
2000-09-29 19:03:57 +00:00
Nick Clifton
3a9d486c00 Add .gnu.linkonce.wi.* to .debug_info sections. 2000-09-02 20:43:22 +00:00
Andreas Schwab
d73e9da0eb * scripttempl/elf.sc: Fix last change to use correct comment
syntax.
2000-08-14 08:59:40 +00:00
Geoffrey Keating
9ac4db9c1c * scripttempl/elf.sc: Add a comment giving the correspondence
between sections, per-datum sections, and linkonce sections.  Make
the comment true even for .bss, .sdata, .sdata2, .sbss, and
.sbss2.
2000-08-10 23:43:57 +00:00
Nick Clifton
236d5abf99 Define __bss_size symbol to indicate the final size of .bss section. 2000-08-08 22:04:32 +00:00
Hans-Peter Nilsson
9d06555c53 * Makefile.am (ALL_EMULATIONS): Add ecrisaout.o, ecriself.o,
ecrislinux.o.
	(ecrisaout.c, ecriself.c, ecrislinux.c): New rules.
	Regenerate dependencies.
	* Makefile.in: Rebuild.
	* configure.tgt (cris-*-*): New target.
	* emulparams/crisaout.sh, emulparams/criself.sh,
	emulparams/crislinux.sh, scripttempl/crisaout.sc: New files.
	* po/POTFILES.in, po/ld.pot: Regenerate.
2000-07-20 17:16:06 +00:00
Hans-Peter Nilsson
53db15ed2a * scripttempl/elf.sc (.init): Only do ${INIT_START} and
${INIT_END} if relocating.
	(.fini): Likewise ${FINI_START} and ${FINI_END}.
2000-07-17 22:41:08 +00:00
Nick Clifton
062739d151 Support the g++ attribute init_priority in gcc 2.95.2 and later. 2000-07-12 16:41:29 +00:00
Timothy Wall
c9e769c2b1 Remove unimplemented "PAGE N:" flag from default linker script. 2000-06-30 12:36:38 +00:00
Timothy Wall
74459f0e3e tic54x/ibmc54xdsp target for ld. 2000-06-20 13:29:07 +00:00
Alan Modra
987fd5b44e Update list of targets supporting --gc-sections.
KEEP .eh_frame contents.
2000-06-19 02:05:53 +00:00
Nick Clifton
60bcf0fa8c Applied Stephane Carrez <Stephane.Carrez@worldnet.fr> patches to add support
for m68hc11 and m68hc12 processors.
2000-06-19 01:22:44 +00:00
Denis Chertykov
2f0b56c07d * emulparams/avr1200.sh (STACK): Define as 0.
* emulparams/avr23xx.sh (STACK): Define as last internal SRAM address.
	* emulparams/avr4433.sh (STACK): Likewise.
	* emulparams/avr44x4.sh (STACK): Likewise.
	* emulparams/avr85xx.sh (STACK): Likewise.
	* emulparams/avrmega103.sh (STACK): Likewise.
	* emulparams/avrmega161.sh (STACK): Likewise.
	* emulparams/avrmega603.sh (STACK): Likewise.
	* scripttempl/elf32avr.sc (__data_start): Define for gcrt1.
	(__stack): Define from ${STACK} for main().
2000-05-27 15:36:58 +00:00
Richard Henderson
c9637625e4 * scripttempl/elfd30v.sc: Place .gcc_except_table. 2000-04-21 17:29:15 +00:00
Geoffrey Keating
bdbe570575 * scripttempl/elfppc.sc: Remove.
* emulparams/elf32ppc.sh: Use elf.sc.
* emulparams/elf32lppc.sh: Use elf.sc.
* emulparams/elf32ppclinux.sh: Use elf.sc.
* emulparams/elf32ppcsim.sh: New file.
* emulparams/elf32lppcsim.sh: New file.
* Makefile.am: Update dependencies.  Add elf32ppcsim ad elf32lppcsim.
(ALL_EMULATIONS): Add elf32ppcsim ad elf32lppcsim.
* Makefile.in: Regenerate.
* configure.tgt (powerpc-*): Add elf32ppcsim and elf32lppcsim.
2000-04-14 21:18:23 +00:00
Geoffrey Keating
4ab10e93d6 Correct previous misapplied patch. 2000-04-13 23:38:46 +00:00
Geoffrey Keating
6c86c54107 * scripttempl/elf.sc: Add support for .sbss2 and .sdata2 sections.
Add new BSS_PLT variable for when .plt need not be contained in
the file.  Move _etext so that it is also after .fini, and provide
both etext and _etext with a leading underscore.  Mark the start
and end of .sbss.
2000-04-13 23:32:48 +00:00
Alan Modra
adde6300e0 ATMEL AVR microcontroller support. 2000-03-27 08:39:14 +00:00
Ian Lance Taylor
4eee26817d 2000-02-27 Mark Elbrecht <snowball3@bigfoot.com>
* scripttempl/i386go32.sc: Move misplaced semicolons.
2000-02-28 03:55:16 +00:00
Nick Clifton
344a211f99 Add support for WinCE based toolchains. 2000-02-24 17:53:12 +00:00
Richard Henderson
eaba1dd3fb * scripttempl/elfd10v.sc: Remove dynamic linking hooks.
Add and use memory regions.
2000-02-23 23:38:47 +00:00
Alan Modra
5b93d8bb51 Add IBM 370 support. 2000-02-23 13:52:23 +00:00
Richard Henderson
9e673ad141 * scripttempl/elf.sc: Place OTHER_PLT_RELOC_SECTION. 2000-02-16 19:07:43 +00:00
Catherine Moore
18625d5459 * ld.h (wildcard_spec): Change exclude_name to exclude_name_list.
(name_list): New.
        * ld.texinfo (EXCLUDE_FILE): Update documentation.
        * ldgram.y (wildcard_spec): Support a list of excluded_files.
        (exclude_name_list): New.
        ldlang.c (walk_wild_section): Support list of excluded files.
        (print_wild_statement): Likewise.
        (lang_add_wild): Likewise.
        * ldlang.h (lang_wild_statement_type): Likewise.
        * scripttempl/elf.sc (OTHER_EXCLUDE_FILES): Support.
2000-01-05 14:12:23 +00:00
Nick Clifton
e68692499c Add arm-epoc-pe specific linker script 1999-12-02 11:49:20 +00:00
Geoffrey Keating
cfd0966cb5 * scripttempl/elf.sc (.rel.sdata): Combine all the sdata relocs
being .rel.sdata, .rel.sdata.*, .rel.gnu.linkonce.s*.
(.rela.sdata): Likewise for .rela.sdata.* and .rela.gnu.linkonce.s*.
(.rel.sbss): Make like .rel.bss.
(.rela.sbss): Make like .rel.bss.
(.sdata): Don't include .gnu.linkonce.s.* or .sdata.* when
ld -r.
(.sbss): Do the same things as for .bss: include SDATA_START_SYMBOLS,
.dynsbss.
1999-10-07 02:19:45 +00:00
Geoffrey Keating
13d92f2c5b * scripttempl/elf.sc (.sdata): Include .gnu.linkonce.s.* sections
in .sdata too.
1999-09-28 04:16:51 +00:00
Nick Clifton
3c9cf3a394 Merge sections named .bss.* into .bss section. Similarly for .sbss. 1999-09-26 09:37:45 +00:00
Ian Lance Taylor
be4514d38d 1999-09-12 Donn Terry <donn@interix.com>
* scripttempl/pe.sc: Use ${ENTRY} rather than _mainCRTStartup.
	Move .bss section after .rdata.  Move .reloc section after .rsrc.
1999-09-12 16:48:02 +00:00
Jeff Law
904ecb2d78 * emulparms/elf64hppa.sh (OTHER_READONLY_SECTIONS): Put stubs before
unwinders so that they are closer to the text section.
        (OTHER_BSS_SECTIONS): Define.
        (EXECUTABLE_SYMBOLS): Provide __SYSTEM_ID and _FPU_STATUS.
        (INIT_START, INIT_END): Define.
        (FINI_START, FINI_END): Define.
        * scripttempl/elf.sc: Add support for INIT_START, INIT_END,
        FINI_START, FINI_END and OTHER_BSS_SECTIONS.
1999-09-10 06:30:37 +00:00
Ian Lance Taylor
c6c8c6dc7a 1999-09-04 Steve Chamberlain <sac@pobox.com>
* configure.tgt (pjl-*-*, pj-*-*): New targets.
	* emulparams/pjelf.sh: New file.
	* emulparams/pjlelf.sh: New file.
	* scripttempl/pj.sc: New file.
	* Makefile.am (ALL_EMULATIONS): Add epjelf.o and epjlelf.o.
	(epjelf.o, epjlelf.o): New targets.
	* Makefile.in: Rebuild.
1999-09-04 17:37:36 +00:00
Nick Clifton
0811443ae7 Fix typo in defintion of OUTPUT_FORMAT. 1999-08-11 09:21:38 +00:00
Ian Lance Taylor
9c9ef45f16 1999-08-09 Mark Elbrecht <snowball3@bigfoot.com>
* scripttempl/i386go32.sc: Handle g++ exception sections.
1999-08-10 03:07:46 +00:00
Ian Lance Taylor
5a1bd109d4 1999-07-21 Mark Elbrecht <snowball3@bigfoot.com>
* scripttempl/i386go32.sc: Add handling of linkonce sections.
1999-07-22 01:42:27 +00:00
Ian Lance Taylor
b4089fdd75 1999-07-21 Mark Elbrecht <snowball3@bigfoot.com>
* emulparams/go32.sh: Remove; obsolete.
	* scripttempl/go32coff.sc: Remove; obsolete.
1999-07-22 01:25:10 +00:00
Richard Henderson
9e4141bc7b * scripttempl/elf.sc: Re-order .rel[a].foo outputs to the
same order seen for the main sections.  Add
        OTHER_READONLY_RELOC_SECTIONS and OTHER_GOT_RELOC_SECTIONS.
1999-07-14 16:45:54 +00:00
Nick Clifton
6da0974a11 Include big endian and little endian formats in OUTPUT_FORMAT directive. 1999-07-09 08:12:48 +00:00
Nick Clifton
7a2746396a Applied patch from Felix Lee <flee@cygnus.com>:
Fix quoting problem, for bash 2.x
1999-07-09 03:27:25 +00:00
Mark Mitchell
a8e53fb060 * scripttempl/elf.sc (WRITABLE_RODATA): New variable for
controlling whether or not .rodata is in the data segment or the
	text segment.
1999-06-21 13:11:05 +00:00
Richard Henderson
4305932a21 Jason Merrill <jason@yorick.cygnus.com>
* scripttempl/v850.sc: Add initp support.
1999-06-02 20:47:23 +00:00
DJ Delorie
c6c37250e9 1999-05-10 DJ Delorie <dj@cygnus.com>
* scripttempl/pe.sc: Specify the output arch, which Ian says is
	the Right Thing to do.
	* emultempl/pe.em: various changes to parameterize the
	target-specific information.
	(gld_i386pe_after_open): Detect and fix MS import libraries
	by renaming the member objects (which are all named the same).
	* pe-dll.c: various changes to parameterize the target-specific
	information.
	(generate_reloc): support relocs more generically to allow for
	expansion.
	(pe_exe_build_sections): new; used to add .relocs to .exes
	(pe_exe_fill_sections): ditto
1999-05-11 21:06:50 +00:00
Nick Clifton
bb3596ae84 fix output format. 1999-05-07 07:34:06 +00:00
Richard Henderson
252b5132c7 19990502 sourceware import 1999-05-03 07:29:11 +00:00