aboutsummaryrefslogtreecommitdiff
path: root/bfd
AgeCommit message (Collapse)AuthorFilesLines
2018-11-13RISC-V: Improve linker error for FP mismatch.Jim Wilson2-1/+33
bfd/ * elfnn-riscv.c (riscv_float_abi_string): New. (_bfd_riscv_elf_merge_private_bfd_data): Use it for error message.
2018-11-13Automatic date update in version.inGDB Administrator1-1/+1
2018-11-12Automatic date update in version.inGDB Administrator1-1/+1
2018-11-11Automatic date update in version.inGDB Administrator1-1/+1
2018-11-10Automatic date update in version.inGDB Administrator1-1/+1
2018-11-09Correct comment concerning PE timestamp insertion.Bernhard M. Wiedemann2-9/+15
* peXXigen.c (_bfd_XXi_only_swap_filehdr_out): Correct comment concerning timestamp insertion.
2018-11-09Fixed warning from previous patch. Added Changelog.Cupertino Miranda2-1/+15
2018-11-09[ARC] More fixes for TLS.Cupertino Miranda2-44/+105
Added warning for static TLS reloc. Fixed issue related to TLS and partial static linking of libraries: This issue was detected when throwing exceptions in C++ while linking with -static-libstdc++. TLS relocation from the libstdc++ wasn't being patched as local now that it was static linked with the executable. Fix for TLS with static and pie. Problem introduced by earlier patch: Fixes the following glibc tests: - elf/tst-tls1-static bfd/ xxxx-xx-xx Cupertino Miranda <cmiranda@synopsys.com> * arc-got.h (arc_got_entry_type_for_reloc): Changed to correct static TLS relocs. * elf32-arc.c (elf_arc_check_relocs): Introduced warning to TLS relocs which require -fPIC. (arc_create_forced_local_got_entries_for_tls): Created. Traverses list of GOT entries to be resolved statically when needed. (elf_arc_finish_dynamic_sections): Changed. Calls arc_create_forced_local_got_entries_for_tls for each known possibly GOT symbol.
2018-11-09Stop corruption of ihex output shen addresses are sign extended.rhn2-0/+24
PR 23699 * ihex.c (ihex_write_object_contents): Check for sign extended addresses that cannot be supported in the ihex format.
2018-11-09[ARC] Fix local got entry list.Claudiu Zissulescu3-19/+24
Fix a memory leak appearing when the local got entry list was constructed. bfd/ xxxx-xx-xx Claudiu Zissulescu <claziss@synopsys.com> * arc-got.h (arc_get_local_got_ents): Revamp it; use elf_local_got_ents to store the local got list. (get_got_entry_list_for_symbo): Restructure it. * elf32-arc.c (elf_arc_relocate_section): Correct the call to get_got_entry_list_for_symbol.
2018-11-09Automatic date update in version.inGDB Administrator1-1/+1
2018-11-08Automatic date update in version.inGDB Administrator1-1/+1
2018-11-07Add updated French and Portuguese translations.Nick Clifton3-3990/+4075
gas * po/fr.po: Updated French translation. bfd * po/fr.po: Updated French translation. * po/pt.po: Updated Portuguese translation. binutils* po/pt.po: Updated Portuguese translation.
2018-11-07Add support for new load commands added by Apple to the MACH-O file format.Roman Bolshakov3-12/+102
bfd * mach-o.h: Add new enums for BFD_MACH_O_PLATFORM_MACOS, BFD_MACH_O_PLATFORM_IOS, BFD_MACH_O_PLATFORM_TVOS, BFD_MACH_O_PLATFORM_WATCHOS, BFD_MACH_O_PLATFORM_BRIDGEOS, BFD_MACH_O_TOOL_CLANG, BFD_MACH_O_TOOL_SWIFT, BFD_MACH_O_TOOL_LD. (struct bfd_mach_o_note_command): New. (struct bfd_mach_o_build_version_tool): New. (struct bfd_mach_o_build_version_command): New. (bfd_mach_o_read_version_min): Don't split version into a few fields. Rename reserved to sdk. * mach-o.c (bfd_mach_o_read_version_min): Don't split version into a few fields. Rename reserved to sdk. (bfd_mach_o_read_command): Handle LC_VERSION_MIN_TVOS, LC_NOTE, LC_BUILD_VERSION. (bfd_mach_o_read_note): New. (bfd_mach_o_read_build_version): New. PR 23728 binutils* od-macho.c (printf_version): New. (dump_load_command): Use it to print version. Print sdk version. Print version info for watchOS and tvOS. Print LC_NOTE, LC_BUILD_VERSION. (dump_buld_version): New. (bfd_mach_o_platform_name): New (bfd_mach_o_tool_name): New * mach-o/external.h (mach_o_nversion_min_command_external): Rename reserved to sdk. (mach_o_note_command_external): New. (mach_o_build_version_command_external): New. * mach-o/loader.h (BFD_MACH_O_LC_VERSION_MIN_TVOS): Define. (BFD_MACH_O_LC_NOTE): Define.
2018-11-07Regen bfd/configureAlan Modra2-0/+2
* configure: Regenerate.
2018-11-07rx: Add target rx-*-linux.Yoshinori Sato5-0/+38
2018-11-07Automatic date update in version.inGDB Administrator1-1/+1
2018-11-06Add support for a couple of new Mach-O commands.Nick Clifton2-0/+10
PR 23742 * mach-o.c (bfd_mach_o_read_command): Accept and ignore BFD_MACH_O_LC_LINKER_OPTIONS and BFD_MACH_O_LC_BUILD_VERSION commands. * mach-o/loader.h: Add BFD_MACH_O_LC_BUILD_VERSION.
2018-11-06Automatic date update in version.inGDB Administrator1-1/+1
2018-11-05Automatic date update in version.inGDB Administrator1-1/+1
2018-11-04Automatic date update in version.inGDB Administrator1-1/+1
2018-11-03Automatic date update in version.inGDB Administrator1-1/+1
2018-11-02PR23850, strip should not discard/move .rela.plt in executableAlan Modra2-8/+17
strip/objcopy can't deal with alloc reloc sections, not .rela.dyn or .rela.plt in a dynamic executable, or .rela.plt/.rela.iplt in a static executable. So, don't have BFD treat them as side-channel data associated with the section they are relocating. PR 23850 * elf.c (bfd_section_from_shdr): Treat SHF_ALLOC SHT_REL* sections in an executable or shared library as normal sections.
2018-11-02Automatic date update in version.inGDB Administrator1-1/+1
2018-11-01Automatic date update in version.inGDB Administrator1-1/+1
2018-10-31Don't create got section while processing TLS Local Exec relocations.Renlin Li2-3/+5
For Local Exec TLS model, the offset of the variable from the thread pointer can be computed at static link time. This doesn't require GOT indirection. The initial change is a bad fix for a problem during TLS GD -> LE relaxation. The proper fix is to check whether _GLOBAL_OFFSET_TABLE_ is referenced, create got section if yes. And the fix is already in the repository. bfd/ 2018-10-31 Renlin Li <renlin.li@arm.com> * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Don't create got section for Local Exec TLS model.
2018-10-31Automatic date update in version.inGDB Administrator1-1/+1
2018-10-30Automatic date update in version.inGDB Administrator1-1/+1
2018-10-29Automatic date update in version.inGDB Administrator1-1/+1
2018-10-28Automatic date update in version.inGDB Administrator1-1/+1
2018-10-27Automatic date update in version.inGDB Administrator1-1/+1
2018-10-26Automatic date update in version.inGDB Administrator1-1/+1
2018-10-24ELF: Hide symbols defined in discarded input sectionsH.J. Lu2-2/+16
When assigning symbol version, we should hide debug symbols defined in discarded sections from IR objects so that they can be removed later. bfd/ PR ld/23818 * elflink.c (_bfd_elf_link_assign_sym_version): Hide symbols defined in discarded input sections. ld/ PR ld/23818 * testsuite/ld-plugin/lto.exp: Run PR ld/23818 test. * testsuite/ld-plugin/pr23818.d: New file. * testsuite/ld-plugin/pr23818.t: Likewise. * testsuite/ld-plugin/pr23818a.c: Likewise. * testsuite/ld-plugin/pr23818b.c: Likewise.
2018-10-25Automatic date update in version.inGDB Administrator1-1/+1
2018-10-24cmse_scan segfaultAlan Modra2-1/+7
elf_sym_hashes for as-needed libs will be zeroed if the library is found to be not needed. More than that, the local symbols for such a library should not be considered by cmse_scan. * elf32-arm.c (elf32_arm_size_stubs): Ignore as-needed libs that were not needed.
2018-10-24Automatic date update in version.inGDB Administrator1-1/+1
2018-10-23S12Z: New 32 bit Reloc.John Darrington1-0/+23
Third party tools produce 32 bit relocs at index 6 with strange properties. This change moves the existing 32 bit reloc (R_S12Z_EXT32) to index 7 and introduces a new one (R_S12Z_CW32) at index 6 to try to support code generated by these tools. * bfd/elf32-s12z.c (elf_s12z_howto_table) [R_S12Z_CW32]: New member. * binutils/readelf.c (is_32bit_abs_reloc): Reloc type 7 is also 32 bit. * include/elf/s12z.h (elf_s12z_reloc_tpe) [RELOC_NUMBER (R_S12Z_CW32)]: New enum.
2018-10-23PR23806, NULL pointer dereference in merge_stringsAlan Modra2-4/+17
PR 23806 * merge.c (_bfd_add_merge_section): Don't attempt to merge sections with ridiculously large alignments.
2018-10-23PR23805, NULL pointer dereference in elf_link_input_bfdAlan Modra2-6/+21
PR 23805 * elflink.c (elf_link_input_bfd): Don't segfault on finding STT_TLS symbols without any TLS sections. Instead, change the symbol type to STT_NOTYPE.
2018-10-23PR23804, buffer overflow in sec_merge_hash_lookupAlan Modra2-0/+9
PR 23804 * merge.c (_bfd_add_merge_section): Don't attempt to merge sections where size is not a multiple of entsize.
2018-10-23Automatic date update in version.inGDB Administrator1-1/+1
2018-10-22Automatic date update in version.inGDB Administrator1-1/+1
2018-10-21Automatic date update in version.inGDB Administrator1-1/+1
2018-10-20PR23788, objcopy: failed to find link sectionAlan Modra2-9/+15
Symbol tables can change when a number of objcopy options are used. I figure string tables are similarly changeable. PR 23788 * elf.c (section_match): Don't require a size match for SHT_SYMTAB or SHT_STRTAB.
2018-10-20Automatic date update in version.inGDB Administrator1-1/+1
2018-10-19Automatic date update in version.inGDB Administrator1-1/+1
2018-10-18Automatic date update in version.inGDB Administrator1-1/+1
2018-10-17PR23653, ld SIGSEGVs when attempts to link sparc object with x86_64 libraryAlan Modra2-0/+7
This patch improves dynobj selection. This allows the testcase in the PR to proceed further before segfaulting due to other bugs in the sparc backend. ../ld/ld-new --eh-frame-hdr -m elf_x86_64 -shared -o bug.so.5 bug.o ./libc.so.6 ./crtendS.o ../ld/ld-new: sparc architecture of input file `bug.o' is incompatible with i386:x86-64 output ../ld/ld-new: bug.o: in function `a': bug.c:(.text+0x4): undefined reference to `_GLOBAL_OFFSET_TABLE_' ../ld/ld-new: bug.c:(.text+0x8): undefined reference to `_GLOBAL_OFFSET_TABLE_' Segmentation fault PR 23653 * elflink.c (_bfd_elf_link_create_dynstrtab): Match elf_object_id too when choosing dynobj.
2018-10-17Automatic date update in version.inGDB Administrator1-1/+1
2018-10-16Simplify PR23110 PE_DEBUG_DATA size checksAlan Modra2-12/+7
The negative size check can be rolled into the "exceeds space left in section" check if that is done using an unsigned comparison. We know that "addr - section->vma" is never larger than section->size since the section is found by find_section_by_vma. * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Simplify PE_DEBUG_DATA size checks.