Commit graph

10346 commits

Author SHA1 Message Date
Alan Modra
4f3fedcf68 * elflink.c (_bfd_elf_merge_symbol): Set old_alignment for
usual common symbols as well as for dynamic.  Add poldbfd param.
	Save old bfd.  Adjust callers.
	(_bfd_elf_add_default_symbol): Add poldbfd param.  Pass "section"
	and "value" by value, not pointer.  Adjust caller.
	(elf_link_add_object_symbols): Combine undef_bfd and old_bfd vars.
	Delete code to set same.  Use old_bfd and old_alignment from
	_bfd_elf_merge_symbol instead.  Add default symbol before
	alignment and size checks.  Wrap overlong lines.
2013-03-25 06:12:06 +00:00
Alan Modra
e3c9d23467 * elflink.c (_bfd_elf_add_default_symbol): Delete "override" param.
(elf_link_add_object_symbols): Don't call _bfd_elf_add_default_symbol
	when override is true.
2013-03-25 06:06:35 +00:00
Alan Modra
6c9b78e691 * elflink.c (_bfd_elf_merge_symbol): Use local var holding value
of *sym_hash.
2013-03-25 06:03:48 +00:00
Alan Modra
191c0c4245 * elflink.c (_bfd_elf_merge_symbol): Don't discard TLS symbols here.
Wrap long lines.
	(elf_link_add_object_symbols): Discard TLS symbols for --just-syms
	early in symbol loop.
2013-03-25 06:02:28 +00:00
Alan Modra
5d13b3b319 * elf-bfd.h (struct elf_backend_data <merge_symbol>): Update proto.
(_bfd_elf_init_reloc_shdr): Delete.
	* elf.c (_bfd_elf_init_reloc_shdr): Make static.
	* elf64-x86-64.c (elf_x86_64_merge_symbol): Trim parameters to
	just what is needed.
	* elflink.c (_bfd_elf_merge_symbol): Update bed->merge_symbol call.
2013-03-25 06:00:06 +00:00
Alan Modra
f5700e63ea daily update 2013-03-24 23:00:05 +00:00
Alan Modra
5193ca284e daily update 2013-03-23 23:00:04 +00:00
Alan Modra
8a56bd0251 * elf-bfd.h (_bfd_elf_merge_symbol): Delete declaration.
* elflink.c (_bfd_elf_merge_symbol): Make static.
	* elf32-sh-symbian.c (sh_symbian_relocate_section): Don't call
	_bfd_elf_merge_symbol, call _bfd_generic_link_add_one_symbol.
2013-03-23 10:25:02 +00:00
Alan Modra
96f29d96af PR ld/15270
* elflink.c (elf_link_add_object_symbols): Don't set def_regular
	or ref_regular for BFD_PLUGIN owned syms, or have them affect
	def_dynamic/ref_dynamic.
	(_bfd_elf_fix_symbol_flags): Don't set def_regular for BFD_PLUGIN
	owned syms.
2013-03-22 23:35:55 +00:00
Alan Modra
7438a259bc daily update 2013-03-22 23:00:06 +00:00
David S. Miller
209be8d2a9 Fix attribute section output on sparc.
bfd/

	* elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): Set type of
	hwcaps attribute.
2013-03-22 15:54:21 +00:00
Nick Clifton
5c0df4846e PR ld/14902
* elf32-h8300.c (elf32_h8_relax_delete_bytes): Fix off by one
	errors adjusting relocs and symbols.
