summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-08-09Automatic date update in version.inlinaro-local/ci/tcwg_gcc_check_bootstrap/release-aarch64-check_bootstrap_ltolinaro-local/ci/tcwg_gcc_bootstrap/release-arm-bootstrap_profiled_lto_leanlinaro-local/ci/tcwg_bmk_gnu_eabi_stm32/gnu_eabi-release-arm_eabi-coremark-Os_LTOlinaro-local/ci/tcwg_bmk_gnu_eabi_stm32/gnu_eabi-release-arm_eabi-coremark-O2GDB Administrator
2022-08-08ld: fix NEWS typoslinaro-local/ci/tcwg_gcc_bootstrap/release-aarch64-bootstrap_profiled_ltolinaro-local/ci/tcwg_gcc_bootstrap/release-aarch64-bootstrap_profiledlinaro-local/ci/tcwg_bmk_llvm_tk1/llvm-release-arm-spec2k6-O2_LTOlinaro-local/ci/tcwg_bmk_llvm_tk1/llvm-release-arm-spec2k6-O2linaro-local/ci/tcwg_bmk_llvm_apm/llvm-release-aarch64-spec2k6-Oz_LTOlinaro-local/ci/tcwg_bmk_gnu_eabi_stm32/gnu_eabi-release-arm_eabi-coremark-O2_LTOlinaro-local/ci/tcwg_bmk_gnu_apm/gnu-release-aarch64-spec2k6-Os_LTOMartin Liska
ld/ChangeLog: * NEWS: Fix 2 typos.
2022-08-08Automatic date update in version.inlinaro-local/ci/tcwg_gcc_check_bootstrap/release-arm-check_bootstrap_ltolinaro-local/ci/tcwg_gcc_check_bootstrap/release-aarch64-check_bootstraplinaro-local/ci/tcwg_gcc_bootstrap/release-arm-bootstrap_profiled_ltolinaro-local/ci/tcwg_gcc_bootstrap/release-aarch64-bootstrap_ltoGDB Administrator
2022-08-07Automatic date update in version.inlinaro-local/ci/tcwg_gcc_check_bootstrap/release-arm-check_bootstraplinaro-local/ci/tcwg_gcc_check/release-armlinaro-local/ci/tcwg_gcc_check/release-aarch64linaro-local/ci/tcwg_gcc_bootstrap/release-arm-bootstrap_ubsanlinaro-local/ci/tcwg_gcc_bootstrap/release-arm-bootstrap_ltolinaro-local/ci/tcwg_gcc_bootstrap/release-arm-bootstrap_debuglinaro-local/ci/tcwg_gcc_bootstrap/release-aarch64-bootstrap_debuglinaro-local/ci/tcwg_gcc_bootstrap/release-aarch64-bootstrap_O3GDB Administrator
2022-08-06Automatic date update in version.inlinaro-local/ci/tcwg_gcc_bootstrap/release-arm-bootstrap_profiledlinaro-local/ci/tcwg_gcc_bootstrap/release-arm-bootstrap_O3linaro-local/ci/tcwg_gcc_bootstrap/release-arm-bootstrap_O1linaro-local/ci/tcwg_gcc_bootstrap/release-arm-bootstraplinaro-local/ci/tcwg_gcc_bootstrap/release-aarch64-bootstrap_ubsanlinaro-local/ci/tcwg_gcc_bootstrap/release-aarch64-bootstrap_profiled_lto_leanlinaro-local/ci/tcwg_gcc_bootstrap/release-aarch64-bootstrap_O1linaro-local/ci/tcwg_gcc_bootstrap/release-aarch64-bootstrapGDB Administrator
2022-08-05reset development to true. update version numberNick Clifton
2022-08-05Restore accidentally deleted version.texi fileNick Clifton
2022-08-05restore allocfail.shNick Clifton
2022-08-05This is the 2.39 releaseNick Clifton
2022-08-05This is the 2.39 releaseNick Clifton
2022-08-05Automatic date update in version.inGDB Administrator
2022-08-04Automatic date update in version.inGDB Administrator
2022-08-03gprofng: fix bug 29410 - Argument " 0." isn't numeric in numeric gt (>)Ruud van der Pas
gprofng/Changelog: 2022-08-02 Ruud van der Pas <ruud.vanderpas@oracle.com> PR gprofng/29410 * gp-display-html/gp-display-html.in: Remove non-breaking spaces.
2022-08-03Automatic date update in version.inGDB Administrator
2022-08-02ld: aarch64: Update test linker scripts relocs.ld and relocs-ilp32.ldMatthew Malcomson
The updates are to ensure that the .data section exists. This means that we always have a data section. That means that we don't create a RWX segment and avoid the corresponding warning. We get this warning when testing aarch64-none-elf with -mcmodel=tiny. N.b. this changes quite a few testcases from fail to pass.
2022-08-02Automatic date update in version.inGDB Administrator
2022-08-01libctf: Avoid use of uninitialised variablesAlan Modra
* ctf-link.c (ctf_link_add_ctf_internal): Don't free uninitialised pointers. (cherry picked from commit 9ea6fffe1ebec9bd1929c708e044b765eabea258)
2022-08-01PR29348, BFD_VMA_FMT wrongAlan Modra
There is a problem with my commit 0e3c1eebb2, which replaced bfd_uint64_t with uint64_t: Some hosts typedef int64_t to long long even when long is the same size as long long. That confuses the code choosing one of "l", "ll", or "I64" for BFD_VMA_FMT, and results in warnings. Write a direct configure test for the printf int64_t style instead. This removes the last use of BFD_HOST_64BIT_LONG, so delete that. Note that the changes to configure.com are pure guesswork. PR 29348 * bfd-in.h (BFD_HOST_64BIT_LONG): Don't define. (BFD_VMA_FMT): Define using BFD_INT64_FMT when 64-bit. (bfd_vma, bfd_signed_vma): Move comments to 64-bit typedefs. * configure.ac (BFD_HOST_64BIT_LONG): Delete. (BFD_INT64_FMT): New config test. * configure.com: Update similarly. * Makefile.in: Regenerate. * bfd-in2.h: Regenerate. * configure: Regenerate. (cherry picked from commit 1a5178fe284547ef2abd8ae66588c9999d61c524)
2022-08-01Automatic date update in version.inGDB Administrator
2022-07-31Automatic date update in version.inGDB Administrator
2022-07-30Automatic date update in version.inGDB Administrator
2022-07-29Stop the linker from complaining about unrecognized DW_FORM_rnglistx and ↵Nick Clifton
DW_FORM_loclistx attribute formats. PR 29424 * dwarf2.c (read_attribute_value): Handle DW_FORM_rnglistx and DW_FORM_loclistx.
2022-07-29ld: Extend ac_default_ld_warn_rwx_segments to all SPARC targets [PR29411]Rainer Orth
As discussed in PR ld/29411, the ld warning [...] has a LOAD segment with RWX permissions needs to be disabled on all SPARC targets, not just Solaris/SPARC: the .plt section is required to be RWX by the 32-bit SPARC ELF psABI and the 64-bit SPARC Compliance Definition 2.4.1. Given that ld only supports SPARC ELF targets, this patch implements this. Tested on sparc64-unknown-linux-gnu and sparc-sun-solaris2.11. 2022-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> ld: PR ld/29411 * configure.tgt (ac_default_ld_warn_rwx_segments): Extend to all sparc targets. Expand comment.
2022-07-29Automatic date update in version.inGDB Administrator
2022-07-28Automatic date update in version.inGDB Administrator
2022-07-27Automatic date update in version.inGDB Administrator
2022-07-26gprofng: check for the makeinfo versionVladimir Mezentsev
gprofng/ChangeLog 2022-07-25 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/29368 * configure.ac: Check for the makeinfo version. * configure: Rebuild.
2022-07-26Stop the linker from complaining about RWX segments on sparc-solaris targets.Nick Clifton
PR 29411 * configure.tgt (ac_default_ld_warn_rwx_segments): Disable for sparc-solaris configurations.
2022-07-26PowerPC32 ld test fails with --enable-targets=allAlan Modra
Three pppc32 ld tests fail when spu support is included in the linker due to this snippet in ld/emulparams/elf32ppc.sh. if grep -q 'ld_elf32_spu_emulation' ldemul-list.h; then DATA_START_SYMBOLS="${RELOCATING+*crt1.o(.data .data.* .gnu.linkonce.d.*) PROVIDE (__spe_handle = .); *(.data.spehandle) . += 4 * (DEFINED (__spe_handle) || . != 0);}" fi * testsuite/ld-powerpc/tlsexe32.r: Pass with .data section present. * testsuite/ld-powerpc/tlsexe32no.r: Likewise. * testsuite/ld-powerpc/tlsso32.r: Likewise. (cherry picked from commit c138af95731c630a78329fd86076992f82099957)
2022-07-26Updated translations for various sub-directoriesNick Clifton
2022-07-26Automatic date update in version.inGDB Administrator
2022-07-25gprofng: fix bug 29356 - Execution fails if gprofng is not included in PATHRuud van der Pas
gprofng/Changelog: 2022-07-22 Ruud van der Pas <ruud.vanderpas@oracle.com> PR gprofng/29356 * gp-display-html/gp-display-html.in: fixed a problem to execute gp-display-text in case gprofng is not included in the search path.
2022-07-25gprofng: fix bug 29392 - Unexpected line format in summary fileRuud van der Pas
gprofng/Changelog: 2022-07-22 Ruud van der Pas <ruud.vanderpas@oracle.com> PR gprofng/29392 * gp-display-html/gp-display-html.in: modified a regex, plus the code to handle the results; renamed a variable to improve the consistency in naming.
2022-07-25gprofng: fix bug 29353 - Fix a lay-out issue in the html disassembly filesRuud van der Pas
gprofng/Changelog: 2022-07-22 Ruud van der Pas <ruud.vanderpas@oracle.com> PR gprofng/29353 * gp-display-html/gp-display-html.in: fixed a problem in the generation of html for the disassembly where instructions without arguments were not handled correctly.
2022-07-25gprofng: fix bug 29352 - Fix the message Hexadecimal number > 0xffffffff ↵Ruud van der Pas
non-portable gprofng/Changelog: 2022-07-22 Ruud van der Pas <ruud.vanderpas@oracle.com> PR gprofng/29352 * gp-display-html/gp-display-html.in: the hex subroutine from the bigint module is now used.
2022-07-25gprofng: fix bug 29351 - Move dynamic loading of modules to a later stageRuud van der Pas
gprofng/Changelog: 2022-07-22 Ruud van der Pas <ruud.vanderpas@oracle.com> PR gprofng/29351 * gp-display-html/gp-display-html.in: the dynamic loading of modules occurred too early, resulting in the generation of the man page to fail in case a module is missing; the loading part is now done somewhat later in the execution to avoid this problem.
2022-07-25x86: Disallow invalid relocations against protected symbolsH.J. Lu
Since glibc 2.36 will issue warnings for copy relocation against protected symbols and non-canonical reference to canonical protected functions, change the linker to always disallow such relocations. bfd/ * elf32-i386.c (elf_i386_scan_relocs): Remove check for elf_has_indirect_extern_access. * elf64-x86-64.c (elf_x86_64_scan_relocs): Likewise. (elf_x86_64_relocate_section): Remove check for elf_has_no_copy_on_protected. * elfxx-x86.c (elf_x86_allocate_dynrelocs): Check for building executable instead of elf_has_no_copy_on_protected. (_bfd_x86_elf_adjust_dynamic_symbol): Disallow copy relocation against non-copyable protected symbol. * elfxx-x86.h (SYMBOL_NO_COPYRELOC): Remove check for elf_has_no_copy_on_protected. ld/ * testsuite/ld-i386/i386.exp: Expect linker error for PR ld/17709 test. * testsuite/ld-i386/pr17709.rd: Removed. * testsuite/ld-i386/pr17709.err: New file. * testsuite/ld-x86-64/pr17709.rd: Removed. * testsuite/ld-x86-64/pr17709.err: New file. * testsuite/ld-x86-64/pr28875-func.err: Updated. * testsuite/ld-x86-64/x86-64.exp: Expect linker error for PR ld/17709 test. Add tests for function pointer against protected function. (cherry picked from commit f638657759f5b9b4eb31a1aa6b9fe6e6fb01f4a0)
2022-07-25x86: Make protected symbols local for -sharedFangrui Song
Call _bfd_elf_symbol_refs_local_p with local_protected==true. This has 2 noticeable effects for -shared: * GOT-generating relocations referencing a protected data symbol no longer lead to a GLOB_DAT (similar to a hidden symbol). * Direct access relocations (e.g. R_X86_64_PC32) no longer has the confusing diagnostic below. __attribute__((visibility("protected"))) void *foo() { return (void *)foo; } // gcc -fpic -shared -fuse-ld=bfd relocation R_X86_64_PC32 against protected symbol `foo' can not be used when making a shared object The new behavior matches arm, aarch64 (commit 83c325007c5599fa9b60b8d5f7b84842160e1d1b), and powerpc ports, and other linkers: gold and ld.lld. Note: if some code tries to use direct access relocations to take the address of foo, the pointer equality will break, but the error should be reported on the executable link, not on the innocent shared object link. glibc 2.36 will give a warning at relocation resolving time. With this change, `#define elf_backend_extern_protected_data 1` is no longer effective. Just remove it. Remove the test "Run protected-func-1 without PIE" since -fno-pic address taken operation in the executable doesn't work with protected symbol in a shared object by default. Similarly, remove protected-data-1a and protected-data-1b. protected-data-1b can be made working by removing HAVE_LD_PIE_COPYRELOC from GCC (https://sourceware.org/pipermail/gcc-patches/2022-June/596678.html). (cherry picked from commit d19a265487eda186b6977d9d15648cda9fad3298)
2022-07-25Re: PowerPC64 .branch_lt addressAlan Modra
On seeing PR29369 my suspicion was naturally on a recent powerpc64 change, commit 0ab80031430e. Without a reproducer, I spent time wondering what could have gone wrong, and while I doubt this patch would have fixed the PR, there are some improvements that can be made to cater for user silliness. I also noticed that when -z relro -z now sections are created out of order, with .got before .plt in the section headers but .got is laid out at a higher address. That's due to the address expression for .branch_lt referencing SIZEOF(.got) and so calling init_os (which creates a bfd section) for .got before the .plt section is created. Fix that by ignoring SIZEOF in exp_init_os. Unlike ADDR and LOADADDR which need to reference section vma and lma respectively, SIZEOF can and does cope with a missing bfd section by returning zero for its size, which of course is correct. PR 29369 * ldlang.c (exp_init_os): Don't create a bfd section for SIZEOF. * emulparams/elf64ppc.sh (OTHER_RELRO_SECTIONS_2): Revise .branch_lt address to take into account possible user sections with alignment larger than 8 bytes. (cherry picked from commit 5d471bd907be60e9858b22cdf4fd10ddc0f6ee1a)
2022-07-25Automatic date update in version.inGDB Administrator
2022-07-24Automatic date update in version.inGDB Administrator
2022-07-23Automatic date update in version.inGDB Administrator
2022-07-22i386: Don't allow GOTOFF relocation against IFUNC symbol for PICH.J. Lu
We can't use the PLT entry as the function address for PIC since the PIC register may not be set up properly for indirect call. bfd/ PR ld/27998 * elf32-i386.c (elf_i386_relocate_section): Don't allow GOTOFF relocation against IFUNC symbol for PIC. ld/ PR ld/27998 * testsuite/ld-i386/pr27998a.d: Replace -shared with -e bar. * testsuite/ld-i386/pr27998b.d: Expect a linker error. * testsuite/ld-ifunc/ifunc-2-i386-now.d: Updated. * testsuite/ld-ifunc/ifunc-2-local-i386-now.d: Likewise. * testsuite/ld-ifunc/ifunc-2-i386.s: Replace @GOTOFF with @GOT. * testsuite/ld-ifunc/ifunc-2-local-i386.s: Likewise. (cherry picked from commit 8f29211c3f0a6335c17e0a90396c146facf6dba4)
2022-07-22Automatic date update in version.inGDB Administrator
2022-07-21PowerPC: Create new MMA instruction masks and use themPeter Bergner
The MMA instructions use XX3_MASK|3<<21 as an instruction mask, but that misses the RC bit/bit 31, so if we disassemble a .long that represents an MMA instruction except that it also has bit 31 set, we will erroneously disassemble it to that MMA instruction. We create new masks defines that contain bit 31 so that doesn't happen anymore. opcodes/ * ppc-opc.c (XACC_MASK, XX3ACC_MASK): New defines. (P_GER_MASK, xxmfacc, xxmtacc, xxsetaccz, xvi8ger4pp, xvi8ger4, xvf16ger2pp, xvf16ger2, xvf32gerpp, xvf32ger, xvi4ger8pp, xvi4ger8, xvi16ger2spp, xvi16ger2s, xvbf16ger2pp, xvbf16ger2, xvf64gerpp, xvf64ger, xvi16ger2, xvf16ger2np, xvf32gernp, xvi8ger4spp, xvi16ger2pp, xvbf16ger2np, xvf64gernp, xvf16ger2pn, xvf32gerpn, xvbf16ger2pn, xvf64gerpn, xvf16ger2nn, xvf32gernn, xvbf16ger2nn, xvf64gernn: Use them. (cherry picked from commit 0a246853439422e12a0ccb9191be638aab3987eb)
2022-07-21x86: replace wrong attributes on VCVTDQ2PH{X,Y}Jan Beulich
A standalone (without SAE) StaticRounding attribute is meaningless, and indeed all other similar insns have ATTSyntax there instead. I can only assume this was some strange copy-and-paste mistake. (cherry picked from commit ea09fe92596fbb2a5da4595459bfe8b23789ec8d)
2022-07-21x86/Intel: correct AVX512F scatter insn element sizesJan Beulich
I clearly screwed up in 6ff00b5e12e7 ("x86/Intel: correct permitted operand sizes for AVX512 scatter/gather") giving all AVX512F scatter insns Dword element size. Update testcases (also their gather parts), utilizing that there previously were two identical lines each (for no apparent reason). (cherry picked from commit 987e8a90fa6541d57b42fef95fae0a7da5a2c9bc)
2022-07-21PR29390, DW_CFA_AARCH64_negate_ra_state vs. DW_CFA_GNU_window_saveAlan Modra
PR 29390 binutils/ * dwarf.c (is_aarch64, DW_CFA_GNU_window_save_name): New. (display_debug_frames): Use them. (init_dwarf_regnames_aarch64): Set is_aarch64. (init_dwarf_regnames_by_elf_machine_code): Clear is_aarch64. (init_dwarf_regnames_by_bfd_arch_and_mach): Likewise. gas/ * testsuite/gas/aarch64/pac_ab_key.d: Adjust expected output. * testsuite/gas/aarch64/pac_negate_ra_state.d: Likewise. (cherry picked from commit e4e340a3ff2ccc825f4a40abf947cdf32b3fdbbf)
2022-07-21PR29337, readelf CU/TU mixup in .gdb_indexAlan Modra
Commit 244e19c79111 changed a number of variables in display_gdb_index to count entries rather than words. PR 29337 * dwarf.c (display_gdb_index): Correct use of cu_list_elements. (cherry picked from commit e82295b23d0e52b0dadffb8c0d0b99462cd20fa8)
2022-07-21PowerPC64: fix build error on 32-bit hostsAlan Modra
elf64-ppc.c:11673:33: error: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘bfd_vma’ {aka ‘long long unsigned int’} [-Werror=format=] 11673 | fprintf (stderr, "offset = %#lx:", stub_entry->stub_offset); | ~~~^ ~~~~~~~~~~~~~~~~~~~~~~~ | | | | | bfd_vma {aka long long unsigned int} | long unsigned int | %#llx * elf64-ppc.c (dump_stub): Use BFD_VMA_FMT. (cherry picked from commit 590207aa6ece509eabbc7a51aab87e5d9bcfc869)