aboutsummaryrefslogtreecommitdiff
path: root/bfd
AgeCommit message (Collapse)AuthorFilesLines
2015-12-01Don't use BFD_TRADITIONAL_FORMAT flag in COFF supportAlan Modra6-24/+39
info->traditional_format is available, or can be easily made available. This relegates BFD_TRADITIONAL_FORMAT to AOUT use only. * coff-rs6000.c (_bfd_xcoff_put_symbol_name): Replace abfd param with info param. Test info->traditional_format rather than BFD_TRADITIONAL_FORMAT flag. * coff64-rs6000.c (_bfd_xcoff64_put_symbol_name): Likewise. * libxcoff.h (struct xcoff_backend_data_rec): Update _xcoff_put_symbol_name prototype. (bfd_xcoff_put_symbol_name): Add info param. * xcofflink.c (xcoff_find_tc0): Update bfd_xcoff_put_symbol_name call. (xcoff_write_global_symbol): Likewise. (xcoff_link_input_bfd): Test info->traditional_format rather than BFD_TRADITIONAL_FORMAT flag. * cofflink.c (_bfd_coff_final_link): Likewise. (_bfd_coff_link_input_bfd, _bfd_coff_write_global_sym): Likewise.
2015-12-01SRC-POTFILES.in updateAlan Modra2-0/+6
* po/SRC-POTFILES.in: Regenerate.
2015-12-01Re: ARC port broken reloc processingAlan Modra2-14/+22
* elf32-arc.c (ARC_ELF_HOWTO): Delete. (arc_elf_howto): New function. (bfd_elf32_bfd_reloc_type_lookup): Use it in place of existing init code. (bfd_elf32_bfd_reloc_name_lookup): Use arc_elf_howto. (arc_info_to_howto_rel, elf_arc_relocate_section): Likwise. (elf_arc_check_relocs): Likewise.
2015-12-01ARC port broken reloc processingAlan Modra2-1/+6
This initialises howto.dst_mask so that relocations in debug sections are applied by the generic reloc processing used by objdump to display debug sections. * elf32-arc.c (arc_elf_howto_init): Init dst_mask.
2015-12-01Automatic date update in version.inGDB Administrator1-1/+1
2015-11-30Automatic date update in version.inGDB Administrator1-1/+1
2015-11-29Automatic date update in version.inGDB Administrator1-1/+1
2015-11-28Automatic date update in version.inGDB Administrator1-1/+1
2015-11-27Automatic date update in version.inGDB Administrator1-1/+1
2015-11-26Automatic date update in version.inGDB Administrator1-1/+1
2015-11-25Automatic date update in version.inGDB Administrator1-1/+1
2015-11-24Automatic date update in version.inGDB Administrator1-1/+1
2015-11-23Automatic date update in version.inGDB Administrator1-1/+1
2015-11-22Automatic date update in version.inGDB Administrator1-1/+1
2015-11-21Automatic date update in version.inGDB Administrator1-1/+1
2015-11-20Fix a problem with the maximum number of open files held in the cache when ↵Stefan Teleman2-3/+27
running on a 32-bit Solaris host. PR ld/19260 * cache.c (bfd_cache_max_open): Avoid using getrlimit on 32-bit Solaris as the result is unreliable.
2015-11-20Fix missing update in previous patch.Tristan Gingold2-2/+6
bfd/ * mach-o-x86-64.c (x86_64_howto_table): Change name here too.
2015-11-20binutils: add support for arm-*-darwin and aarch64-*-darwin.Tristan Gingold13-18/+741
Currently only in bfd and binutils. ChangeLog/ * configure.ac: Add aarch64-*-darwin* and arm-*-darwin*. * configure: Regenerate. bfd/ChangeLog/ * targets.c (aarch64_mach_o_vec, arm_mach_o_vec): Declare. (_bfd_target_vector): Add new vectors. * reloc.c (BFD_RELOC_MACH_O_SUBTRACTOR32) (BFD_RELOC_MACH_O_SUBTRACTOR64, BFD_RELOC_MACH_O_ARM64_ADDEND) (BFD_RELOC_MACH_O_ARM64_GOT_LOAD_PAGE21) (BFD_RELOC_MACH_O_ARM64_GOT_LOAD_PAGEOFF12) (BFD_RELOC_MACH_O_ARM64_POINTER_TO_GOT): New relocations. (BFD_RELOC_MACH_O_X86_64_SUBTRACTOR32) (BFD_RELOC_MACH_O_X86_64_SUBTRACTOR64): Remove. * mach-o-x86-64.c (bfd_mach_o_x86_64_swap_reloc_out): Change name of subtractor relocations. * config.bfd: Handle aarch64-*-darwin*, arm-*-darwin*. * Makefile.am (BFD32_BACKENDS): Add mach-o-arm.lo. (BFD32_BACKENDS_CFILES): Add mach-o-arm.c. (BFD64_BACKENDS): Add mach-o-aarch64.lo. (BFD64_BACKENDS_CFILES): Add mach-o-aarch64.c. * configure.ac: Handle aarch64_mach_o_vec and arm_mach_o_vec. * mach-o-aarch64.c: New file. * mach-o-arm.c: New file. * Makefile.in: Regenerate. * bfd-in2.h: Regenerate. * configure: Regenerate. * libbfd.h: Regenerate.
2015-11-20Synchronize PDP11 page size between BFD and LD.David Bridgham2-1/+6
* pdp11.c (TARGET_PAGE_SIZE): Set to 256 to match definition in ld/emulparams/pdp11.sh.
2015-11-20Automatic date update in version.inGDB Administrator1-1/+1
2015-11-19[S/390] Add null ptr check + port GOTOFF handling from 32 bit over to 64 bitAndreas Krebbel3-4/+32
bfd/ChangeLog: 2015-11-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> PR ld/19263 * elf32-s390.c (elf_s390_gc_sweep_hook): Add null ptr check. * elf64-s390.c (elf_s390_check_relocs): Port the GOTOFF handling over from the 32 bit code. (elf_s390_relocate_section): Likewise.
2015-11-19Automatic date update in version.inGDB Administrator1-1/+1
2015-11-18mach-o: use a per-target reloc canonicalize function.Tristan Gingold6-106/+175
bfd/ * mach-o.h (bfd_mach_o_swap_in_non_scattered_reloc) (bfd_mach_o_canonicalize_non_scattered_reloc) (bfd_mach_o_pre_canonicalize_one_reloc): Declare. (bfd_mach_o_backend_data): Rename field _bfd_mach_o_swap_reloc_in to _bfd_mach_o_canonicalize_one_reloc. * mach-o.c (bfd_mach_o_swap_in_non_scattered_reloc): Now public. (bfd_mach_o_canonicalize_non_scattered_reloc): Renames from bfd_mach_o_canonicalize_one_reloc. (bfd_mach_o_pre_canonicalize_one_reloc): New function. (bfd_mach_o_canonicalize_relocs): Adjust. (bfd_mach_o_canonicalize_relocs): Rename define from bfd_mach_o_swap_reloc_in. * mach-o-target.c (TARGET_NAME_BACKEND): Use bfd_mach_o_canonicalize_one_reloc instead of bfd_mach_o_swap_reloc_in. * mach-o-i386.c (bfd_mach_o_i386_canonicalize_one_reloc): Renames from bfd_mach_o_i386_swap_reloc_in and adjust. (bfd_mach_o_canonicalize_one_reloc): Renames from bfd_mach_o_i386_canonicalize_one_reloc. * mach-o-x86_64.c (bfd_mach_o_x86_64_canonicalize_one_reloc): Renames from bfd_mach_o_x86_64_swap_reloc_in and adjust. (bfd_mach_o_canonicalize_one_reloc): Renames from bfd_mach_o_x86_64_canonicalize_one_reloc.
2015-11-18Prevent looping in archivesAlan Modra3-9/+30
PR 19256 * archive.c (bfd_generic_openr_next_archived_file): Don't allow backward file movement via "negative" sizes. * coff-alpha.c (alpha_ecoff_openr_next_archived_file): Likewise.
2015-11-18mach-o cleanup: remove useless calls to bfd_seek.Tristan Gingold6-96/+127
Also support new commands. bfd/ * mach-o.h (struct mach_o_data_struct): Add hdr_offset field. (bfd_mach_o_fat_archive_p): Renames prototype. (bfd_mach_o_fat_openr_next_archived_file): Renames. (bfd_mach_o_header_p): Add argument. * mach-o.c (bfd_mach_o_read_header): Add hdr_off argument and use it. (bfd_mach_o_read_section_32, bfd_mach_o_read_section_64) (bfd_mach_o_read_section): Remove offset argument. (bfd_mach_o_read_dylinker): Remove bfd_seek call. (bfd_mach_o_read_dylib, bfd_mach_o_read_prebound_dylib) (bfd_mach_o_read_prebind_cksum, bfd_mach_o_read_twolevel_hints) (bfd_mach_o_read_fvmlib, bfd_mach_o_read_dysymtab) (bfd_mach_o_read_symtab, bfd_mach_o_read_uuid) (bfd_mach_o_read_linkedit, bfd_mach_o_read_str) (bfd_mach_o_read_dyld_info, bfd_mach_o_read_version_min) (bfd_mach_o_read_encryption_info): Likewise. (bfd_mach_o_read_encryption_info_64): New function. (bfd_mach_o_read_main, bfd_mach_o_read_source_version) (bfd_mach_o_read_segment): Remove call to bfd_seek. (bfd_mach_o_read_command): Use hdr_offset in bfd_seek. Handle BFD_MACH_O_LC_LINKER_OPTIMIZATION_HINT, BFD_MACH_O_LC_ENCRYPTION_INFO_64, BFD_MACH_O_LC_VERSION_MIN_WATCHOS. (bfd_mach_o_header_p): Add hdr_off argument. (bfd_mach_o_gen_object_p, bfd_mach_o_gen_core_p): Adjust calls. (bfd_mach_o_fat_archive_p): Renames. (bfd_mach_o_fat_openr_next_archived_file): Renames. (bfd_mach_o_close_and_cleanup): Remove useless code. (bfd_mach_o_close_and_cleanup): Define. * mach-o-x86-64.c (bfd_mach_o_x86_64_object_p) (bfd_mach_o_x86_64_core_p): Adjust calls. * mach-o-target.c: Move defines for archive from mach-o.c. Remove check on TARGET_ARCHIVE. * mach-o-i386.c (bfd_mach_o_i386_object_p) (bfd_mach_o_i386_core_p): Adjust calls.
2015-11-18Automatic date update in version.inGDB Administrator1-1/+1
2015-11-17Fix a problematic message with the STM32L4XX fixup on 32-bit hosts.Christophe Lyon2-2/+7
* elf32-arm.c (elf32_arm_write_section): Force offset output as long (%ld).
2015-11-17Automatic date update in version.inGDB Administrator1-1/+1
2015-11-16Automatic date update in version.inGDB Administrator1-1/+1
2015-11-14Bump version to 2.26.51Tristan Gingold3-13/+18
bfd/ 2015-11-13 Tristan Gingold <gingold@adacore.com> * version.m4: Bump version to 2.26.51 * configure: Regenerate. binutils/ 2015-11-13 Tristan Gingold <gingold@adacore.com> * configure: Regenerate. gas/ 2015-11-13 Tristan Gingold <gingold@adacore.com> * configure: Regenerate. gprof/ 2015-11-13 Tristan Gingold <gingold@adacore.com> * configure: Regenerate. ld/ 2015-11-13 Tristan Gingold <gingold@adacore.com> * configure: Regenerate. opcodes/ 2015-11-13 Tristan Gingold <gingold@adacore.com> * configure: Regenerate.
2015-11-15Automatic date update in version.inGDB Administrator1-1/+1
2015-11-14Automatic date update in version.inGDB Administrator1-1/+1
2015-11-13Automatic date update in version.inGDB Administrator1-1/+1
2015-11-12Revert "[LD][AARCH64]Add TLSIE relaxation support under large memory model."Marcus Shawcroft2-63/+2
This reverts commit 3ebe65c0ff9f8f76c9971b1cc078273298f0c693. Reverted due to PR19188
2015-11-11Add assembler, disassembler and linker support for power9.Peter Bergner6-32/+182
include/opcode/ * ppc.h (PPC_OPCODE_POWER9): New define. (PPC_OPCODE_VSX3): Likewise. opcodes/ * ppc-dis.c (ppc_opts): Add "power9" and "pwr9" entries. Add PPC_OPCODE_VSX3 to the vsx entry. (powerpc_init_dialect): Set default dialect to power9. * ppc-opc.c (insert_dcmxs, extract_dcmxs, insert_dxd, extract_dxd, insert_dxdn, extract_dxdn, insert_l0, extract_l0, insert_l1, extract_l1 insert_xtq6, extract_xtq6): New static functions. (insert_esync): Test for illegal L operand value. (DCMX, DCMXS, DXD, NDXD, L0, L1, RC, FC, UIM6, X_R, RIC, PRS, XSQ6, XTQ6, LRAND, IMM8, DQX, DQX_MASK, DX, DX_MASK, VXVAPS_MASK, VXVA,XVA, XX2VA, XVARC, XBF_MASK, XX2UIM4_MASK, XX2BFD_MASK, XX2DCMXS_MASK, XVA_MASK, XRLA_MASK, XBFRARB_MASK, XLRAND_MASK, POWER9, PPCVEC3, PPCVSX3): New defines. (powerpc_opcodes) <ps_cmpu0, ps_cmpo0, ps_cmpu1, ps_cmpo1, fcmpu, fcmpo, ftdiv, ftsqrt>: Use XBF_MASK. <mcrxr>: Use XBFRARB_MASK. <addpcis, bcdcfn., bcdcfsq., bcdcfz., bcdcpsgn., bcdctn., bcdctsq., bcdctz., bcds., bcdsetsgn., bcdsr., bcdtrunc., bcdus., bcdutrunc., cmpeqb, cmprb, cnttzd, cnttzd., cnttzw, cnttzw., copy, copy_first, cp_abort, darn, dtstsfi, dtstsfiq, extswsli, extswsli., ldat, ldmx, lwat, lxsd, lxsibzx, lxsihzx, lxssp, lxv, lxvb16x, lxvh8x, lxvl, lxvll, lxvwsx, lxvx, maddhd, maddhdu, maddld, mcrxrx, mfvsrld, modsd, modsw, modud, moduw, msgsync, mtvsrdd, mtvsrws, paste, paste., paste_last, rmieg, setb, slbieg, slbsync, stdat, stop, stwat, stxsd, stxsibx, stxsihx, stxssp, stxv, stxvb16x, stxvh8x, stxvl, stxvll, stxvx, subpcis, urfid, vbpermd, vclzlsbb, vcmpneb, vcmpneb., vcmpneh, vcmpneh., vcmpnew, vcmpnew., vcmpnezb, vcmpnezb., vcmpnezh, vcmpnezh., vcmpnezw, vcmpnezw., vctzb, vctzd, vctzh, vctzlsbb, vctzw, vextractd, vextractub, vextractuh, vextractuw, vextsb2d, vextsb2w, vextsh2d, vextsh2w, vextsw2d, vextublx, vextubrx, vextuhlx, vextuhrx, vextuwlx, vextuwrx, vinsertb, vinsertd, vinserth, vinsertw, vmul10cuq, vmul10ecuq, vmul10euq, vmul10uq, vnegd, vnegw, vpermr, vprtybd, vprtybq, vprtybw, vrldmi, vrldnm, vrlwmi, vrlwnm, vslv, vsrv, wait, xsabsqp, xsaddqp, xsaddqpo, xscmpeqdp, xscmpexpdp, xscmpexpqp, xscmpgedp, xscmpgtdp, xscmpnedp, xscmpoqp, xscmpuqp, xscpsgnqp, xscvdphp, xscvdpqp, xscvhpdp, xscvqpdp, xscvqpdpo, xscvqpsdz, xscvqpswz, xscvqpudz, xscvqpuwz, xscvsdqp, xscvudqp, xsdivqp, xsdivqpo, xsiexpdp, xsiexpqp, xsmaddqp, xsmaddqpo, xsmaxcdp, xsmaxjdp, xsmincdp, xsminjdp, xsmsubqp, xsmsubqpo, xsmulqp, xsmulqpo, xsnabsqp, xsnegqp, xsnmaddqp, xsnmaddqpo, xsnmsubqp, xsnmsubqpo, xsrqpi, xsrqpix, xsrqpxp, xssqrtqp, xssqrtqpo, xssubqp, xssubqpo, xststdcdp, xststdcqp, xststdcsp, xsxexpdp, xsxexpqp, xsxsigdp, xsxsigqp, xvcmpnedp, xvcmpnedp., xvcmpnesp, xvcmpnesp., xvcvhpsp, xvcvsphp, xviexpdp, xviexpsp, xvtstdcdp, xvtstdcsp, xvxexpdp, xvxexpsp, xvxsigdp, xvxsigsp, xxbrd, xxbrh, xxbrq, xxbrw, xxextractuw, xxinsertw, xxperm, xxpermr, xxspltib>: New instructions. <doze, nap, sleep, rvwinkle, waitasec, lxvx, stxvx>: Disable on POWER9. <tlbiel, tlbie, sync, slbmfev, slbmfee>: Add additional operands. include/elf/ * ppc.h (R_PPC_REL16DX_HA): New reloction. * ppc64.h (R_PPC64_REL16DX_HA): Likewise. bfd/ * elf32-ppc.c (ppc_elf_howto_raw): Add R_PPC_REL16DX_HA. (ppc_elf_reloc_type_lookup): Handle R_PPC_REL16DX_HA. (ppc_elf_addr16_ha_reloc): Likewise. (ppc_elf_check_relocs): Likewise. (ppc_elf_relocate_section): Likewise. (is_insn_dq_form): Handle lxv and stxv instructions. * elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_REL16DX_HA. (ppc64_elf_reloc_type_lookup): Handle R_PPC64_REL16DX_HA. (ppc64_elf_ha_reloc): Likewise. (ppc64_elf_check_relocs): Likewise. (ppc64_elf_relocate_section): Likewise. * bfd-in2.h: Regenerate. * libbfd.h: Likewise. * reloc.c (BFD_RELOC_PPC_REL16DX_HA): New. elfcpp/ * powerpc.h (R_POWERPC_REL16DX_HA): Define. gas/ * doc/as.texinfo (Target PowerPC): Document -mpower9 and -mpwr9. * doc/c-ppc.texi (PowerPC-Opts): Likewise. * config/tc-ppc.c (md_show_usage): Likewise. (md_assemble): Handle BFD_RELOC_PPC_REL16DX_HA. (md_apply_fix): Likewise. (ppc_handle_align): Handle power9's group ending nop. gas/testsuite/ * gas/ppc/altivec3.s: New test. * gas/ppc/altivec3.d: Likewise. * gas/ppc/vsx3.s: Likewise. * gas/ppc/vsx3.d: Likewise. * gas/ppc/power9.s: Likewise. * gas/ppc/power9.d: Likewise. * gas/ppc/ppc.exp: Run them. * gas/ppc/power8.s <lxvx, lxvd2x, stxvx, stxvd2x>: Add new tests. * gas/ppc/power8.d: Likewise. * gas/ppc/vsx.s: <lxvx, stxvx>: Rename invalid mnemonics ... <lxvd2x, stxvd2x>: ...to this. * gas/ppc/vsx.d: Likewise. gold/ * gold/powerpc.cc (Powerpc_relocate_functions::addr16_dq): New function. (Powerpc_relocate_functions::addr16dx_ha): Likewise. (Target_powerpc::Scan::local): Handle R_POWERPC_REL16DX_HA. (Target_powerpc::Scan::global): Likewise. (Target_powerpc::Relocate::relocate): Likewise. ld/testsuite/ * ld-powerpc/addpcis.d: New test. * ld-powerpc/addpcis.s: New test. * ld-powerpc/powerpc.exp: Run it.
2015-11-12Automatic date update in version.inGDB Administrator1-1/+1
2015-11-11Automatic date update in version.inGDB Administrator1-1/+1
2015-11-10Handle x86 VTINHERIT/VTENTRY relocs when deleting relocationsH.J. Lu3-2/+16
* elf32-i386.c (elf_i386_relocate_section): Handle VTINHERIT and VTENTRY relocations when deleting relocations. * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
2015-11-10Properly move kept relocations when deleting relocationsH.J. Lu3-2/+16
* elf32-i386.c (elf_i386_relocate_section): Properly move kept relocations when deleting relocations. * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
2015-11-10Fix performance regression on x86 with ld -rH.J. Lu3-8/+98
Similar fix to "commit c316a17c40e44e8798b34ff84130904f2e7a53de". * elf32-i386.c (elf_i386_relocate_section): Use read and write pointers to reloc array, rather than memmove when deleting a reloc. Don't use RELOC_AGAINST_DISCARDED_SECTION. Adjust reloc counts at end of loop. * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
2015-11-10Fix performance regression due to ld -r memmoveAlan Modra3-69/+157
The idea here is that instead of using memmove to shuffle the relocs array every time one is deleted, to add a "wrel" pointer and copy from rel[0] to wrel[0] as we go. * elf64-ppc.c (ppc64_elf_relocate_section): Use read and write pointers to reloc array, rather than memmove when deleting a reloc. Don't use RELOC_AGAINST_DISCARDED_SECTION. Adjust reloc counts at end of loop. * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
2015-11-10Automatic date update in version.inGDB Administrator1-1/+1
2015-11-09bfd: Fix left shift of negative value.Dominik Vogt6-7/+16
This patch fixes all occurences of left-shifting negative constants in C code which is undefined by the C standard. bfd/ChangeLog: * elf64-ppc.c (ppc64_elf_size_stubs, ppc64_elf_build_stubs): Fix left shift of negative value. * libbfd.c (safe_read_leb128): Likewise. * dwarf2.c (place_sections): Likewise. * bfd-in.h (align_power): Likewise. * bfd-in2.h (align_power): Likewise.
2015-11-09Automatic date update in version.inGDB Administrator1-1/+1
2015-11-08Automatic date update in version.inGDB Administrator1-1/+1
2015-11-07Automatic date update in version.inGDB Administrator1-1/+1
2015-11-06Automatic date update in version.inGDB Administrator1-1/+1
2015-11-05Automatic date update in version.inGDB Administrator1-1/+1
2015-11-04Automatic date update in version.inGDB Administrator1-1/+1
2015-11-03Automatic date update in version.inGDB Administrator1-1/+1