2013-03-22 15:53:36 +00:00
Alan Modra
3227bda7a8 daily update 2013-03-21 23:00:05 +00:00
Nick Clifton
81f5558e3d * elf32-h8300 (h8_relax_section): Add new relaxation of mov
@(disp:32,ERx) to mov @(disp:16,ERx).
	(R_H8_DISP32A16): New reloc.
	Comments added and corrected.
	* reloc.c (BFD_RELOC_H8_DISP32A16): New reloc.
	* bfd-in2.h: Regenerate.
	* libbfd.h: Regenerate.

	* ld.texinfo (H8/300): Add description of relaxation of
	mov @(disp:32,ERx) to mov @(disp:16,ERx).

	* ld-h8300/h8300.exp: Add new relax-7 test on ELF.
	* ld-h8300/relax-2.s: Add other direction and .w/.l variants of
	mov insns.
	* ld-h8300/relax-2.d: Update expected disassembly.
	* ld-h8300/relax-7a.s: New: tests for mov @(disp:32,ERx) -> mov
	@(disp:16,ERx).
	* ld-h8300/relax-7b.s: New: Likewise.
	* ld-h8300/relax-7.d: New: expected disassembly.

	* config/tc-h8300.c (do_a_fix_imm): Add relaxation of mov
	@(disp:32,ERx) to mov @(disp:16,ERx) insns by new reloc
	R_H8_DISP32A16.
	* config/tc-h8300.h: Remove duplicated defines.
2013-03-21 16:08:07 +00:00
Kai Tietz
ce63b7b388 * coffgen.c (coff_real_object_p): Make global.
* peicode.h (coff_real_object_p): Add prototype.
	(FILHDR): Defined for COFF_IMAGE_WITH_PE as
	external_PEI_IMAGE_hdr structure.
	(coff_swap_filehdr_in): Handle variable header-size.
	* peXXigen.c (_bfd_XXi_swap_aouthdr_in): Just handle amount
	of directory-entiries as specified in pe-header.
2013-03-21 14:07:08 +00:00
Nick Clifton
088ca6c1e3 PR sim/15286
* elf32-arm.c (bfd_arm_get_mach_from_attributes): Identify XScale,
	iWMMXt and iWMMXt2 processors from attributes.
2013-03-21 10:34:11 +00:00
Alan Modra
a6ec22e371 daily update 2013-03-20 23:00:04 +00:00
Alan Modra
8877b5e517 bfd/
* elflink.c (_bfd_elf_make_dynamic_reloc_section): Override
	sh_type according to is_rela.
ld/testsuite/
	* ld-elf/rel.c, ld-elf/relmain.c, ld-elf/relmain.out: New test.
	* ld-elf/shared.exp: Build and run it.
2013-03-20 03:44:56 +00:00
Alan Modra
51753f4ce4 daily update 2013-03-19 23:00:03 +00:00
Alan Modra
6889eaff6d daily update 2013-03-19 01:15:10 +00:00
Alan Modra
ffa9430db1 PR ld/12549
bfd/
	* elflink.c (elf_link_add_object_symbols): Exclude weak refs when
	considering whether an --as-needed library is needed.
ld/
	* ld.texinfo (--as-needed): Update.
ld/testsuite/
	* ld-elf/pr14862.out: Expect no output.
2013-03-18 02:47:03 +00:00
Alan Modra
2fa9158c9f daily update 2013-03-17 23:00:06 +00:00
Alan Modra
9612aae13f daily update 2013-03-16 23:00:05 +00:00
Alan Modra
6e39f1ffe1 daily update 2013-03-15 23:00:05 +00:00
Alan Modra
93c4ff1017 daily update 2013-03-14 23:00:04 +00:00
Tom Tromey
cc0ea93c75 gdb
* symfile.c (get_debug_link_info): Remove.
	(find_separate_debug_file_by_debuglink): Use
	bfd_get_debug_link_info.
bfd
	* opncls.c (bfd_get_debug_link_info): Rename from
	get_debug_link_info.  Export.  Update comment.
	(find_separate_debug_file): Update.
	* bfd-in2.h: Rebuild.
