Age | Commit message (Collapse) | Author | Files | Lines |
|
* 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.
|
|
destructor in rom.
* scripttempl/elfm68hc12.sc (CTOR, DTOR): Likewise.
|
|
(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.
|
|
|
|
|
|
|
|
|
|
(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.
|
|
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.
|
|
scripttempl/elfm68hc11.sc, scripttempl/elfm68hc12.sc,
scripttempl/v850.sc: Keep .jcr data.
|
|
.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.
|
|
.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.
|
|
* scripttempl/elf.sc (DYNAMIC_PAD): Revert the change made on
2001-07-03. It creates dynamic entries even for static binaries.
|
|
* scripttempl/elf.sc (DYNAMIC_PAD): New variable.
(DYNAMIC): Use it to reserve few dynamic entries for
post-linking tools.
|
|
|
|
|
|
Set the VMA of STABS sections to zero.
|
|
|
|
|
|
* scripttempl/h8500.sc: Fix formatting.
* scripttempl/h8500b.sc: Likewise.
* scripttempl/h8500c.sc: Likewise.
* scripttempl/h8500m.sc: Likewise.
* scripttempl/h8500s.sc: Likewise.
|
|
* scripttempl/h8300.sc: Fix formatting. Fix a comment typo.
* scripttempl/h8300h.sc: Fix formatting.
* scripttempl/h8300s.sc: Likewise.
|
|
Set DWARF2 sections to a VMA of zero.
|
|
(TEXT_START_SYMBOLS): Remove conditional setting of __start.
* scripttempl/crisaout.sc: Change all RELOCATING not related to
merging non-a.out sections into CONSTRUCTING.
|
|
* scripttempl/h8300.sc: Fix formatting.
* scripttempl/h8300h.sc: Likewise.
* scripttempl/h8300s.sc: Likewise.
|
|
|
|
|
|
for consecutive sections.
|
|
(.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.
|
|
|
|
syntax.
|
|
between sections, per-datum sections, and linkonce sections. Make
the comment true even for .bss, .sdata, .sdata2, .sbss, and
.sbss2.
|
|
|
|
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.
|
|
${INIT_END} if relocating.
(.fini): Likewise ${FINI_START} and ${FINI_END}.
|
|
|
|
|
|
|
|
KEEP .eh_frame contents.
|
|
for m68hc11 and m68hc12 processors.
|
|
* 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().
|
|
|
|
* 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.
|
|
|
|
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.
|
|
|
|
* scripttempl/i386go32.sc: Move misplaced semicolons.
|
|
|
|
Add and use memory regions.
|
|
|
|
|