aboutsummaryrefslogtreecommitdiff
path: root/ld/scripttempl
AgeCommit message (Collapse)AuthorFilesLines
2010-06-01bfd/Tristan Gingold1-1/+16
2010-06-01 Tristan Gingold <gingold@adacore.com> * vms-alpha.c (struct vms_private_data_struct): Add transfer_address field. Remove unused dst_info field. (alpha_vms_write_exec): Use transfer_address. (_bfd_vms_write_egsd): Add a comment about LIB$INITIALIZE. (alpha_vms_bfd_final_link): Set transfer_address. ld/ 2010-06-01 Tristan Gingold <gingold@adacore.com> * scripttempl/alphavms.sc: Add comments. Move $LINK$ to the readonly output-section. Handle LIB$INITIALIZE and sections created by gcc. * emultempl/vms.em (vms_place_orphan): Add comments.
2010-04-142010-04-14 Tristan Gingold <gingold@adacore.com>Tristan Gingold1-0/+34
* emulparams/alphavms.sh: New file. * emultempl/vms.em: New file. * scripttempl/alphavms.sc: New file. * configure.tgt (alpha*-*-*vms*): Added. * Makefile.am (ALL_EMULATIONS): Add ealphavms.o (ealphavms.c): New target. * Makefile.in: Regenerate.
2010-03-23 * scripttempl/elf.sc (RODATA_NAME, SDATA_NAME, SBSS_NAME,Joseph Myers1-27/+34
BSS_NAME): Define if not already defined. Use in place of some hardcoded section names.
2010-03-18Re-indent INIT_ARRAY.H.J. Lu1-4/+4
2010-03-18 H.J. Lu <hongjiu.lu@intel.com> * scripttempl/elf.sc (INIT_ARRAY): Re-indent.
2010-02-27 * scripttempl/armbpabi.sc: Don't combine .init_array.* orJie Zhang5-74/+84
.fini_array.* when do relocatable linking. * scripttempl/elf.sc: Likewise. * scripttempl/elf32sh-symbian.sc: Likewise. * scripttempl/elf64hppa.sc: Likewise. * scripttempl/elfxtensa.sc: Likewise. testsuite/ * ld-elf/init-fini-arrays.s: New test. * ld-elf/init-fini-arrays.d: New test.
2010-02-26 * scripttempl/elf.sc (.fini_array): Place input .fini_array afterAlan Modra5-5/+5
.fini_array.*. * scripttempl/armbpabi.sc: Likewise. * scripttempl/elf32sh-symbian.sc: Likewise. * scripttempl/elf64hppa.sc: Likewise. * scripttempl/elfxtensa.sc: Likewise.
2009-12-09 PR ld/11012Alan Modra1-0/+1
* emulparams/elf64ppc.sh (OTHER_GOT_RELOC_SECTIONS): Move .rela.opd .. (INITIAL_RELOC_SECTIONS): .. to here. New define. * scripttempl/elf.sc: Expand INITIAL_RELOC_SECTIONS.
2009-11-252009-11-25 Kai Tietz <kai.tietz@onevision.com>Kai Tietz2-0/+4
* scripttempl/pe.sc: (.note.GNU-stack): Mark as discardable. (.gnu.lto_*): Likewise. * scripttempl/pep.sc: (.note.GNU-stack): Mark as discardable. (.gnu.lto_*): Likewise.
2009-10-10Revert 2009-09-28 changes.Alan Modra25-929/+968
2009-09-28 * scripttempl/elf32cr16.sc: Emit empty script for ld -r and ld -Ur.Alan Modra25-968/+929
* scripttempl/elf32cr16c.sc: Likewise. * scripttempl/elf32crx.sc: Likewise. * scripttempl/tic54xcoff.sc: Likewise. * scripttempl/aix.sc: Delete ${RELOCATING-0}. * scripttempl/avr.sc: Likewise. * scripttempl/elf32msp430.sc: Likewise. * scripttempl/elf32msp430_3.sc: Likewise. * scripttempl/elf32sh-symbian.sc: Likewise. * scripttempl/elf_chaos.sc: Likewise. * scripttempl/elfi370.sc: Likewise. * scripttempl/nw.sc: Likewise. * scripttempl/psos.sc: Likewise. * scripttempl/armbpabi.sc: Delete ${RELOCATING-0} and ${CONSTRUCTING-0}. * scripttempl/elf.sc: Likewise. * scripttempl/elf64hppa.sc: Likewise. * scripttempl/elfd10v.sc: Likewise. * scripttempl/elfd30v.sc: Likewise. * scripttempl/elfm68hc11.sc: Likewise. * scripttempl/elfm68hc12.sc: Likewise. * scripttempl/elfmicroblaze.sc: Likewise. * scripttempl/elfxtensa.sc: Likewise. * scripttempl/iq2000.sc: Likewise. * scripttempl/mep.sc: Likewise. * scripttempl/xstormy16.sc: Likewise.
2009-09-22Delete unused scripts.Alan Modra5-201/+0
2009-09-13 PR ld/6766Alan Modra4-19/+1
* lexsup.c (parse_args <-e>): Revert 2009-03-18 change. * ldemul.c (after_parse_default): Add entry symbol as undef. * emultempl/alphaelf.em (alpha_after_parse): Call after_parse_default. * emultempl/cr16elf.em (cr16elf_after_parse): Likewise. * emultempl/crxelf.em (crxelf_after_parse): Likewise. * emultempl/hppaelf.em (hppaelf_after_parse): Likewise. * emultempl/ia64elf.em (gld${EMULATION_NAME}_after_parse): Likewise. * emultempl/pe.em (gld_${EMULATION_NAME}_after_parse): Call after_parse_default and delete now duplicate code. * emultempl/pep.em (gld_${EMULATION_NAME}_after_parse): Likewise. * scripttempl/elf32cr16.sc: No need to make entry extern. * scripttempl/elf32cr16c.sc: Likewise. * scripttempl/elf32crx.sc: Likewise. * scripttempl/elf32xc16xs.sc: Only provide ENTRY on final link.
2009-09-09Only provide ENTRY on final link.Alan Modra35-35/+35
2009-09-04 * scripttempl/elf.sc (.text): Add cold text sections.Alan Modra1-0/+1
2009-09-03ld/ChangeLog:Dave Korn5-0/+5
* scripttempl/pe.sc (.text): Add "*(.text.*)" in order to catch new GCC hot/cold/unlikely partitions. * scripttempl/pep.sc: Likewise. * scripttempl/epocpe.sc: Likewise. * scripttempl/mcorepe.sc: Likewise. * scripttempl/ppcpe.sc: Likewise. ld/testsuite/ChangeLog: * ld-pe/longsecn.d: Adjusted to match new .text section merging in default PE linker scripts. * ld-pe/longsecn-1.d: Likewise. * ld-pe/longsecn-2.d: Likewise.
2009-09-01 * scripttempl/elf.sc: Add ${USER_LABEL_PREFIX} to _start, etext,Jie Zhang1-4/+4
_stack and __bss_start. * emulparams/bfin.sh (ENTRY): Remove.
2009-08-24 * scripttempl/elfxtensa.sc (DISCARDED): Discard sections withNick Clifton5-5/+5
.gnu.lto_ prefix. * scripttempl/armbpabi.sc: Likewise. * scripttempl/elf32sh-symbian.sc: Likewise. * scripttempl/elf64hppa.sc: Likewise. * scripttempl/mep.sc: Likewise.
2009-08-21 * scripttempl/elf.sc: Discard sections with .gnu.lto_ prefix.Nick Clifton1-1/+1
2009-08-06 Add support for Xilinx MicroBlaze processor.Nick Clifton4-18/+240
* bfd/Makefile.am: Add cpu-microblaze.{lo,c}, elf32-microblaze.{lo,c}. * bfd/Makefile.in: Same. * bfd/archures.c: Add bfd_arch_microblaze. * bfd/bfd-in2.h: Regenerate. * bfd/config.bfd: Add microblaze target. * bfd/configure: Add bfd_elf32_microblaze_vec target. * bfd/configure.in: Same. * bfd/cpu-microblaze.c: New. * bfd/elf32-microblaze.c: New. * bfd/libbfd-in.h: Add prototype _bfd_dwarf2_fixup_section_debug_loc(). * bfd/libbfd.h: Regenerate. * bfd/reloc.c: Add MICROBLAZE relocations. * bfd/section.c: Add struct relax_table and relax_count to section. * bfd/targets.c: Add bfd_elf32_microblaze_vec. * binutils/MAINTAINERS: Add self as maintainer. * binutils/readelf.c: Include elf/microblaze.h, add EM_MICROBLAZE & EM_MICROBLAZE_OLD to guess_is_rela(), dump_relocations(), get_machine_name(). * config.sub: Add microblaze target. * configure: Same. * configure.ac: Same. * gas/Makefile.am: add microblaze to CPU_TYPES, config/tc-microblaze.c to TARGET_CPU_CFILES, config/tc-microblaze.h to TARGET_CPU_HFILES, add DEP_microblaze_elf target. * gas/Makefile.in: Same. * gas/config/tc-microblaze.c: Add MicroBlaze assembler. * gas/config/tc-microblaze.h: Add header for tc-microblaze.c. * gas/configure: Add microblaze target. * gas/configure.in: Same. * gas/configure.tgt: Same. * gas/doc/Makefile.am: Add c-microblaze.texi to CPU_DOCS. * gas/doc/Makefile.in: Same. * gas/doc/all.texi: Set MICROBLAZE. * gas/doc/as.texinfo: Add MicroBlaze doc links. * gas/doc/c-microblaze.texi: New MicroBlaze docs. * include/dis-asm.h: Decl print_insn_microblaze(). * include/elf/common.h: Define EM_MICROBLAZE & EM_MICROBLAZE_OLD. * include/elf/microblaze.h: New reloc definitions. * ld/Makefile.am: Add eelf32mb_linux.o, eelf32microblaze.o to ALL_EMULATIONS, targets. * ld/Makefile.in: Same. * ld/configure.tgt: Add microblaze*-linux*, microblaze* targets. * ld/emulparams/elf32mb_linux.sh: New. * ld/emulparams/elf32microblaze.sh. New. * ld/scripttempl/elfmicroblaze.sc: New. * opcodes/Makefile.am: Add microblaze-opc.h to HFILES, microblaze-dis.c to CFILES, microblaze-dis.lo to ALL_MACHINES, targets. * opcodes/Makefile.in: Same. * opcodes/configure: Add bfd_microblaze_arch target. * opcodes/configure.in: Same. * opcodes/disassemble.c: Define ARCH_microblaze, return print_insn_microblaze(). * opcodes/microblaze-dis.c: New MicroBlaze disassembler. * opcodes/microblaze-opc.h: New MicroBlaze opcode definitions. * opcodes/microblaze-opcm.h: New MicroBlaze opcode types.
2009-07-29 * emulparams/elf32ppc.sh (PLT): Don't include ".iplt".Alan Modra1-9/+27
* emulparams/elf_i386.sh (IREL_IN_PLT): Define. * emulparams/elf_x86_64.sh (IREL_IN_PLT): Define. * scripttempl/elf.sc: Create separate .iplt and .rela.iplt sections when !IREL_IN_PLT.
2009-07-29 * scripttempl/mmo.sc: For relocateable links, set $OUTPUT_FORMAT toHans-Peter Nilsson1-3/+7
the new $RELOCATEABLE_OUTPUT_FORMAT, if set. (OUTPUT_FORMAT): Use the variable $OUTPUT_FORMAT. (ENTRY): Don't emit for relocateable links. (/DISCARD/): Don't discard .gnu.warning.* for relocateable links. * emulparams/mmo.sh (RELOCATEABLE_OUTPUT_FORMAT): Set, to elf64-mmix. * emulparams/elf64mmix.sh (OTHER_TEXT_SECTIONS): Empty, don't provide "Main" or set "_start.", for relocateable links.
2009-07-032009-07-03 Tristan Gingold <gingold@adacore.com>Tristan Gingold2-2/+10
* scripttempl/pep.sc: Put .eh_frame in its own section. * scripttempl/pe.sc: Ditto.
2009-06-272009-06-27 Kai Tietz <kai.tietz@onevision.com>Kai Tietz2-2/+2
* scripttempl/pe.sc (.debug_pubtypes): Fixed syntax error. * scripttempl/pep.sc (.debug_pubtypes): Likewise.
2009-06-262009-06-26 Kai Tietz <kai.tietz@onevision.com>Kai Tietz2-0/+10
* scripttempl/pe.sc (.debug_pubtypes): Added section rule. * scripttempl/pep.sc: Likewise.
2009-06-06bfd/H.J. Lu1-0/+2
2009-06-06 H.J. Lu <hongjiu.lu@intel.com> * elf32-i386.c (elf_i386_link_hash_table): Add irelifunc. (elf_i386_link_hash_table_create): Initialize irelifunc. (elf_i386_check_relocs): Updated. Set up irelifunc for shared objects. (elf_i386_allocate_dynrelocs): Use irelifunc for dynamic relocation for non-GOT reference of STT_GNU_IFUNC symbol in shared objects. (elf_i386_relocate_section): Likewise. * elf64-x86-64.c (elf64_x86_64_link_hash_table): Add irelifunc. (elf64_x86_64_link_hash_table_create): Initialize irelifunc. (elf64_x86_64_check_relocs): Updated. Set up irelifunc for shared objects. (elf64_x86_64_allocate_dynrelocs): Use irelifunc for dynamic relocation for non-GOT reference of STT_GNU_IFUNC symbol in shared objects. (elf64_x86_64_relocate_section): Likewise. * elf-bfd.h (_bfd_elf_create_static_ifunc_sections): Renamed to ... (_bfd_elf_create_ifunc_sections): This. * elflink.c (_bfd_elf_create_static_ifunc_sections): Renamd to ... (_bfd_elf_create_ifunc_sections): This. Create .rel[a].ifunc for shared objects. ld/ 2009-06-06 H.J. Lu <hongjiu.lu@intel.com> * scripttempl/elf.sc: Add .rel.ifunc and .rela.ifunc.
2009-06-052009-06-05 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu1-8/+0
* scripttempl/elf.sc: Remove .rel.ifunc.dyn and .rela.ifunc.dyn.
2009-06-01bfd/H.J. Lu1-6/+18
2009-06-01 H.J. Lu <hongjiu.lu@intel.com> * elf-bfd.h (struct bfd_elf_section_data): Remove indirect_relocs. (_bfd_elf_make_ifunc_reloc_section): Removed. (_bfd_elf_is_ifunc_symbol): Likewise. (_bfd_elf_create_static_ifunc_sections): New. * elflink.c (_bfd_elf_adjust_dynamic_symbol): Move STT_GNU_IFUNC symbol check to ... (elf_link_add_object_symbols): Here. (_bfd_elf_link_hash_hide_symbol): Don't clean plt on STT_GNU_IFUNC symbol. (elf_link_output_extsym): Call elf_backend_finish_dynamic_symbol if a STT_GNU_IFUNC symbol is referenced in a non-shared object. (IFUNC_INFIX): Removed. (get_ifunc_reloc_section_name): Likewise. (_bfd_elf_make_ifunc_reloc_section): Likewise. (_bfd_elf_is_ifunc_symbol): Likewise. (_bfd_elf_create_static_ifunc_sections): New. ld/ 2009-06-01 H.J. Lu <hongjiu.lu@intel.com> * scripttempl/elf.sc (PLT): Add "*(.iplt)". (GOT): Add "*(.igot.plt)a" and "*(.igot)". (GOTPLT): Add "*(.igot)". (__rel_iplt_start): New. (__rel_iplt_end): Likewise. (__rela_iplt_start): Likewise. (__rela_iplt_end): Likewise.
2009-05-05 * scripttempl/avr.sc (MEMORY): Use DATA_ORIGIN.Nick Clifton1-1/+1
* emulparams/avr1.sh (DATA_ORIGIN): Add. * emulparams/avr2.sh (DATA_ORIGIN): Add. * emulparams/avr25.sh (DATA_ORIGIN): Add. * emulparams/avr3.sh (DATA_ORIGIN): Add. * emulparams/avr31.sh (DATA_ORIGIN): Add. * emulparams/avr35.sh (DATA_ORIGIN): Add. * emulparams/avr4.sh (DATA_ORIGIN): Add. * emulparams/avr5.sh (DATA_ORIGIN): Add. * emulparams/avr51.sh (DATA_ORIGIN): Add. (DATA_LENGTH): Update. * emulparams/avr6.sh (DATA_ORIGIN): Add. (DATA_LENGTH): Update.
2009-04-16Add new binutils target: moxieNick Clifton1-0/+52
2009-03-01 * configure.tgt: Only use elf64hppa target emulation for hpux.Dave Anglin1-0/+574
* emulparams/elf64hppa.sh: Don't include hppa64linux.sh. (SCRIPT_NAME): Use new script elf64hppa. (SCRIPT_NAME, ELFSIZE, NO_REL_RELOCS, ARCH, MACHINE, ENTRY, TEMPLATE_NAME, GENERATE_SHLIB_SCRIPT, OTHER_READONLY_SECTIONS, OTHER_READWRITE_SECTIONS, OTHER_BSS_SECTIONS, OTHER_GOT_RELOC_SECTIONS, DATA_START_SYMBOLS, OTHER_SYMBOLS, DATA_PLT, PLT_BEFORE_GOT, TEXT_DYNAMIC): Define. * emulparams/hppa64linux.sh: Adjust comments. * scripttempl/elf64hppa.sc: New file.
2009-01-16ld/H.J. Lu1-2/+5
2009-01-16 H.J. Lu <hongjiu.lu@intel.com> * lexsup.c (option_values): Add OPTION_TTEXT_SEGMENT. (ld_options): Add -Ttext-segment. (parse_args): Handle OPTION_TTEXT_SEGMENT. * ld.texinfo: Document -Ttext-segment. * NEWS: Mention -Ttext-segment. * scripttempl/elf.sc (TEXT_START_ADDR): Use SEGMENT_START. (SHLIB_TEXT_START_ADDR): Likewise. ld/testsuite/ 2009-01-16 H.J. Lu <hongjiu.lu@intel.com> * ld-elf/textaddr1.d: New. * ld-elf/textaddr2.d: Likewise.
2008-12-03include/elf/Nick Clifton1-0/+8
* common.h (STT_IFUNC): Define. elfcpp/ * elfcpp.h (enum STT): Add STT_IFUNC. bfd/ * syms.c (struct bfd_symbol): Add new flag BSF_INDIRECT_FUNCTION. Remove redundant flag BFD_FORT_COMM_DEFAULT_VALUE. Renumber flags to remove gaps. (bfd_print_symbol_vandf): Return 'i' for BSF_INDIRECT_FUNCTION. (bfd_decode_symclass): Likewise. * elf.c (swap_out_syms): Translate BSF_INDIRECT_FUNCTION into STT_IFUNC. (elf_find_function): Treat STT_IFUNC in the same way as STT_FUNC. (_bfd_elf_is_function_type): Likewise. * elf32-arm.c (arm_elf_find_function): Likewise. (elf32_arm_adjust_dynamic_symbol): Likewise. (elf32_arm_swap_symbol_in): Likewise. (elf32_arm_additional_program_headers): Likewise. * elf32-i386.c (is_indirect_symbol): New function. (elf_i386_check_relocs): Also generate dynamic relocs for relocations against STT_IFUNC symbols. (allocate_dynrelocs): Likewise. (elf_i386_relocate_section): Likewise. * elf64-x86-64.c (is_indirect_symbol): New function. (elf64_x86_64_check_relocs): Also generate dynamic relocs for relocations against STT_IFUNC symbols. (allocate_dynrelocs): Likewise. (elf64_x86_64_relocate_section): Likewise. * elfcode.h (elf_slurp_symbol_table): Translate STT_IFUNC into BSF_INDIRECT_FUNCTION. * elflink.c (_bfd_elf_adjust_dynamic_reloc_section): Add support for STT_IFUNC symbols. (get_ifunc_reloc_section_name): New function. (_bfd_elf_make_ifunc_reloc_section): New function. * elf-bfd.h (struct bfd_elf_section_data): Add indirect_relocs field. * bfd-in2.h: Regenerate. gas/ * config/obj-elf.c (obj_elf_type): Add support for STT_IFUNC type. * doc/as.texinfo: Document new feature. * NEWS: Mention new feature. gas/testsuite/ * gas/elf/type.s: Add test of STT_IFUNC symbol type. * gas/elf/type.e: Update expected disassembly. * gas/elf/elf.exp: Update grep of symbol types. ld/ * NEWS: Mention new feature. * pe-dll.c (process_def_file): Replace use of redundant BFD_FORT_COMM_DEFAULT_VALUE with 0. * scripttempl/elf.sc: Add .rel.ifunc.dyn and .rela.ifunc.dyn sections. ld/testsuite/ * ld-mips-elf/reloc-1-n32.d: Updated expected output for reloc descriptions. * ld-mips-elf/reloc-1-n64.d: Likewise. * ld-i386/ifunc.d: New test. * ld-i386/ifunc.s: Source file for the new test. * ld-i386/i386.exp: Run the new test.
2008-11-03 * emulparams/elf32xtensa.sh (NO_REL_RELOCS): Set.Bob Wilson1-8/+50
* scripttempl/elfxtensa.sc (NO_REL_RELOCS, NO_RELA_RELOCS) (NON_ALLOC_DYN): Import changes from elf.sc.
2008-10-22 * scripttempl/elf.sc (NO_REL_RELOCS, NO_RELA_RELOCS, NON_ALLOC_DYN):Alan Modra1-8/+50
Handle these defines. * emulparams/criself.sh, * emulparams/crislinux.sh, * emulparams/elf32am33lin.sh, * emulparams/elf32fr30.sh, * emulparams/elf32_i860.sh, * emulparams/elf32ip2k.sh, * emulparams/elf32mcore.sh, * emulparams/elf32ppccommon.sh, * emulparams/elf32ppcwindiss.sh, * emulparams/elf32_sparc.sh, * emulparams/elf32_spu.sh, * emulparams/elf32vax.sh, * emulparams/elf64alpha.sh, * emulparams/elf64mmix.sh, * emulparams/elf64ppc.sh, * emulparams/elf64_s390.sh, * emulparams/elf64_sparc.sh, * emulparams/elf_s390.sh, * emulparams/elf_x86_64.sh, * emulparams/h8300elf.sh, * emulparams/hppa64linux.sh, * emulparams/hppalinux.sh, * emulparams/m68kelf.sh, * emulparams/mn10200.sh, * emulparams/pjelf.sh, * emulparams/ppclynx.sh, * emulparams/shelf32.sh, * emulparams/shelf_nto.sh, * emulparams/shelf.sh, * emulparams/shelf_vxworks.sh, * emulparams/shlelf32_linux.sh, * emulparams/shlelf_linux.sh, * emulparams/shlelf_nto.sh (NO_REL_RELOCS): Set. * emulparams/arcelf.sh, * emulparams/elf32_i960.sh, * emulparams/elf32openrisc.sh, * emulparams/elf_i386_be.sh, * emulparams/elf_i386_ldso.sh, * emulparams/elf_i386.sh, * emulparams/elf_i386_vxworks.sh, * emulparams/i386lynx.sh, * emulparams/i386moss.sh, * emulparams/i386nto.sh, * emulparams/or32elf.sh, * emulparams/scoreelf.sh (NO_RELA_RELOCS): Set.
2008-10-05 PR 6943Alan Modra1-3/+3
* scripttempl/avr.sc (.bss): Set lma when relocating. (.bss, .noinit): No need to set vma when relocating. (.text, .bss, ,noinit): Set vma to zero when not relocating.
2008-04-18[patch]: ctor/dtor section must start at alignment of 8 for x86_64-pc-mingw32.Kai Tietz1-0/+1
* scripttempl/pep.sc: Align start of symbol __CTOR_LIST__.
2008-02-18 * scripttempl/armbpabi.sc (ENTRY): Do not define when performing aNick Clifton15-19/+18
relocatable link. * scripttempl/elf32cr16.sc: Likewise. * scripttempl/elf32cr16c.sc: Likewise. * scripttempl/elf32crx.sc: Likewise. * scripttempl/elf32sh-symbian.sc: Likewise. * scripttempl/elf_chaos.sc: Likewise. * scripttempl/elfd10v.sc: Likewise. * scripttempl/elfi370.sc: Likewise. * scripttempl/elfm68hc11.sc: Likewise. * scripttempl/elfm68hc12.sc: Likewise. * scripttempl/ip2k.sc: Likewise. * scripttempl/iq2000.sc: Likewise. * scripttempl/mep.sc: Likewise. * scripttempl/v850.sc: Likewise. * scripttempl/xstormy16.sc: Likewise.
2008-01-18 * scripttempl/elfxtensa.sc: Merge ENTRY and .note.gnu.build-idBob Wilson1-1/+2
changes from elf.sc.
2008-01-11ld:Tristan Gingold1-1/+1
2008-01-11 Tristan Gingold <gingold@adacore.com> Eric Botcazou <ebotcazou@adacore.com> * ldlang.c (lang_end): Warns if the entry point is not found when --gc-sections. Emit an error if no root is specified when --gc-sections -r. * ld.texinfo (Options): Document that --gc-sections is compatible with -r and -q. * ldmain.c (main): Do not error out if -r and --gc-sections. * scripttempl/elf.sc: Emit ENTRY command only if relocating. ld/testsuite: 2008-01-11 Tristan Gingold <gingold@adacore.com> * lib/ld-lib.exp (check_gc_sections_available): Now available on VxWorks. * ld-gc: New directory for testing --gc-sections. * ld-gc/gc.c: New file. * ld-gc/gc.exp: New file. * ld-gc/noent.s: New file. * ld-gc/noent.d: New file.
2007-12-15ld/Richard Sandiford4-8/+0
* scripttempl/armbpabi.sc (.text): Don't KEEP (*(.text.*personality*)). (.data): Don't KEEP (*(.gnu.linkonce.d.*personality*)). * scripttempl/elf.sc: As for armbpabi.sc. * scripttempl/elfxtensa.sc: Likewise. * scripttempl/mep.sc: Likewise.
2007-10-01PR linker/4844Nick Clifton2-8/+22
* genscript.sh: Add support for generating a .xa script for use with the --auto-import option. * ld.texinfo: Document the new behaviour of the --auto-import option. * ldint.texinfo: Document new script generation. * emulparams/i386pe.sh (GENERATE_AUTO_IMPORT): Define. * emulparams/i386pe_posix.sh (GENERATE_AUTO_IMPORT): Define. * emulparams/i386pep.sh (GENERATE_AUTO_IMPORT): Define. * emultemp/pe.em (..._get_script): Support the use of the auto import script. * scripttempl/pe.sc: Put the .rdata input sections into the .data output section when creating an auto import script. * scripttempl/pep.sc: Likewise.
2007-07-27 * scripttempl/elf.sc: Add .note.gnu.build-id.Jakub Jelinek1-0/+1
2007-07-24* pep.sc: Correct ctor/dtor sentinels for 64-bit targets.Nick Clifton1-2/+2
2007-07-12 * scripttempl/pe.sc: Don't include .gcc_except_table andNathan Sidwell2-4/+4
.eh_frame on partial links. * scripttempl/pep.sc: Likewise.
2007-07-10 * scripttempl/elf.sc (DISCARDED): Renamed from STACKNOTE. AddAlan Modra5-10/+10
.gnu.debuglink. * scripttempl/armbpabi.sc: Likewise. * scripttempl/elf32sh-symbian.sc: Likewise. * scripttempl/elfxtensa.sc: Likewise. * scripttempl/mep.sc: Likewise.
2007-06-29bfd:Joseph Myers5-0/+15
* elf-attrs.c: New. * Makefile.am (BFD32_BACKENDS): Add elf-attrs.lo. (BFD32_BACKENDS_CFILES): Add elf-attrs.c. (elf-attrs.lo): Generate dependencies. * Makefile.in: Regenerate. * configure.in (elf): Add elf-attrs.lo. * configure: Regenerate. * elf-bfd.h (struct elf_backend_data): Add entries for object attributes. (NUM_KNOWN_OBJ_ATTRIBUTES, obj_attribute, obj_attribute_list, OBJ_ATTR_PROC, OBJ_ATTR_GNU, OBJ_ATTR_FIRST, OBJ_ATTR_LAST, Tag_NULL, Tag_File, Tag_Section, Tag_Symbol, Tag_compatibility): New. (struct elf_obj_tdata): Add entries for object attributes. (elf_known_obj_attributes, elf_other_obj_attributes, elf_known_obj_attributes_proc, elf_other_obj_attributes_proc): New. (bfd_elf_obj_attr_size, bfd_elf_set_obj_attr_contents, bfd_elf_get_obj_attr_int, bfd_elf_add_obj_attr_int, bfd_elf_add_proc_attr_int, bfd_elf_add_obj_attr_string, bfd_elf_add_proc_attr_string, bfd_elf_add_obj_attr_compat, bfd_elf_add_proc_attr_compat, _bfd_elf_attr_strdup, _bfd_elf_copy_obj_attributes, _bfd_elf_obj_attrs_arg_type, _bfd_elf_parse_attributes, _bfd_elf_merge_object_attributes): New. * elf.c (_bfd_elf_copy_private_bfd_data): Copy object attributes. (bfd_section_from_shdr): Handle attributes sections. * elflink.c (bfd_elf_final_link): Handle attributes sections. * elfxx-target.h (elf_backend_obj_attrs_vendor, elf_backend_obj_attrs_section, elf_backend_obj_attrs_arg_type, elf_backend_obj_attrs_section_type): New. (elfNN_bed): Update. * elf32-arm.c (NUM_KNOWN_ATTRIBUTES, aeabi_attribute, aeabi_attribute_list): Remove. (struct elf32_arm_obj_tdata): Remove object attributes fields. (check_use_blx, bfd_elf32_arm_set_vfp11_fix, using_thumb2, elf32_arm_copy_private_bfd_data, elf32_arm_merge_eabi_attributes): Update for new object attributes interfaces. (uleb128_size, is_default_attr, eabi_attr_size, elf32_arm_eabi_attr_size, write_uleb128, write_eabi_attribute, elf32_arm_set_eabi_attr_contents, elf32_arm_bfd_final_link, elf32_arm_new_eabi_attr, elf32_arm_get_eabi_attr_int, elf32_arm_add_eabi_attr_int, attr_strdup, elf32_arm_add_eabi_attr_string, elf32_arm_add_eabi_attr_compat, copy_eabi_attributes, elf32_arm_parse_attributes): Remove. Moved to generic code in elf-attrs.c. (elf32_arm_obj_attrs_arg_type): New. (elf32_arm_fake_sections): Do not handle .ARM.attributes. (elf32_arm_section_from_shdr): Do not handle SHT_ARM_ATTRIBUTES. (bfd_elf32_bfd_final_link): Remove. (elf_backend_obj_attrs_vendor, elf_backend_obj_attrs_section, elf_backend_obj_attrs_arg_type, elf_backend_obj_attrs_section_type): New. * elf32-bfin.c (bfin_elf_copy_private_bfd_data): Copy object attributes. * elf32-frv.c (frv_elf_copy_private_bfd_data): Likewise. * elf32-iq2000.c (iq2000_elf_copy_private_bfd_data): Likewise. * elf32-mep.c (mep_elf_copy_private_bfd_data): Likewise. * elf32-mt.c (mt_elf_copy_private_bfd_data): Likewise. * elf32-sh.c (sh_elf_copy_private_data): Likewise. * elf64-sh64.c (sh_elf64_copy_private_data_internal): Likewise. binutils: * readelf.c (display_gnu_attribute): New. (process_arm_specific): Rearrange as process_attributes. (process_arm_specific): Replace by wrapper of process_attributes. gas: * as.c (create_obj_attrs_section): New. (main): Call create_obj_attrs_section for ELF. * read.c (s_gnu_attribute, skip_whitespace, skip_past_char, skip_past_comma, s_vendor_attribute): New. (potable): Add gnu_attribute for ELF. * read.h (s_vendor_attribute): Declare. * config/tc-arm.c (s_arm_eabi_attribute): Replace by wrapper round s_vendor_attribute. (aeabi_set_public_attributes): Update for new attributes interfaces. (arm_md_end): Remove attributes contents setting now done generically. include/elf: * arm.h (elf32_arm_add_eabi_attr_int, elf32_arm_add_eabi_attr_string, elf32_arm_add_eabi_attr_compat, elf32_arm_get_eabi_attr_int, elf32_arm_set_eabi_attr_contents, elf32_arm_eabi_attr_size, Tag_NULL, Tag_File, Tag_Section, Tag_Symbol, Tag_compatibility): Remove. * common.h (SHT_GNU_ATTRIBUTES): Define. ld: * emulparams/armelf.sh (OTHER_SECTIONS): Remove .ARM.attributes. (ATTRS_SECTIONS): Define. * scripttempl/elf.sc, scripttempl/elf32sh-symbian.sc, scripttempl/elf_chaos.sc, scripttempl/elfi370.sc, scripttempl/elfxtensa.sc: Handle ATTRS_SECTIONS.
2007-06-29New port: National Semiconductor's CR16Nick Clifton1-0/+175
2007-05-03 * scripttempl/elfxtensa.sc: Merge changes from elf.sc.Bob Wilson1-4/+13
2007-05-03 * scripttempl/elf.sc: Add .debug_pubtypes and .debug_ranges.Alan Modra1-0/+4
2007-02-05Support for Toshiba MeP.Dave Brolley1-0/+446