2013-03-14 20:11:12 +00:00
Alan Modra
6cf2404530 daily update 2013-03-13 23:00:04 +00:00
Alan Modra
a639b7de41 daily update 2013-03-12 23:00:04 +00:00
Alan Modra
bac019e5f8 daily update 2013-03-11 23:00:05 +00:00
Alan Modra
3bcc542289 daily update 2013-03-10 23:00:05 +00:00
Alan Modra
9d0678b914 daily update 2013-03-09 23:00:05 +00:00
Alan Modra
f6f6557d88 daily update 2013-03-08 23:00:06 +00:00
Nick Clifton
59c108f731 * elf64-aarch64.c (elf_backend_can_gc_sections): Enable
gc-section support.
        (elf64_aarch64_gc_sweep_hook): Handle GOT, TLS and PLT related relocs.

        * lib/ld-lib.exp (check_gc_sections_available): Remove aarch64
from list of
        targets that don't support gc-section.
2013-03-08 17:37:30 +00:00
Nick Clifton
abb3f6cca7 * elf-bfd.h (elfcore_write_s390_tdb): Add prototype.
* elf.c (elfcore_write_s390_tdb): New function.
	(elfcore_write_register_note): Call it.
	(elfcore_grok_s390_tdb): New function.
	(elfcore_grok_note): Call it.

	* readelf.c (get_note_type): Add NT_S390_TDB.
2013-03-08 17:13:31 +00:00
Maciej W. Rozycki
af924177b5 * elfxx-mips.c (mips_elf_allocate_lazy_stub): Correct data type. 2013-03-08 11:50:27 +00:00
Alan Modra
457f4f60b6 daily update 2013-03-07 23:00:05 +00:00
Alan Modra
309a4436e3 daily update 2013-03-06 23:00:05 +00:00
Alan Modra
b27744474a daily update 2013-03-05 23:00:06 +00:00
Corinna Vinschen
48385e3898 * config.bfd: Add x86_64-*-cygwin to list of supported targets. 2013-03-05 11:47:01 +00:00
Alan Modra
ea9346df17 daily update 2013-03-04 23:00:06 +00:00
Alan Modra
f75e0e336f * elf32-ppc.c (ppc_elf_relocate_section <R_PPC_PLTREL24>): Adjust
non-zero addends when relocatable, rather than addends >= 32768.
	Always zero "addend" before applying relocation.
2013-03-04 12:12:11 +00:00
Nick Clifton
17e3916e23 * archive64.c (bfd_elf64_archive_write_armap): Fix calculation of
file pointer offsets for thin archives.
2013-03-04 09:21:43 +00:00
Alan Modra
72973c5dec daily update 2013-03-03 23:00:07 +00:00
Alan Modra
42ab3ce955 daily update 2013-03-02 23:00:06 +00:00
Alan Modra
7d7a477d00 daily update 2013-03-01 23:00:06 +00:00
Alan Modra
0ad3b6e07e daily update 2013-02-28 23:00:07 +00:00
Julian Brown
3064e1ff79 bfd/
* elf32-arm.c (elf32_arm_size_dynamic_sections): Don't call
    elf32_arm_allocate_dynrelocs for source reloc for non-dynamic link.

    ld/testsuite/
    * ld-arm/tls-local-static.s: New test.
    * ld-arm/tls-local-static.d: New.
    * ld-arm/arm-elf.exp (tls-local-static): Add test.
2013-02-28 10:31:34 +00:00
Alan Modra
71091f23fd daily update 2013-02-27 23:00:07 +00:00
DJ Delorie
4107ae2218 * reloc.c (BFD_RELOC_RL78_CODE): Add.
* libbfd.h: Regenerate.
* bfd-in2.h: Regenerate.
* elf32-rl78.c (rl78_elf_relocate_section): Handle weak code
references in compuated relocs.

* config/tc-rl78.c (reloc_function): Add %code -> BFD_RELOC_RL78_CODE.
(rl78_op): Handle %code().
(rl78_cons_fix_new): Likewise, but ignore for 20-bit operands.
(tc_gen_reloc): Likwise; convert to a computed reloc.
(md_apply_fix): Likewise.
2013-02-27 21:39:20 +00:00
Alan Modra
50ee9dd93f daily update 2013-02-26 23:00:06 +00:00