Nick Clifton
ec51c3818e
* scripttempl/xstormy16.sc (.gcc_except_table): Include sections
...
with the .gcc_except_table. prefix.
2010-06-29 09:43:04 +00:00
Alan Modra
360cfc9c8b
remove maxq-coff port
2010-06-29 04:17:34 +00:00
Tristan Gingold
46d00b8af1
bfd/
...
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-06-01 09:52:28 +00:00
Tristan Gingold
8b351884bb
2010-04-14 Tristan Gingold <gingold@adacore.com>
...
* 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-04-14 09:27:27 +00:00
Joseph Myers
349e935bad
* scripttempl/elf.sc (RODATA_NAME, SDATA_NAME, SBSS_NAME,
...
BSS_NAME): Define if not already defined. Use in place of some
hardcoded section names.
2010-03-23 16:02:02 +00:00
H.J. Lu
576ee33af3
Re-indent INIT_ARRAY.
...
2010-03-18 H.J. Lu <hongjiu.lu@intel.com>
* scripttempl/elf.sc (INIT_ARRAY): Re-indent.
2010-03-18 18:40:29 +00:00
Jie Zhang
3cff7cc71f
* scripttempl/armbpabi.sc: Don't combine .init_array.* or
...
.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-27 12:34:25 +00:00
Alan Modra
9445af9a0e
* scripttempl/elf.sc (.fini_array): Place input .fini_array after
...
.fini_array.*.
* scripttempl/armbpabi.sc: Likewise.
* scripttempl/elf32sh-symbian.sc: Likewise.
* scripttempl/elf64hppa.sc: Likewise.
* scripttempl/elfxtensa.sc: Likewise.
2010-02-26 11:36:32 +00:00
Alan Modra
829da89821
PR ld/11012
...
* 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-12-09 01:26:03 +00:00
Kai Tietz
fecc36fdd1
2009-11-25 Kai Tietz <kai.tietz@onevision.com>
...
* 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-11-25 06:59:01 +00:00
Alan Modra
ec2d9b2927
Revert 2009-09-28 changes.
2009-10-10 04:34:39 +00:00
Alan Modra
df381c72f4
* scripttempl/elf32cr16.sc: Emit empty script for ld -r and ld -Ur.
...
* 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-28 07:08:50 +00:00
Alan Modra
7807ee0cd2
Delete unused scripts.
2009-09-22 00:17:48 +00:00
Alan Modra
97b11f4094
PR ld/6766
...
* 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-13 07:19:18 +00:00
Alan Modra
596d6d9145
Only provide ENTRY on final link.
2009-09-09 11:59:14 +00:00
Alan Modra
4c4fb5dac5
* scripttempl/elf.sc (.text): Add cold text sections.
2009-09-04 06:35:29 +00:00
Dave Korn
032f3e01ca
ld/ChangeLog:
...
* 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-03 18:04:35 +00:00
Jie Zhang
8d17e044d8
* scripttempl/elf.sc: Add ${USER_LABEL_PREFIX} to _start, etext,
...
_stack and __bss_start.
* emulparams/bfin.sh (ENTRY): Remove.
2009-09-01 02:54:10 +00:00
Nick Clifton
43e56c3465
* scripttempl/elfxtensa.sc (DISCARDED): Discard sections with
...
.gnu.lto_ prefix.
* scripttempl/armbpabi.sc: Likewise.
* scripttempl/elf32sh-symbian.sc: Likewise.
* scripttempl/elf64hppa.sc: Likewise.
* scripttempl/mep.sc: Likewise.
2009-08-24 15:22:59 +00:00
Nick Clifton
032b94c5fd
* scripttempl/elf.sc: Discard sections with .gnu.lto_ prefix.
2009-08-21 10:38:14 +00:00
Nick Clifton
7ba29e2a41
Add support for Xilinx MicroBlaze processor.
...
* 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-08-06 17:38:04 +00:00
Alan Modra
8dfab6dd9a
* emulparams/elf32ppc.sh (PLT): Don't include ".iplt".
...
* 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 14:59:23 +00:00
Hans-Peter Nilsson
18c32df5b4
* scripttempl/mmo.sc: For relocateable links, set $OUTPUT_FORMAT to
...
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-29 00:25:22 +00:00
Tristan Gingold
27505b5d0f
2009-07-03 Tristan Gingold <gingold@adacore.com>
...
* scripttempl/pep.sc: Put .eh_frame in its own section.
* scripttempl/pe.sc: Ditto.
2009-07-03 10:44:57 +00:00
Kai Tietz
224180050f
2009-06-27 Kai Tietz <kai.tietz@onevision.com>
...
* scripttempl/pe.sc (.debug_pubtypes): Fixed syntax error.
* scripttempl/pep.sc (.debug_pubtypes): Likewise.
2009-06-27 08:57:08 +00:00
Kai Tietz
a626fe20fb
2009-06-26 Kai Tietz <kai.tietz@onevision.com>
...
* scripttempl/pe.sc (.debug_pubtypes): Added section rule.
* scripttempl/pep.sc: Likewise.
2009-06-26 17:23:10 +00:00
H.J. Lu
2a81c24ab1
bfd/
...
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-06 22:39:25 +00:00
H.J. Lu
fc1e878931
2009-06-05 H.J. Lu <hongjiu.lu@intel.com>
...
* scripttempl/elf.sc: Remove .rel.ifunc.dyn and .rela.ifunc.dyn.
2009-06-05 16:49:16 +00:00
H.J. Lu
3aa14d16c6
bfd/
...
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-06-01 12:53:00 +00:00
Nick Clifton
84f1b567bb
* scripttempl/avr.sc (MEMORY): Use DATA_ORIGIN.
...
* 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-05-05 11:28:36 +00:00
Nick Clifton
20135e4cea
Add new binutils target: moxie
2009-04-16 15:39:48 +00:00
Dave Anglin
d1bbb13a63
* configure.tgt: Only use elf64hppa target emulation for hpux.
...
* 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-03-01 22:10:36 +00:00
H.J. Lu
258795f524
ld/
...
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.
2009-01-16 14:14:07 +00:00
Nick Clifton
e7c3341679
include/elf/
...
* 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-12-03 14:51:00 +00:00
Bob Wilson
e78c4c7ea8
* emulparams/elf32xtensa.sh (NO_REL_RELOCS): Set.
...
* scripttempl/elfxtensa.sc (NO_REL_RELOCS, NO_RELA_RELOCS)
(NON_ALLOC_DYN): Import changes from elf.sc.
2008-11-03 18:52:52 +00:00
Alan Modra
485cf67968
* scripttempl/elf.sc (NO_REL_RELOCS, NO_RELA_RELOCS, NON_ALLOC_DYN):
...
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-22 05:20:44 +00:00
Alan Modra
f265bc0660
PR 6943
...
* 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-10-05 04:12:04 +00:00
Kai Tietz
da6fa31a22
[patch]: ctor/dtor section must start at alignment of 8 for x86_64-pc-mingw32.
...
* scripttempl/pep.sc: Align start of symbol __CTOR_LIST__.
2008-04-18 09:06:22 +00:00
Nick Clifton
b34c1498c2
* scripttempl/armbpabi.sc (ENTRY): Do not define when performing a
...
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-02-18 14:53:44 +00:00
Bob Wilson
c19f06f255
* scripttempl/elfxtensa.sc: Merge ENTRY and .note.gnu.build-id
...
changes from elf.sc.
2008-01-18 22:49:38 +00:00
Tristan Gingold
ac69cbc672
ld:
...
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.
2008-01-11 09:11:18 +00:00
Richard Sandiford
53ccb77250
ld/
...
* 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-12-15 09:43:40 +00:00
Nick Clifton
e2a83dd0ec
PR linker/4844
...
* 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-10-01 09:54:58 +00:00
Jakub Jelinek
cd714b7904
* scripttempl/elf.sc: Add .note.gnu.build-id.
2007-07-27 22:33:24 +00:00
Nick Clifton
9b9966104b
* pep.sc: Correct ctor/dtor sentinels for 64-bit targets.
2007-07-24 14:47:44 +00:00
Nathan Sidwell
5f294ed680
* scripttempl/pe.sc: Don't include .gcc_except_table and
...
.eh_frame on partial links.
* scripttempl/pep.sc: Likewise.
2007-07-12 12:57:02 +00:00
Alan Modra
1c68693b0c
* scripttempl/elf.sc (DISCARDED): Renamed from STACKNOTE. Add
...
.gnu.debuglink.
* scripttempl/armbpabi.sc: Likewise.
* scripttempl/elf32sh-symbian.sc: Likewise.
* scripttempl/elfxtensa.sc: Likewise.
* scripttempl/mep.sc: Likewise.
2007-07-10 04:53:13 +00:00
Joseph Myers
104d59d19c
bfd:
...
* 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-29 16:29:17 +00:00
Nick Clifton
3d3d428f04
New port: National Semiconductor's CR16
2007-06-29 14:09:34 +00:00
Bob Wilson
93c0f4a497
* scripttempl/elfxtensa.sc: Merge changes from elf.sc.
2007-05-03 19:31:03 +00:00