aboutsummaryrefslogtreecommitdiff
path: root/bfd
AgeCommit message (Collapse)AuthorFilesLines
2013-04-08daily updateAlan Modra1-1/+1
2013-04-07daily updateAlan Modra1-1/+1
2013-04-06 * elf32-ppc.c (ppc_elf_check_relocs): Use SYMBOLIC_BIND.Alan Modra3-3/+8
* elf64-ppc.c (ppc64_elf_check_relocs, dec_dynrel_count): Likewise.
2013-04-05daily updateAlan Modra1-1/+1
2013-04-05 * elflink.c (elf_link_add_object_symbols): Revert accidental commit.Nick Clifton2-1/+4
2013-04-04daily updateAlan Modra1-1/+1
2013-04-04 * bfd.c (bfd_error_type, bfd_errmsgs): Add bfd_error_missing_dso.Alan Modra4-5/+10
* bfd-in2.h: Regenerate. * elflink.c (elf_link_add_object_symbols): Use new error.
2013-04-03daily updateAlan Modra1-1/+1
2013-04-03 * elf32-v850.c (v850_elf_is_target_special_symbol): New function.Nick Clifton2-0/+13
(bfd_elf32_bfd_is_target_special_symbol): Define. * v850.h (V850_INVERSE_PCREL): Define. * v850-dis.c (print_value): With V850_INVERSE_PCREL compute the destination address by subtracting the operand from the current address. * v850-opc.c (insert_u16_loop): Disallow negative offsets. Store a positive value in the insn. (extract_u16_loop): Do not negate the returned value. (D16_LOOP): Add V850_INVERSE_PCREL flag. (ceilf.sw): Remove duplicate entry. (cvtf.hs): New entry. (cvtf.sh): Likewise. (fmaf.s): Likewise. (fmsf.s): Likewise. (fnmaf.s): Likewise. (fnmsf.s): Likewise. (maddf.s): Restrict to E3V5 architectures. (msubf.s): Likewise. (nmaddf.s): Likewise. (nmsubf.s): Likewise.
2013-04-03 * elf64-aarch64.c (elf64_aarch64_gc_sweep_hook): UseNick Clifton2-10/+14
elf64_aarch64_locals to get local GOT reference counts. * ld-aarch64/gc-relocs-tlsle.s: New gc section test. * ld-aarch64/gc-relocs-tlsle.s: Likewise * ld-aarch64/gc-relocs-tlsgd.s: Likewise * ld-aarch64/gc-relocs-tlsdesc.s: Likewise * ld-aarch64/gc-relocs-312.s: Likewise * ld-aarch64/gc-relocs-311.s: Likewise * ld-aarch64/gc-relocs-309.s: Likewise * ld-aarch64/gc-start.s: Likewise * ld-aarch64/gc-got-relocs.d: Update expected objdump * ld-aarch64/gc-tls-relocs.d: Likewise * ld-aarch64/aarch64-elf.exp: add test
2013-04-02* elf32-rl78.c (GET_RELOC): Assert that there are relocs to get.DJ Delorie2-1/+17
(rl78_elf_relax_section): Only fetch the next reloc if there is one expected.
2013-04-02daily updateAlan Modra1-1/+1
2013-04-01daily updateAlan Modra1-1/+1
2013-03-31daily updateAlan Modra1-1/+1
2013-03-30daily updateAlan Modra1-1/+1
2013-03-30 PR ld/15323Alan Modra50-7/+260
bfd/ * elf-m10300.c (mn10300_elf_check_relocs): Set non_ir_ref for global symbols referenced by relocs. * elf32-arm.c (elf32_arm_check_relocs): Likewise. * elf32-bfin.c (bfin_check_relocs): Likewise. * elf32-cr16.c (cr16_elf_check_relocs): Likewise. * elf32-cris.c (cris_elf_check_relocs): Likewise. * elf32-d10v.c (elf32_d10v_check_relocs): Likewise. * elf32-dlx.c (elf32_dlx_check_relocs): Likewise. * elf32-fr30.c (fr30_elf_check_relocs): Likewise. * elf32-frv.c (elf32_frv_check_relocs): Likewise. * elf32-hppa.c (elf32_hppa_check_relocs): Likewise. * elf32-i370.c (i370_elf_check_relocs): Likewise. * elf32-iq2000.c (iq2000_elf_check_relocs): Likewise. * elf32-lm32.c (lm32_elf_check_relocs): Likewise. * elf32-m32c.c (m32c_elf_check_relocs): Likewise. * elf32-m32r.c (m32r_elf_check_relocs): Likewise. * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise. * elf32-m68k.c (elf_m68k_check_relocs): Likewise. * elf32-mcore.c (mcore_elf_check_relocs): Likewise. * elf32-metag.c (elf_metag_check_relocs): Likewise. * elf32-microblaze.c (microblaze_elf_check_relocs): Likewise. * elf32-moxie.c (moxie_elf_check_relocs): Likewise. * elf32-msp430.c (elf32_msp430_check_relocs): Likewise. * elf32-mt.c (mt_elf_check_relocs): Likewise. * elf32-nios2.c (nios2_elf32_check_relocs): Likewise. * elf32-openrisc.c (openrisc_elf_check_relocs): Likewise. * elf32-ppc.c (ppc_elf_check_relocs): Likewise. * elf32-rl78.c (rl78_elf_check_relocs): Likewise. * elf32-s390.c (elf_s390_check_relocs): Likewise. * elf32-score.c (s3_bfd_score_elf_check_relocs): Likewise. * elf32-score7.c (s7_bfd_score_elf_check_relocs): Likewise. * elf32-sh.c (sh_elf_check_relocs): Likewise. * elf32-tic6x.c (elf32_tic6x_check_relocs): Likewise. * elf32-tilepro.c (tilepro_elf_check_relocs): Likewise. * elf32-v850.c (v850_elf_check_relocs): Likewise. * elf32-vax.c (elf_vax_check_relocs): Likewise. * elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise. * elf32-xtensa.c (elf_xtensa_check_relocs): Likewise. * elf64-aarch64.c (elf64_aarch64_check_relocs): Likewise. * elf64-alpha.c (elf64_alpha_check_relocs): Likewise. * elf64-hppa.c (elf64_hppa_check_relocs): Likewise. * elf64-ia64-vms.c (elf64_ia64_check_relocs): Likewise. * elf64-mmix.c (mmix_elf_check_relocs): Likewise. * elf64-ppc.c (ppc64_elf_check_relocs): Likewise. * elf64-s390.c (elf_s390_check_relocs): Likewise. * elf64-sh64.c (sh_elf64_check_relocs): Likewise. * elfnn-ia64.c (elfNN_ia64_check_relocs): Likewise. * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise. * elfxx-tilegx.c (tilegx_elf_check_relocs): Likewise. * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise. Don't test indirect/warning links for NULL. ld/testsuite/ * ld-plugin/lto.exp (pr15323a.c): Compile without -flto rather than using -r to effectively strip out lto info.
2013-03-30Set non_ir_ref if a symbol is referenced by a non-shared objectH.J. Lu3-2/+11
bfd/ PR ld/15323 * elf32-i386.c (elf_i386_check_relocs): Set non_ir_ref if a symbol is referenced by a non-shared object. * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise. ld/testsuite/ PR ld/15323 * ld-plugin/lto.exp (lto_link_tests): Add pr15323a-r.o. (lto_run_tests): Add a test for PR ld/15323. * ld-plugin/pr15323.out: New file. * ld-plugin/pr15323a.c: Likewise. * ld-plugin/pr15323b.c: Likewise.
2013-03-29daily updateAlan Modra1-1/+1
2013-03-28 * elf32-sh.c (sh_elf_relocate_section): Suppress warnings forKaz Kojima2-1/+12
R_SH_REL32 relocations against undefined weak symbols.
2013-03-28daily updateAlan Modra1-1/+1
2013-03-28 * elf64-ppc.c (struct ppc_dyn_relocs): New.Alan Modra2-101/+176
(ppc64_elf_check_relocs): Separate dynrel counts for local syms into ifunc and non-ifunc. (dec_dynrel_count): Pass in sym rather than sym_sec. Handle separate ifunc/non-ifunc dynrel counts. (allocate_got): Always use reliplt for ifunc. (allocate_dynrelocs): Likewise. (ppc64_elf_size_dynamic_sections): Likewise. (ppc64_elf_layout_multitoc): Likewise. (ppc64_elf_relocate_section): Likewise.
2013-03-28 * elf32-ppc.c (struct ppc_dyn_relocs): New.Alan Modra2-34/+73
(ppc_elf_check_relocs): Separate dynrel counts for local syms into ifunc and non-ifunc. (allocate_dynrelocs): Always put ifunc relocs into reliplt. (ppc_elf_size_dynamic_sections): Likewise. (ppc_elf_relocate_section): Likewise.
2013-03-27daily updateAlan Modra1-1/+1
2013-03-27 * elf-bfd.h (enum elf_reloc_type_class): Add reloc_class_ifunc.Alan Modra34-51/+138
(struct elf_backend_data <elf_backed_reloc_type_class>): Add bfd_link_info* and asection* params. (_bfd_elf_reloc_type_class): Likewise. * elf.c (_bfd_elf_reloc_type_class): Likewise. * elflink.c (elf_link_sort_cmp2): Sort first on reloc class. (elf_link_sort_relocs): Update elf_backed_reloc_type_class call. * elf32-ppc.c (ppc_elf_reloc_type_class): Return reloc_class_ifunc for any reliplt reloc. Don't return reloc_class_plt for R_PPC_REL24 and R_PPC_ADDR24. * elf64-ppc.c (allocate_got): Formatting. (ppc64_elf_reloc_type_class): Return reloc_class_ifunc for any reliplt reloc. * elf-m10300.c, * elf32-arm.c, * elf32-bfin.c, * elf32-cr16.c, * elf32-cris.c, * elf32-hppa.c, * elf32-i386.c, * elf32-lm32.c, * elf32-m32r.c, * elf32-m68k.c, * elf32-metag.c, * elf32-nios2.c, * elf32-s390.c, * elf32-sh.c, * elf32-sparc.c, * elf32-tilepro.c, * elf32-vax.c, * elf32-xtensa.c, * elf64-aarch64.c, * elf64-alpha.c, * elf64-hppa.c, * elf64-ia64-vms.c, * elf64-s390.c, * elf64-sparc.c, * elf64-x86-64.c, * elfnn-ia64.c, * elfxx-tilegx.c, * elfxx-tilegx.h: Add extra params to the various reloc_type_class functions.
2013-03-27 * elf32-ppc.c (ppc_elf_check_relocs): Set PLT_IFUNC in local gotAlan Modra2-13/+32
masks for all local ifunc syms. (allocate_dynrelocs): Don't use htab->relgot for ifunc. (ppc_elf_size_dynamic_sections): Likewise. (ppc_elf_relocate_section): Likewise.
2013-03-27bfd/ChangeLog:Will Newton2-2/+9
2013-03-20 Will Newton <will.newton@linaro.org> * elf32-arm.c (elf32_arm_final_link_relocate): Avoid emitting a dynamic reloc for symbols with dynindx == -1. (allocate_dynrelocs_for_symbol): Avoid allocating space for a dynamic reloc for symbols with dynindx == -1.
2013-03-27bfd/ChangeLog:Will Newton2-2/+12
2013-03-20 Will Newton <will.newton@linaro.org> * elf32-arm.c (elf32_arm_final_link_relocate): Avoid emitting a dynamic reloc for symbols with dynindx == -1. (allocate_dynrelocs_for_symbol): Avoid allocating space for a dynamic reloc for symbols with dynindx == -1.
2013-03-26daily updateAlan Modra1-1/+1
2013-03-26 * elflink.c (_bfd_elf_add_default_symbol): Preserve sectionAlan Modra2-2/+10
over _bfd_elf_merge_symbol calls.
2013-03-26 * elflink.c (elf_link_add_object_symbols): Add assertion forAlan Modra2-1/+10
common override alignment check code. Formatting.
2013-03-25daily updateAlan Modra1-1/+1
2013-03-25 * elflink.c (_bfd_elf_merge_symbol): Set old_alignment forAlan Modra2-156/+121
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 * elflink.c (_bfd_elf_add_default_symbol): Delete "override" param.Alan Modra2-23/+11
(elf_link_add_object_symbols): Don't call _bfd_elf_add_default_symbol when override is true.
2013-03-25 * elflink.c (_bfd_elf_merge_symbol): Use local var holding valueAlan Modra2-12/+15
of *sym_hash.
2013-03-25 * elflink.c (_bfd_elf_merge_symbol): Don't discard TLS symbols here.Alan Modra2-13/+22
Wrap long lines. (elf_link_add_object_symbols): Discard TLS symbols for --just-syms early in symbol loop.
2013-03-25 * elf-bfd.h (struct elf_backend_data <merge_symbol>): Update proto.Alan Modra5-53/+32
(_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-24daily updateAlan Modra1-1/+1
2013-03-23daily updateAlan Modra1-1/+1
2013-03-23 * elf-bfd.h (_bfd_elf_merge_symbol): Delete declaration.Alan Modra4-43/+29
* 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-22 PR ld/15270Alan Modra2-6/+16
* 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-22daily updateAlan Modra1-1/+1
2013-03-22Fix attribute section output on sparc.David S. Miller2-0/+6
bfd/ * elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): Set type of hwcaps attribute.
2013-03-22 PR ld/14902Nick Clifton2-6/+11
* elf32-h8300.c (elf32_h8_relax_delete_bytes): Fix off by one errors adjusting relocs and symbols.
2013-03-21daily updateAlan Modra1-1/+1
2013-03-21 * elf32-h8300 (h8_relax_section): Add new relaxation of movNick Clifton6-53/+179
@(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 * coffgen.c (coff_real_object_p): Make global.Kai Tietz4-10/+56
* 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 PR sim/15286Nick Clifton2-0/+20
* elf32-arm.c (bfd_arm_get_mach_from_attributes): Identify XScale, iWMMXt and iWMMXt2 processors from attributes.
2013-03-20daily updateAlan Modra1-1/+1
2013-03-20bfd/Alan Modra2-0/+10
* 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-19daily updateAlan Modra1-1/+1