aboutsummaryrefslogtreecommitdiff
path: root/bfd
AgeCommit message (Collapse)AuthorFilesLines
2024-04-19Re: elf: Strip unreferenced weak undefined symbolsAlan Modra1-2/+3
PR ld/31652 * elflink.c (_bfd_elf_link_output_relocs): Don't segfault on NULL rel_hash.
2024-04-18elf: Strip unreferenced weak undefined symbolsH.J. Lu3-28/+47
Linker will resolve an undefined symbol only if it is referenced by relocation. Unreferenced weak undefined symbols serve no purpose. Weak undefined symbols appear in the dynamic symbol table only when they are referenced by dynamic relocation. Mark symbols with relocation and strip undefined weak symbols if they don't have relocation and aren't in the dynamic symbol table. bfd/ PR ld/31652 * elf-bfd.h (elf_link_hash_entry): Add has_reloc. * elf-vxworks.c (elf_vxworks_emit_relocs): Set has_reloc. * elflink.c (_bfd_elf_link_output_relocs): Likewise. (elf_link_output_extsym): Strip undefined weak symbols if they don't have relocation and aren't in the dynamic symbol table. ld/ PR ld/31652 * testsuite/ld-elf/elf.exp: Run undefweak tests. * testsuite/ld-elf/undefweak-1.rd: New file. * testsuite/ld-elf/undefweak-1a.s: Likewise. * testsuite/ld-elf/undefweak-1b.s: Likewise. * testsuite/ld-x86-64/weakundef-1.nd: Likewise. * testsuite/ld-x86-64/weakundef-1a.s: Likewise. * testsuite/ld-x86-64/weakundef-1b.s: Likewise. * testsuite/ld-x86-64/x86-64.exp: Run undefweak tests.
2024-04-19memory leak in bfd/dwarf2.cAlan Modra1-0/+2
* dwarf2.c (_bfd_dwarf2_cleanup_debug_info): Free dwarf_addr_buffer and dwarf_str_offsets_buffer.
2024-04-19Automatic date update in version.inGDB Administrator1-1/+1
2024-04-18HPPA64 linker: Do not force the generation of DT_FLAGS for Linux targets.Nick Clifton1-4/+12
PR 30743
2024-04-18Re: Fix address violations when reading corrupt VMS recordsAlan Modra1-9/+15
Fixes error reports about the length of EEOM records produced by gas. PR 21618 * vms-alpha.c (evax_bfd_print_emh): Don't read subtyp if short record. Consolidate error messages. (evax_bfd_print_eeom): Allow length 10 record.
2024-04-18alpha_vms_get_section_contents vs. fuzzed filesAlan Modra1-24/+26
This patch is in response to an oss-fuzz report regarding use-of-uninitialized-value in bfd_is_section_compressed_info from section contents provided by alpha_vms_get_section_contents. That hole is covered by using bfd_zalloc rather than bfd_alloc. The rest of the patch is mostly a tidy. In a function returning section contents, I tend to prefer a test on the section properties over a test on file properties. That's why I've changed the file flags test to one on section filepos and flags before calling _bfd_generic_get_section_contents. Also, fuzzed objects can easily have sections with file backing in relocatable objects, or sections without file backing in images. Possible confusion is avoided by testing each section. Note that we are always going to run into out-of-memory with fuzzed alpha-vms object files due to sections with contents via ETIR records. eg. ETIR__C_STO_IMMR stores a number of bytes repeatedly, with a 32-bit repeat count. So section contents can be very large from a relatively small file. I'm inclined to think that an out-of-memory error is fine for such files. * vms-alpha.c (alpha_vms_get_section_contents): Handle sections with non-zero filepos or without SEC_HAS_CONTENTS via _bfd_generic_get_section_contents. Zero memory allocated for sections filled by ETIR records.
2024-04-18Automatic date update in version.inGDB Administrator1-1/+1
2024-04-16elf: Skip the archive if the symbol isn't referencedH.J. Lu1-3/+5
Also skip the archive if the symbol isn't referenced by a regular object. bfd/ PR ld/31644 * elflink.c (elf_link_add_archive_symbols): Also skip the archive if the symbol isn't referenced by a regular object. ld/ PR ld/31644 * testsuite/ld-plugin/lto.exp: Run PR ld/31644 tests. * testsuite/ld-plugin/pr31644a.c: New test. * testsuite/ld-plugin/pr31644b.c: Likewise. * testsuite/ld-plugin/pr31644c.c: Likewise.
2024-04-17Automatic date update in version.inGDB Administrator1-1/+1
2024-04-17ARC e_flags vs. objcopyAlan Modra1-6/+6
While the patch that Nick reverted in commit 3f6a060c7543 was in the source, "FAIL: objcopy executable (pr25662)" was seen on ARC. The failure was triggered by the .ARC.attributes section being removed by the linker script. When a file lacking this section is copied by objcopy, e_flags from the input is copied to the output (in this case the value 0x406), but arc_elf_final_write_processing then logical-ors in 0x300 when Tag_ARC_ABI_osver is not found. * elf32-arc.c (arc_elf_final_write_processing): Don't ignore existing e_flags for objcopy.
2024-04-16Avoid cache race in bfd_check_format_matchesTom Tromey5-5/+109
Running the gdb test suite with the thread sanitizer enabled shows a race when bfd_check_format_matches and bfd_cache_close_all are called simultaneously on different threads. This patch fixes this race by having bfd_check_format_matches temporarily remove the BFD from the file descriptor cache -- leaving it open while format-checking proceeds. In this setup, the BFD client is responsible for closing the BFD again on the "checking" thread, should that be desired. gdb does this by calling bfd_cache_close in the relevant worker thread. An earlier version of this patch omitted the "possibly_cached" helper function. However, this ran into crashes in the binutils test suite involving the archive-checking abort in bfd_cache_lookup_worker. I do not understand the purpose of this check, so I've simply had the new function work around it. I couldn't find any comments explaining this situation, either. I suspect that there may still be races related to this case, but I don't think I have access to the platforms where gdb deals with archives. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31264
2024-04-16Thread-safety improvements for bfd_check_format_matchesTom Tromey4-121/+183
A gdb bug found that bfd_check_format_matches has some data races when called from multiple threads. In particular, it changes the BFD error handler, which is a global. It also has a local static variable ("in_check_format") that is used for recursion detection. And, finally, it may emit warnings to the per-xvec warning array, which is a global. This patch removes all the races here. The first part of patch is to change _bfd_error_handler to directly handle the needs of bfd_check_format_matches. This way, the error handler does not need to be changed. This change lets us use the new per-thread global (error_handler_messages, replacing error_handler_bfd) to also remove the need for in_check_format -- a single variable suffices. Finally, the global per-xvec array is replaced with a new type that holds the error messages. The outermost such type is stack-allocated in bfd_check_format_matches. I tested this using the binutils test suite. I also built gdb with thread sanitizer and ran the test case that was noted as failing. Finally, Alan sent me the test file that caused the addition of the xvec warning code in the first place, and I confirmed that "nm-new" has the same behavior on this file both before and after this patch. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31264 Co-Authored-By: Alan Modra <amodra@gmail.com>
2024-04-16Fix test for sections with different VMA<->LMA relationships so that it only ↵Nick Clifton1-6/+13
applies to allocated sections, and only sections in the same segment are checked. PR 31450
2024-04-16Remove debug printout from 9dd918142787246ea7ed53494d9cbc6b51486133Simon Cook1-2/+0
2024-04-16Automatic date update in version.inGDB Administrator1-1/+1
2024-04-15Remove dependency upon shlwapi library when building BFD for Windows/MinGW ↵Nick Clifton1-12/+56
environments. PR 31527
2024-04-15When mapping sections to segments ensure that we do not add sections whose ↵Vijay Shankar1-3/+9
VMA->LMA relationship does not match the relationship of earlier sections in the segment. PR 31540
2024-04-15LoongArch: ld:Report an error when seeing an unrecognized relocationLulu Cai1-2/+7
If we generate an object file using an assembler with the new relocations added, and then linking those files with an older linker, the link will still complete and the linked file will be generated. In this case we should report an error instead of continuing the linking process.
2024-04-15Automatic date update in version.inGDB Administrator1-1/+1
2024-04-14Automatic date update in version.inGDB Administrator1-1/+1
2024-04-13Automatic date update in version.inGDB Administrator1-1/+1
2024-04-12Automatic date update in version.inGDB Administrator1-1/+1
2024-04-11Remove bfdwin.cAlan Modra39-629/+55
In commit b86d3af60ffc and 0ab0435fe672 I fixed SIGBUS errors found by oss-fuzz now that --with-mmap defaults to enabled. It turns out there are further problems with the aout mmap code: aout_read_minisymbols returns the external symbol array, which is later freed by nm.c. If the array is mmaped you can't free it. Now this could be fixed by making aout minisymbols an array of pointers, but I figure there's not much point in expending effort on that. So delete the aout mmap support along with bfdwin.c and get_section_contents_in_window.
2024-04-11asan: heap buffer overflow elf_link_add_to_first_hashAlan Modra1-1/+4
Seen on mmix. mmix +FAIL: ld-misc/defsym1 mmix +FAIL: sysroot-prefix common plain -Lpath, quoted mmix +FAIL: sysroot-prefix common plain -Lpath, unquoted mmix +FAIL: sysroot-prefix common full-path, quoted mmix +FAIL: sysroot-prefix common full-path, unquoted mmix +FAIL: sysroot-prefix common plain =-prefixed with empty, quoted mmix +FAIL: sysroot-prefix common plain =-prefixed with empty, unquoted mmix +FAIL: sysroot-prefix common plain $SYSROOT-prefixed with empty, quoted mmix +FAIL: sysroot-prefix common plain $SYSROOT-prefixed with empty, unquoted mmix +FAIL: sysroot-prefix common plain =-prefixed -Lpath, quoted mmix +FAIL: sysroot-prefix common plain =-prefixed -Lpath, unquoted mmix +FAIL: sysroot-prefix common plain $SYSROOT-prefixed -Lpath, quoted mmix +FAIL: sysroot-prefix common plain $SYSROOT-prefixed -Lpath, unquoted mmix +FAIL: sysroot-prefix common full-path =-prefixed without, quoted mmix +FAIL: sysroot-prefix common full-path =-prefixed without, unquoted mmix +FAIL: sysroot-prefix common full-path $SYSROOT-prefixed without, quoted mmix +FAIL: sysroot-prefix common full-path $SYSROOT-prefixed without, unquoted ==3746597==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6070000007a0 at pc 0x56d87b0d1a40 bp 0x7fffb1629bf0 sp 0x7fffb1629be0 READ of size 8 at 0x6070000007a0 thread T0 #0 0x56d87b0d1a3f in elf_link_add_to_first_hash /home/alan/src/binutils-gdb/bfd/elflink.c:4312 mmix uses bfd_link_generic_hash_table. * elflink.c (_bfd_elf_archive_symbol_lookup): Dont use first_hash unless the hash table is bfd_link_elf_hash_table. (elf_link_add_archive_symbols): Likewise.
2024-04-10mmap: Fix a memory leak in _bfd_mmap_read_temporaryH.J. Lu1-1/+5
Return malloced memory in *mmap_base so that _bfd_munmap_readonly_temporary will free it. * libbfd.c (_bfd_mmap_read_temporary): Return malloced memory in *mmap_base.
2024-04-10elf: Fix a memory leak in _bfd_elf_add_dynamic_entryH.J. Lu3-7/+12
Normally, the section contents is allocated by bfd_alloc which is freed when the object is closed. But the .dynamic section contents is allocated by bfd_realloc, which should be freed by calling free. Add a dynamic field to elf_link_hash_table for the .dynamic section and free its contents in _bfd_elf_link_hash_table_free. * elf-bfd.h (elf_link_hash_table): Add dynamic. * elflink.c (_bfd_elf_link_create_dynamic_sections): Set the dynamic field in elf_link_hash_table. (_bfd_elf_add_dynamic_entry): Use hash_table->dynamic. (_bfd_elf_strip_zero_sized_dynamic_sections): Likewise. (bfd_elf_add_dt_needed_tag): Likewise. (elf_finalize_dynstr): Likewise. (_bfd_elf_link_hash_table_free): Free htab->dynamic->contents. (bfd_elf_final_link): Use htab->dynamic. * elfxx-x86.c (_bfd_x86_elf_finish_dynamic_sections): Use htab->elf.dynamic.
2024-04-11Segfault in _bfd_delete_bfd with USE_MMAPAlan Modra1-1/+2
Any of the calls to _bfd_delete_bfd in bfd_fopen will hit this. * opncls.c (_bfd_delete_bfd): Check for non-NULL xvec before accessing flavour.
2024-04-11Automatic date update in version.inGDB Administrator1-1/+1
2024-04-10mmap: Avoid the sanitizer configure check failureH.J. Lu4-2/+8
When -fsanitize=address,undefined is used to build, the mmap configure check failed with ================================================================= ==231796==ERROR: LeakSanitizer: detected memory leaks Direct leak of 4096 byte(s) in 1 object(s) allocated from: #0 0x7cdd3d0defdf in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69 #1 0x5750c7f6d72b in main /home/alan/build/gas-san/all/bfd/conftest.c:239 Direct leak of 4096 byte(s) in 1 object(s) allocated from: #0 0x7cdd3d0defdf in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69 #1 0x5750c7f6d2e1 in main /home/alan/build/gas-san/all/bfd/conftest.c:190 SUMMARY: AddressSanitizer: 8192 byte(s) leaked in 2 allocation(s). Replace AC_FUNC_MMAP with GCC_AC_FUNC_MMAP to avoid the sanitizer configure check failure. bfd/ * configure.ac: Replace AC_FUNC_MMAP with GCC_AC_FUNC_MMAP. * Makefile.in: Regenerated. * aclocal.m4: Likewise. * configure: Likewise. binutils/ * configure.ac: Replace AC_FUNC_MMAP with GCC_AC_FUNC_MMAP. * Makefile.in: Regenerated. * aclocal.m4: Likewise. * configure: Likewise. ld/ * configure.ac: Replace AC_FUNC_MMAP with GCC_AC_FUNC_MMAP. * Makefile.in: Regenerated. * aclocal.m4: Likewise. * configure: Likewise. libctf/ * configure.ac: Replace AC_FUNC_MMAP with GCC_AC_FUNC_MMAP. * Makefile.in: Regenerated. * aclocal.m4: Likewise. * configure: Likewise. libsframe/ * configure.ac: Replace AC_FUNC_MMAP with GCC_AC_FUNC_MMAP. * Makefile.in: Regenerated. * aclocal.m4: Likewise. * configure: Likewise.
2024-04-10Automatic date update in version.inGDB Administrator1-1/+1
2024-04-09bfd: Define pagesize variables only for mmapH.J. Lu4-1/+7
Define _bfd_pagesize, _bfd_pagesize_m1 and _bfd_minimum_mmap_size only if HAVE_MMAP is defined. * libbfd-in.h (_bfd_pagesize): Declare only if HAVE_MMAP is defined. (_bfd_pagesize_m1): Likewise. (_bfd_minimum_mmap_size): Likewise. * libbfd.c (_bfd_pagesize): Define only if HAVE_MMAP is defined. (_bfd_pagesize_m1): Likewise. (_bfd_minimum_mmap_size): Likewise. (bfd_init_pagesize): Likewise. * lynx-core.c (lynx_core_file_p): Replace _bfd_pagesize with getpagesize.
2024-04-09RISC-V: Support Zcmp push/pop instructions.Jiawei1-0/+13
Support zcmp extension push/pop/popret and popret zero instructions. The `reg_list' is a list containing 1 to 13 registers, we can use: "{ra}, {ra, s0}, {ra, s0-s1}, {ra, s0-s2} ... {ra, s0-sN}" to present this feature. Passed gcc/binutils regressions of riscv-gnu-toolchain. Most of work was finished by Sinan Lin. Co-Authored by: Charlie Keaney <charlie.keaney@embecosm.com> Co-Authored by: Mary Bennett <mary.bennett@embecosm.com> Co-Authored by: Nandni Jamnadas <nandni.jamnadas@embecosm.com> Co-Authored by: Sinan Lin <sinan.lin@linux.alibaba.com> Co-Authored by: Simon Cook <simon.cook@embecosm.com> Co-Authored by: Shihua Liao <shihua@iscas.ac.cn> Co-Authored by: Yulong Shi <yulong@iscas.ac.cn> bfd/ChangeLog: * elfxx-riscv.c (riscv_implicit_subset): Imply zca for zcmp. (riscv_supported_std_z_ext): Added zcmp with version 1.0. (riscv_parse_check_conflicts): Zcmp conflicts with d/zcd. (riscv_multi_subset_supports): Handle zcmp. (riscv_multi_subset_supports_ext): Ditto. gas/ChangeLog: * NEWS: Updated. * config/tc-riscv.c (regno_to_reg_list): New function, used to map register to reg_list number. (reglist_lookup): Called reglist_lookup_internal. Return false if reg_list number is zero, which is an invalid value. (reglist_lookup_internal): Parse register list, and return the last register by regno_to_reg_list. (validate_riscv_insn): New operators. (riscv_ip): Ditto. * testsuite/gas/riscv/march-help.l: Updated. * testsuite/gas/riscv/zcmp-push-pop-fail.d: New test. * testsuite/gas/riscv/zcmp-push-pop-fail.l: New test. * testsuite/gas/riscv/zcmp-push-pop-fail.s: New test. * testsuite/gas/riscv/zcmp-push-pop.d: New test. * testsuite/gas/riscv/zcmp-push-pop.s: New test. include/ChangeLog: * opcode/riscv-opc.h (MATCH/MASK_CM_PUSH): New macros for zcmp. (MATCH/MASK_CM_POP): Ditto. (MATCH/MASK_CM_POPRET): Ditto. (MATCH/MASK_CM_POPRETZ): Ditto. (DECLARE_INSN): New declarations for zcmp. * opcode/riscv.h (EXTRACT/ENCODE/VALID_ZCMP_SPIMM): Handle spimm operand for zcmp. (OP_MASK_REG_LIST): Handle operand for zcmp register list. (OP_SH_REG_LIST): Ditto. (ZCMP_SP_ALIGNMENT): New argument, used in riscv_get_sp_base. (X_S0, X_S1, X_S2, X_S10, X_S11): New register numbers. (enum riscv_insn_class): Added INSN_CLASS_ZCMP. (extern riscv_get_sp_base): Added. opcodes/ChangeLog: * riscv-dis.c (print_reg_list): New function, used to get zcmp reg_list field. (riscv_get_spimm): New function, used to get zcmp sp adjustment immediate. (print_insn_args): Handle new operands for zcmp. * riscv-opc.c (riscv_get_sp_base): New function, used by gas and objdump. Get sp base adjustment. (riscv_opcodes): Added zcmp instructions.
2024-04-09LoongArch: ld: Move .got .got.plt before .data and protect .got with relromengqinggang1-0/+2
Move .got .got.plt before .data so .got can be protected with -zrelro. And the first two entries of .got.plt (_dl_runtime_resolve and link map) are placed within the relro region.
2024-04-09Remove dead code in bfdwin.cAlan Modra1-10/+0
All of bfdwin.c is wrapped in USE_MMAP. There isn't any point in HAVE_MMAP tests inside USE_MMAP. * bfdwin.c (bfd_free_window, bfd_get_file_window): Delete HAVE_MMAP conditionals.
2024-04-09Automatic date update in version.inGDB Administrator1-1/+1
2024-04-08Re: PR26978, Inconsistency for strong foo@v1 and weak foo@@v1Alan Modra1-2/+2
Commit 726d7d1ecf opened a hole that allowed a u.i.link loop to be created, resulting in _bfd_generic_link_add_one_symbol never returning. Fix that. Note that the MIND case handles two types of redefinition. For a new indirect symbol we'll have string non-NULL. For a new def, string will be NULL. So moving the string comparison earlier would work. However, we've already looked up inh in the first case so can dispense with name comparisons. Either way, for a new def we'll get to the defweak test and possibly cycle. Which is what we want here. PR 31615 PR 26978 * linker.c (_bfd_generic_link_add_one_symbol <MIND>): Test for exactly matching indirect symbols before cycling on a defweak.
2024-04-08Automatic date update in version.inGDB Administrator1-1/+1
2024-04-07Automatic date update in version.inGDB Administrator1-1/+1
2024-04-06elf: Call bfd_malloc instead xmallocH.J. Lu1-5/+6
* elflink.c (elf_link_add_object_symbols): Call bfd_malloc instead of xmalloc.
2024-04-06Don't have first_hash entries of strings that can be freed.Alan Modra1-4/+10
Seen running "LTO 1" under valgrind. ==1443263== Invalid read of size 1 ==1443263== at 0x484CFE4: strcmp (vg_replace_strmem.c:939) ==1443263== by 0x56E16C: bfd_hash_lookup (hash.c:564) ==1443263== by 0x5A3C8F: elf_link_add_to_first_hash (elflink.c:4316) ==1443263== by 0x5AE60F: elf_link_add_object_symbols (elflink.c:5663) ==1443263== by 0x5B0672: bfd_elf_link_add_symbols (elflink.c:6333) ==1443263== by 0x41448F: load_symbols (ldlang.c:3129) ==1443263== by 0x4149D8: open_input_bfds (ldlang.c:3621) ==1443263== by 0x414968: open_input_bfds (ldlang.c:3569) ==1443263== by 0x4166A2: lang_process (ldlang.c:8162) ==1443263== by 0x4194D5: main (ldmain.c:504) ==1443263== Address 0x525e230 is 192 bytes inside a block of size 4,064 free'd ==1443263== at 0x484810F: free (vg_replace_malloc.c:974) ==1443263== by 0x8D4D87: objalloc_free_block (objalloc.c:248) ==1443263== by 0x5AEACC: elf_link_add_object_symbols (elflink.c:5790) ==1443263== by 0x5B0672: bfd_elf_link_add_symbols (elflink.c:6333) ==1443263== by 0x41448F: load_symbols (ldlang.c:3129) ==1443263== by 0x4149D8: open_input_bfds (ldlang.c:3621) ==1443263== by 0x414968: open_input_bfds (ldlang.c:3569) ==1443263== by 0x4166A2: lang_process (ldlang.c:8162) ==1443263== by 0x4194D5: main (ldmain.c:504) PR ld/31482 PR ld/31489 * elflink.c (elf_link_add_to_first_hash): Add "copy" param. (elf_link_add_object_symbols): Flag that name must be copied when appending version string to symbol name.
2024-04-06Automatic date update in version.inGDB Administrator1-1/+1
2024-04-05elf: Use elf_link_first_hash_entry for first_hashH.J. Lu2-26/+63
Add elf_link_first_hash_entry and use it for first_hash. Free first_hash before freeing the main hash table. PR ld/31482 PR ld/31489 * elf-bfd.h (elf_link_hash_table): Change first_hash to bfd_hash_table. * elflink.c (elf_link_first_hash_entry): New. (elf_link_first_hash_newfunc): Likewise. (elf_link_add_to_first_hash): Updated. (elf_link_add_object_symbols): Initialize first_hash with elf_link_first_hash_newfunc. (elf_link_add_object_symbols): Updated. (elf_link_add_archive_symbols): Likewise. (_bfd_elf_link_hash_table_free): Free first_hash before freeing the main hash table.
2024-04-05elf: Always honor the first definition in shared object and archiveH.J. Lu2-38/+130
GCC doesn't put builtin function symbol references, which are defined in the shared C library, in the IR symbol table. When linker rescans shared objects and archives for newly added symbol references generated from the IR inputs, it skips definitions of the builtin functions in shared objects and archives. Add first_hash to elf_link_hash_table to track unreferenced definitions defined first in shared objects and archives. Always use them to resolve any references. bfd/ PR ld/31482 PR ld/31489 * elf-bfd.h (elf_link_hash_table): Add first_hash. * elflink.c (elf_link_add_to_first_hash): New function. (elf_link_add_object_symbols): Initialize first_hash for an IR input. Always use the first definition in shared object. Add the first unreferenced dynamic definition to first_hash. (_bfd_elf_archive_symbol_lookup): Add the first unreferenced definition to first_hash.. (elf_link_add_archive_symbols): Use the symbol definition in archive if symbol is defined first in this archive. (_bfd_elf_link_hash_table_free): Also free first_hash. ld/ PR ld/31482 PR ld/31489 * testsuite/ld-plugin/lto.exp: Add PR ld/31482 and PR ld/31489 tests. * testsuite/ld-elf/pr31482a-no-lto.c: New file. * testsuite/ld-elf/pr31482b-no-lto.c: Likewise. * testsuite/ld-elf/pr31482c-no-lto.c: Likewise. * testsuite/ld-elf/pr31482d-no-lto.c: Likewise. * testsuite/ld-plugin/pass1.out: Likewise. * testsuite/ld-plugin/pr31482a.c: Likewise. * testsuite/ld-plugin/pr31482b.c: Likewise. * testsuite/ld-plugin/pr31482c.c: Likewise.
2024-04-05Add support for Windows network paths to the UNC support in _bfd_real_open().Zhiqing Xiong1-36/+72
PR 31527
2024-04-05Add missing install-dvi and install-ps Makefie targets.Christophe Lyon1-0/+2
For some reason, these targets are missing although others from the same family are present. This looks like an oversight. This enables calling 'make install-dvi' from the top-level build directory.
2024-04-04bfd: Munmap readonly memory after bfd_free_cached_infoH.J. Lu1-10/+12
Munmap readonly memory after bfd_free_cached_info which may use munmapped readonly memory. PR ld/31608 * opncls.c (_bfd_delete_bfd): Munmap readonly memory after bfd_free_cached_info.
2024-04-05Automatic date update in version.inGDB Administrator1-1/+1
2024-04-04bfd_mmap_local: Check offset and sizeH.J. Lu1-8/+5
Update bfd_mmap_local to return NULL if filesize < offset or filesize - offset < rsize. * libbfd.c (bfd_mmap_local): Validate offset and size against the file size.
2024-04-04bfd: Handle bmmap failure in _bfd_mmap_read_temporaryH.J. Lu1-6/+12
iovec->bmmap may return MAP_FAILED, which happens in GDB on objects with iovec == opncls_iovec. Update _bfd_mmap_read_temporary to handle iovec->bmmap failure. * libbfd.c (_bfd_mmap_read_temporary): Handle iovec->bmmap failure.