H.J. Lu
484593416a
2001-11-27 H.J. Lu <hjl@gnu.org>
...
* emulparams/elf_i386.sh (NO_SMALL_DATA): Set to yes.
* emulparams/elf_i386_be.sh (NO_SMALL_DATA): Likewise.
* emulparams/elf_i386_chaos.sh (NO_SMALL_DATA): Likewise.
* emulparams/elf_i386_ldso.sh (NO_SMALL_DATA): Likewise.
* emulparams/elf_x86_64.sh (NO_SMALL_DATA): Likewise.
* emulparams/m68kelf.sh (NO_SMALL_DATA): Likewise.
* emulparams/elf32_sparc.sh (NO_SMALL_DATA): Likewise.
* emulparams/elf64_sparc.sh (NO_SMALL_DATA): Likewise.
* scripttempl/elf.sc (SBSS): New. Define if ${NO_SMALL_DATA}
is not empty.
(SDATA): Likewise.
(REL_SDATA): Likewise.
(REL_SBSS): Likewise.
(REL_SDATA2): Likewise.
(REL_SBSS2): Likewise.
(SBSS2): Define if ${NO_SMALL_DATA} is not empty.
(SDATA2): Likewise.
2001-11-27 19:06:07 +00:00
Stephane Carrez
ecfdd20cce
* scripttempl/elfm68hc11.sc (CTOR, DTOR): Put constructor and
...
destructor in rom.
* scripttempl/elfm68hc12.sc (CTOR, DTOR): Likewise.
2001-11-25 17:29:27 +00:00
Alan Modra
465bc359f9
* Makefile.am (CONFIG_STATUS_DEPENDENCIES): Define.
...
(config.status): Delete rule.
Add extra dependencies to cover sourced emulparams files.
* Makefile.in: Regenerate.
* scripttempl/elf.sc: Order <section>, <section>.* and
corresponding linkonce sections as seen in input files.
Formatting fixes. Zero vma of all sections if not relocating.
(STACK): Define and insert if STACK_ADDR defined.
(OTHER_RELOCATING_SECTIONS): Delete.
(OTHER_END_SYMBOLS): Define.
(OTHER_READONLY_SECTIONS): Always insert, not just when relocating.
(OTHER_READWRITE_SECTIONS): Likewise.
(OTHER_GOT_SECTIONS): Likewise.
(OTHER_SDATA_SECTIONS): Likewise.
(OTHER_BSS_SECTIONS): Likewise.
* scripttempl/elfi370.sc (OTHER_READONLY_SECTIONS): Likewise.
(OTHER_READWRITE_SECTIONS): Likewise.
* scripttempl/nw.sc (OTHER_READONLY_SECTIONS): Likewise.
(OTHER_READWRITE_SECTIONS): Likewise
* emulparams/armelf.sh (OTHER_RELOCATING_SECTIONS): Delete.
(STACK_ADDR): Define.
* emulparams/armelf_oabi.sh: As for armelf.sh.
* emulparams/elf32mcore.sh: As for armelf.sh.
* emulparams/h8300elf.sh: As for armelf.sh.
* emulparams/mn10200.sh: As for armelf.sh.
* emulparams/shelf.sh: As for armelf.sh.
* emulparams/elf32fr30.sh (OTHER_RELOCATING_SECTIONS): Delete.
(OTHER_END_SYMBOLS): Define.
* emulparams/m32relf.sh: As for elf32fr30.sh.
* emulparams/h8300helf.sh: As for elf32fr30.sh.
* emulparams/h8300self.sh: As for elf32fr30.sh.
* emulparams/criself.sh (OTHER_READONLY_SECTIONS): Protect symbol
defines with RELOCATING test.
(OTHER_SDATA_SECTIONS): Likewise.
(OTHER_RELOCATING_SECTIONS): Delete, replacing with..
(OTHER_END_SYMBOLS): ..this.
* emulparams/crislinux.sh: As for criself.sh.
* emulparams/elf32bmipn32.sh (OTHER_SDATA_SECTIONS): Zero vma
if not relocating.
(OTHER_RELOCATING_SECTIONS): Delete, replacing with..
(OTHER_SECTIONS): ..this. Zero vma if not relocating. Order
normal and linkonce sections as seen in input files.
* emulparams/elf32bmip.sh (DATA_ADDR): Don't define if EMBEDDED.
(TEXT_DYNAMIC): Likewise.
(INITIAL_READONLY_SECTIONS): Zero vma if not relocating.
(OTHER_SDATA_SECTIONS): Likewise.
* emulparams/elf32ppc.sh (OTHER_READWRITE_SECTIONS): Likewise.
* emulparams/shlelf_linux.sh (OTHER_READWRITE_SECTIONS): Likewise.
* emulparams/elf64alpha.sh (OTHER_READONLY_SECTIONS): Likewise.
* emulparams/hppalinux.sh (OTHER_READONLY_SECTIONS): Likewise.
* emulparams/elf64_aix.sh (OTHER_GOT_SECTIONS): Likewise.
(OTHER_PLT_RELOC_SECTIONS): Likewise.
(OTHER_READONLY_SECTIONS): Likewise. Order normal and linkonce
sections as seen in input files.
* emulparams/elf64_ia64.sh: As for emulparams/elf64_aix.sh.
* emulparams/hppa64linux.sh (OTHER_READONLY_SECTIONS): Zero vma
if not relocating.
(OTHER_READWRITE_SECTIONS, OTHER_BSS_SECTIONS): Likewise.
(OTHER_BSS_END_SYMBOLS): Merge from elf64hppa.sh.
* emulparams/elf64mmix.sh (OTHER_RELOCATING_SECTIONS): Delete.
(OTHER_SECTIONS): Instead, use this..
(OTHER_END_SYMBOLS): ..and this.
* emulparams/elf32b4300.sh: Source elf32bmip.sh, remove duplicates.
* emulparams/elf32bsmip.sh: Likewise.
* emulparams/elf32btsmip.sh: Likewise.
* emulparams/elf32ebmip.sh: Likewise.
* emulparams/elf32lmip.sh: Likewise.
* emulparams/elf32elmip.sh: Source elf32lmip.sh, remove duplicates.
* emulparams/elf32lsmip.sh: Likewise.
* emulparams/elf32ltsmip.sh: Source elf32btsmip.sh, remove duplicates.
* emulparams/elf32l4300.sh: Source elf32b4300.sh, remove duplicates.
* emulparams/elf64bmip.sh: Source elf32bmipn32.sh, remove duplicates.
* emulparams/elf64btsmip.sh: Likewise.
* emulparams/elf64ltsmip.sh: Source elf64btsmip.sh, remove duplicates.
* emulparams/elf32lppc.sh: Source elf32ppc.sh, remove duplicates.
* emulparams/elf32ppclinux.sh: Likewise.
* emulparams/elf32ppcsim.sh: Likewise.
* emulparams/elf32lppcsim.sh: Source elf32lppc.sh, remove duplicates.
* emulparams/elf64hppa.sh: Source hppa64linux.sh, remove duplicates.
* emulparams/h8300helf.sh: Source h8300elf.sh, remove duplicates.
* emulparams/h8300self.sh: Likewise.
* emulparams/mn10300.sh: Source mn10200.sh, remove duplicates.
* emulparams/sh.sh: Comment.
* emulparams/shl.sh: Source sh.sh, remove duplicates.
* emulparams/shlelf.sh: Source shelf.sh, remove duplicates.
* emulparams/shelf_linux.sh: Source shlelf_linux.sh, remove duplicates.
2001-11-22 09:08:05 +00:00
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