H.J. Lu
34734a010b
Include compressed DWARF debug sections in ELF linker scripts.
...
binutils/testsuite/
2010-11-02 H.J. Lu <hongjiu.lu@intel.com>
* binutils-all/libdw2.out: Also accept MIPS_DWARF.
ld/
2010-11-02 H.J. Lu <hongjiu.lu@intel.com>
* scripttempl/armbpabi.sc: Include compressed DWARF debug
sections.
* scripttempl/avr.sc: Likewise.
* scripttempl/elf32cr16.sc: Likewise.
* scripttempl/elf32crx.sc: Likewise.
* scripttempl/elf32msp430.sc: Likewise.
* scripttempl/elf32msp430_3.sc: Likewise.
* scripttempl/elf32sh-symbian.sc: Likewise.
* scripttempl/elf64hppa.sc: Likewise.
* scripttempl/elf_chaos.sc: Likewise.
* scripttempl/elfd10v.sc: Likewise.
* scripttempl/elfd30v.sc: Likewise.
* scripttempl/elfi370.sc: Likewise.
* scripttempl/elfm68hc11.sc: Likewise.
* scripttempl/elfm68hc12.sc: Likewise.
* scripttempl/elfxtensa.sc: Likewise.
* scripttempl/ip2k.sc: Likewise.
* scripttempl/iq2000.sc: Likewise.
* scripttempl/mep.sc: Likewise.
* scripttempl/mmo.sc: Likewise.
* scripttempl/v850.sc: Likewise.
* scripttempl/xstormy16.sc: Likewise.
ld/testsuite/
2010-11-02 H.J. Lu <hongjiu.lu@intel.com>
* ld-elf/compress1a.d: Also check MIPS_DWARF.
* ld-elf/compress1b.d: Likewise.
* ld-elf/compress1c.d: Likewise.
2010-11-02 13:47:44 +00:00
H.J. Lu
4a114e3e0c
Add compressed debug section support to binutils and ld.
...
bfd/
2010-10-29 H.J. Lu <hongjiu.lu@intel.com>
Cary Coutant <ccoutant@google.com>
* archive.c (bfd_openr_next_archived_file): Copy BFD_COMPRESS
and BFD_DECOMPRESS.
* bfd.c (BFD_COMPRESS): New.
(BFD_DECOMPRESS): Likewise.
(BFD_FLAGS_SAVED): Likewise.
(bfd_preserve_save): Replace BFD_IN_MEMORY with BFD_FLAGS_SAVED.
* compress.c (bfd_uncompress_section_contents): Removed.
(get_uncompressed_size): New.
(decompress_contents): Likewise.
(bfd_compress_section_contents): Likewise.
(bfd_get_full_section_contents): Likewise.
(bfd_is_section_compressed): Likewise.
(bfd_init_section_decompress_status): Likewise.
(bfd_init_section_compress_status): Likewise.
* dwarf2.c (dwarf_debug_sections): New.
(dwarf_debug_section_enum): Likewise.
(read_section): Remove section_name and compressed_section_name.
Add dwarf_debug_section_enum. Try compressed debug section.
(read_indirect_string): Updated.
(read_abbrevs): Likewise.
(decode_line_info): Likewise.
(read_debug_ranges): Likewise.
(find_line): Updated.
* ecoff.c (bfd_debug_section): Add compress_status and
compressed_size.
* elf.c (_bfd_elf_make_section_from_shdr): Call
bfd_is_section_compressed to check if a DWARF debug section is
compressed. Call bfd_init_section_compress_status or
bfd_init_section_decompress_status if needed.
* elflink.c (elf_link_input_bfd): Replace bfd_get_section_contents
with bfd_get_full_section_contents.
* merge.c (_bfd_add_merge_section): Likewise.
* reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
* simple.c (bfd_simple_get_relocated_section_contents): Likewise.
* elfxx-target.h (TARGET_BIG_SYM): Allow BFD_COMPRESS and
BFD_DECOMPRESS.
(TARGET_LITTLE_SYM): Likewise.
* libbfd-in.h (dwarf_debug_section): New.
(dwarf_debug_sections): Likewise.
* libbfd.c (_bfd_generic_get_section_contents): Issue an error
when getting contents on compressed/decompressed section.
* section.c (COMPRESS_SECTION_NONE): New.
(COMPRESS_SECTION_DONE): Likewise.
(DECOMPRESS_SECTION_SIZED): Likewise.
(BFD_FAKE_SECTION): Add compress_status and compressed_size.
(bfd_malloc_and_get_section): Replace bfd_get_section_contents
with bfd_get_full_section_contents.
* bfd-in2.h: Regenerated.
* libbfd.h: Likewise.
binutils/
2010-10-29 H.J. Lu <hongjiu.lu@intel.com>
* addr2line.c (process_file): Set BFD_DECOMPRESS.
* objcopy.c (do_debug_sections): New.
(OPTION_COMPRESS_DEBUG_SECTIONS): New.
(OPTION_DECOMPRESS_DEBUG_SECTIONS): Likewise.
(copy_options): Add OPTION_COMPRESS_DEBUG_SECTIONS and
OPTION_DECOMPRESS_DEBUG_SECTIONS.
(copy_usage): Add --compress-debug-sections and
--decompress-debug-sections.
(copy_file): Set BFD_COMPRESS or BFD_DECOMPRESS.
(copy_section): Replace bfd_get_section_contents with
bfd_get_full_section_contents.
(copy_main): Handle OPTION_COMPRESS_DEBUG_SECTIONS and
OPTION_DECOMPRESS_DEBUG_SECTIONS. Check do_debug_sections to
rename DWARF debug sections.
* objdump.c (load_specific_debug_section): Replace
bfd_get_section_contents with bfd_get_full_section_contents.
Remove bfd_uncompress_section_contents.
(dump_section): Replace bfd_get_section_contents with
bfd_get_full_section_contents.
(display_file): Set BFD_DECOMPRESS if needed.
* readelf.c (uncompress_section_contents): Set buffer to NULL
to indiate decompression failure.
(load_specific_debug_section): Always call
uncompress_section_contents.
* doc/binutils.texi: Document --compress-debug-sections and
--decompress-debug-sections.
binutils/testsuite/
2010-10-29 H.J. Lu <hongjiu.lu@intel.com>
* binutils-all/compress.exp: New.
* binutils-all/dw2-1.S: Likewise.
* binutils-all/dw2-2.S: Likewise.
* binutils-all/libdw2-compressed.out: Likewise.
* binutils-all/libdw2.out: Likewise.
gas/
2010-10-29 H.J. Lu <hongjiu.lu@intel.com>
* write.c (compress_debug): Optimize section flags check.
gas/testsuite/
2010-10-29 H.J. Lu <hongjiu.lu@intel.com>
* elf/dwarf2-1.s: Replace .zdebug_abbrev section with
.debug_abbrev section.
* elf/dwarf2-2.3: Likewise.
* elf/dwarf2-1.d: Pass --compress-debug-sections to assembler.
Updated.
* elf/dwarf2-2.d: Likewise.
* gas/i386/i386.exp: Remove xfail on dw2-compress-2 and
x86-64-dw2-compress-2.
ld/
2010-10-29 H.J. Lu <hongjiu.lu@intel.com>
* ldfile.c (ldfile_try_open_bfd): Set BFD_DECOMPRESS after
bfd_openr returns.
* emultempl/elf32.em (gld${EMULATION_NAME}_try_needed): Likewise.
* scripttempl/elf.sc: Include compressed DWARF debug sections.
ld/testsuite/
2010-10-29 H.J. Lu <hongjiu.lu@intel.com>
* ld-elf/compress.exp: New.
* ld-elf/compress1.s: Likewise.
* ld-elf/compress1a.d: Likewise.
* ld-elf/compress1b.d: Likewise.
* ld-elf/compress1c.d: Likewise.
2010-10-29 12:10:39 +00:00
Dave Korn
9396a3cecf
* scripttempl/armcoff.sc: Revert 2010-09-22 change.
2010-09-24 04:41:12 +00:00
Kai Tietz
d487497340
2010-09-22 Kai Tietz <kai.tietz@onevision.com>
...
* emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Add
idata to orphan set.
* emultempl/pep.em: Likewise.
* scripttempl/armcoff.sc: Separate idata
and add __IAT_start__ and __IAT_end__ labels.
* scripttempl/pe.sc: Likewise.
* scripttempl/pep.sc: Likewise.
2010-09-22 08:03:42 +00:00
Kai Tietz
2d7f492901
ChangeLog gas
...
2010-09-15 Kai Tietz <kai.tietz@onevision.com>
* config/obj-coff-seh.h (seh_context): New member code_seg.
* config/obj-coff-seh.c: Implementing xdata/pdata section cloning
for link-once code-segment.
ChangeLog ld
2010-09-15 Kai Tietz <kai.tietz@onevision.com>
* scripttempl/pep.sc: Add .xdata segment and
put into .pdata all segments beginning with .pdata.
ChangeLog gas/testsuite
2010-09-15 Kai Tietz <kai.tietz@onevision.com>
* gas/pe/pe.exp: Add peseh-x64-4,5,6 tests.
* gas/pe/peseh-x64-4.s: New.
* gas/pe/peseh-x64-4.d: New.
* gas/pe/peseh-x64-5.d: New.
* gas/pe/peseh-x64-6.d: New.
2010-09-15 19:43:56 +00:00
Alan Modra
6be999b866
* scripttempl/mmo.sc: Move assignment to "Main" inside .text
...
output section statement.
2010-08-31 05:11:29 +00:00
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