]> git.ipfire.org Git - thirdparty/binutils-gdb.git/log
thirdparty/binutils-gdb.git
6 months agoAutomatic date update in version.in
GDB Administrator [Tue, 3 Dec 2024 00:00:57 +0000 (00:00 +0000)] 
Automatic date update in version.in

6 months agoAutomatic date update in version.in
GDB Administrator [Mon, 2 Dec 2024 00:01:36 +0000 (00:01 +0000)] 
Automatic date update in version.in

6 months agoAutomatic date update in version.in
GDB Administrator [Sun, 1 Dec 2024 00:03:07 +0000 (00:03 +0000)] 
Automatic date update in version.in

7 months agoAutomatic date update in version.in
GDB Administrator [Sat, 30 Nov 2024 00:01:27 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 months agoAutomatic date update in version.in
GDB Administrator [Fri, 29 Nov 2024 00:00:33 +0000 (00:00 +0000)] 
Automatic date update in version.in

7 months agoAutomatic date update in version.in
GDB Administrator [Thu, 28 Nov 2024 00:02:20 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 months agoPR32387 ppc64 TLS optimization bug with -fno-plt code
Alan Modra [Mon, 25 Nov 2024 21:54:19 +0000 (08:24 +1030)] 
PR32387 ppc64 TLS optimization bug with -fno-plt code

The inline plt code emitted by gcc is incompatible with the
linker/ld.so --tls-get-addr-optimize scheme.  This is the runtime
optimisation where the first call to __tls_get_addr results in
__tls_get_addr updating the tls_index pair, then the special linker
stub using that to short-circuit second and subsequent calls for a
given tls symbol.  Enabled by default when the linker sees
__tls_get_addr_opt is preseent, and enabled in ld.so when DT_PPC64_OPT
has PPC64_OPT_TLS set.  Note that this is distinct from link-time tls
optimisation.

PR 32387
* elf64-ppc.c (ppc64_elf_check_relocs): Disable tls_get_addr_opt
on detecting inline plt calls to __tls_get_addr.

(cherry picked from commit 1686dc7079f1c03bdaffd2f779b92aa2b7ad97b5)

7 months agoAutomatic date update in version.in
GDB Administrator [Wed, 27 Nov 2024 00:03:11 +0000 (00:03 +0000)] 
Automatic date update in version.in

7 months agoAutomatic date update in version.in
GDB Administrator [Tue, 26 Nov 2024 00:03:39 +0000 (00:03 +0000)] 
Automatic date update in version.in

7 months agoAutomatic date update in version.in
GDB Administrator [Mon, 25 Nov 2024 00:03:44 +0000 (00:03 +0000)] 
Automatic date update in version.in

7 months agoAutomatic date update in version.in
GDB Administrator [Sun, 24 Nov 2024 00:03:58 +0000 (00:03 +0000)] 
Automatic date update in version.in

7 months agoAutomatic date update in version.in
GDB Administrator [Sat, 23 Nov 2024 00:03:25 +0000 (00:03 +0000)] 
Automatic date update in version.in

7 months agoAutomatic date update in version.in
GDB Administrator [Fri, 22 Nov 2024 00:03:21 +0000 (00:03 +0000)] 
Automatic date update in version.in

7 months agoAutomatic date update in version.in
GDB Administrator [Thu, 21 Nov 2024 00:02:39 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 months agoAutomatic date update in version.in
GDB Administrator [Wed, 20 Nov 2024 00:02:11 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 months agold: fix -std=gnu23 compatibility wrt _Bool
Sam James [Sat, 16 Nov 2024 07:07:02 +0000 (07:07 +0000)] 
ld: fix -std=gnu23 compatibility wrt _Bool

GCC trunk now defaults to -std=gnu23. We return false in a few places
which can't work when true/false are a proper type (_Bool). Return NULL
where appropriate instead of false. All callers handle this appropriately.

ChangeLog:
PR ld/32372

* pdb.c (add_stream): Return NULL.

(cherry picked from commit bf447eec6d7b69cba652127e2f38f102de38de39)

7 months agobinutils: fix -std=gnu23 compatibility wrt _Bool
Sam James [Sat, 16 Nov 2024 05:12:51 +0000 (05:12 +0000)] 
binutils: fix -std=gnu23 compatibility wrt _Bool

GCC trunk now defaults to -std=gnu23. We return false in a few places
which can't work when true/false are a proper type (_Bool). Return NULL
where appropriate instead of false. All callers handle this appropriately.

ChangeLog:
PR ld/32372

* prdbg.c (visibility_name): Return NULL.

(cherry picked from commit eeff15bc88b89abed1cdb4d3b1b2cc7b4cec6fe7)

7 months agoopcodes: fix -std=gnu23 compatibility wrt static_assert
Sam James [Sat, 16 Nov 2024 05:03:52 +0000 (05:03 +0000)] 
opcodes: fix -std=gnu23 compatibility wrt static_assert

static_assert is declared in C23 so we can't reuse that identifier:
* Define our own static_assert conditionally;

* Rename "static assert" hacks to _N as we do already in some places
  to avoid a conflict.

ChangeLog:
PR ld/32372

        * i386-gen.c (static_assert): Define conditionally.
        * mips-formats.h (MAPPED_INT): Rename identifier.
        (MAPPED_REG): Rename identifier.
        (OPTIONAL_MAPPED_REG): Rename identifier.
        * s390-opc.c (static_assert): Define conditionally.

(cherry picked from commit 8ebe62f3f0d27806b1bf69f301f5e188b4acd2b4)

7 months agobfd: fix -std=gnu23 compatibility wrt _Bool
Sam James [Sat, 16 Nov 2024 05:01:58 +0000 (05:01 +0000)] 
bfd: fix -std=gnu23 compatibility wrt _Bool

GCC trunk now defaults to -std=gnu23. We return false in a few places
which can't work when true/false are a proper type (_Bool). Return NULL
where appropriate instead of false. All callers handle this appropriately.

ChangeLog:
PR ld/32372

* elf32-ppc.c (ppc_elf_tls_setup): Return NULL.
        * elf32-xtensa.c (translate_reloc_bfd_fix): Ditto.
        (translate_reloc): Ditto.
        * elf64-ppc.c (update_local_sym_info): Ditto.
        * mach-o.c (bfd_mach_o_lookup_uuid_command): Ditto.
        * xsym.c (bfd_sym_read_name_table): Ditto.

(cherry picked from commit 931e4f9b09512bb9012204bb2e4060ab6d9b9b46)

7 months agoAutomatic date update in version.in
GDB Administrator [Tue, 19 Nov 2024 00:02:24 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 months agos390: Add arch15 Concurrent-Functions Facility insns
Jens Remus [Mon, 18 Nov 2024 09:42:21 +0000 (10:42 +0100)] 
s390: Add arch15 Concurrent-Functions Facility insns

opcodes/
* s390-opc.txt: Add arch15 Concurrent-Functions Facility
instructions.
* s390-opc.c (INSTR_SSF_RRDRD2, MASK_SSF_RRDRD2): New SSF
instruction format variant.

gas/testsuite/
* gas/s390/zarch-arch15.d: Tests for arch15 Concurrent-Functions
Facility instructions.
* gas/s390/zarch-arch15.s: Likewise.

Signed-off-by: Jens Remus <jremus@linux.ibm.com>
(cherry picked from commit 76445f36a2f9e41b1744d0327e7ec243cb7fac12)

7 months agos390: Add arch15 instruction names
Jens Remus [Mon, 18 Nov 2024 09:42:21 +0000 (10:42 +0100)] 
s390: Add arch15 instruction names

opcodes/
* s390-opc.txt: Add arch15 instruction names.

Signed-off-by: Jens Remus <jremus@linux.ibm.com>
(cherry picked from commit b0588b2173bf9aeff9eadc0cc024c4c69e69114d)

7 months agoAutomatic date update in version.in
GDB Administrator [Mon, 18 Nov 2024 00:01:21 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 months agoAutomatic date update in version.in
GDB Administrator [Sun, 17 Nov 2024 00:02:17 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 months agoAutomatic date update in version.in
GDB Administrator [Sat, 16 Nov 2024 00:02:19 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 months agoAutomatic date update in version.in
GDB Administrator [Fri, 15 Nov 2024 00:02:07 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 months agoAutomatic date update in version.in
GDB Administrator [Thu, 14 Nov 2024 00:02:40 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 months agoAutomatic date update in version.in
GDB Administrator [Wed, 13 Nov 2024 00:02:06 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 months agoAutomatic date update in version.in
GDB Administrator [Tue, 12 Nov 2024 00:02:30 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 months agoAutomatic date update in version.in
GDB Administrator [Mon, 11 Nov 2024 00:01:37 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 months agoAutomatic date update in version.in
GDB Administrator [Sun, 10 Nov 2024 00:00:45 +0000 (00:00 +0000)] 
Automatic date update in version.in

7 months agoAutomatic date update in version.in
GDB Administrator [Sat, 9 Nov 2024 00:04:11 +0000 (00:04 +0000)] 
Automatic date update in version.in

7 months agoAutomatic date update in version.in
GDB Administrator [Fri, 8 Nov 2024 00:02:10 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 months agoAutomatic date update in version.in
GDB Administrator [Thu, 7 Nov 2024 00:02:42 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 months agoAutomatic date update in version.in
GDB Administrator [Wed, 6 Nov 2024 00:02:50 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 months agoAutomatic date update in version.in
GDB Administrator [Tue, 5 Nov 2024 00:03:04 +0000 (00:03 +0000)] 
Automatic date update in version.in

7 months agoAutomatic date update in version.in
GDB Administrator [Mon, 4 Nov 2024 00:01:35 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 months agoAutomatic date update in version.in
GDB Administrator [Sun, 3 Nov 2024 00:02:30 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 months agoAutomatic date update in version.in
GDB Administrator [Sat, 2 Nov 2024 00:00:50 +0000 (00:00 +0000)] 
Automatic date update in version.in

7 months agoPR32300, --dependency-file: link dependencies are not all collected
Alan Modra [Fri, 25 Oct 2024 22:27:49 +0000 (08:57 +1030)] 
PR32300, --dependency-file: link dependencies are not all collected

PR 32300
PR 31904
Revert patch accidentally committed with 057a2b4c4b

(cherry picked from commit 6ecc44f6980c0f8c0f0934bc10412c1d7fa3c544)

7 months agoAutomatic date update in version.in
GDB Administrator [Fri, 1 Nov 2024 00:02:54 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 months agoAutomatic date update in version.in
GDB Administrator [Thu, 31 Oct 2024 00:02:00 +0000 (00:02 +0000)] 
Automatic date update in version.in

8 months agoAutomatic date update in version.in
GDB Administrator [Wed, 30 Oct 2024 00:02:17 +0000 (00:02 +0000)] 
Automatic date update in version.in

8 months agoAutomatic date update in version.in
GDB Administrator [Tue, 29 Oct 2024 00:02:58 +0000 (00:02 +0000)] 
Automatic date update in version.in

8 months agoAutomatic date update in version.in
GDB Administrator [Mon, 28 Oct 2024 00:02:22 +0000 (00:02 +0000)] 
Automatic date update in version.in

8 months agoAutomatic date update in version.in
GDB Administrator [Sun, 27 Oct 2024 00:01:04 +0000 (00:01 +0000)] 
Automatic date update in version.in

8 months agoAutomatic date update in version.in
GDB Administrator [Sat, 26 Oct 2024 00:01:33 +0000 (00:01 +0000)] 
Automatic date update in version.in

8 months agoAutomatic date update in version.in
GDB Administrator [Fri, 25 Oct 2024 00:02:19 +0000 (00:02 +0000)] 
Automatic date update in version.in

8 months agos390: Add arch15 instructions
Andreas Krebbel [Tue, 8 Oct 2024 10:04:31 +0000 (12:04 +0200)] 
s390: Add arch15 instructions

opcodes/
* s390-mkopc.c (main) Accept arch15 as CPU string.
* s390-opc.txt: Add arch15 instructions.

include/
* opcode/s390.h (enum s390_opcode_cpu_val): Add
S390_OPCODE_ARCH15.

gas/
* config/tc-s390.c (s390_parse_cpu): New entry for arch15.
* doc/c-s390.texi: Document arch15 march option.
* doc/as.texi: Likewise.
* testsuite/gas/s390/s390.exp: Run the arch15 related tests.
* testsuite/gas/s390/zarch-arch15.d: Tests for arch15
instructions.
* testsuite/gas/s390/zarch-arch15.s: Likewise.

Signed-off-by: Andreas Krebbel <krebbel@linux.ibm.com>
Reviewed-by: Jens Remus <jremus@linux.ibm.com>
(cherry picked from commit a98a6fa2d8ef5eb61534b07db80850dcdf07bdb4)

8 months agos390: Relax risbg[n]z, risb{h|l}gz, {rns|ros|rxs}bgt operand constraints
Jens Remus [Thu, 12 Sep 2024 13:06:06 +0000 (15:06 +0200)] 
s390: Relax risbg[n]z, risb{h|l}gz, {rns|ros|rxs}bgt operand constraints

This leverages commit ("s390: Simplify (dis)assembly of insn operands
with const bits") to relax the operand constraints of the immediate
operand that contains the constant Z- or T-bit of the following extended
mnemonics:
risbgz, risbgnz, risbhgz, risblgz, rnsbgt, rosbgt, rxsbgt

Previously those instructions were the only ones where the assembler
on s390 restricted the specification of the subject I3/I4 operand values
exactly according to their specification to an unsigned 6- or 5-bit
unsigned integer. For any other instructions the assembler allows to
specify any operand value allowed by the instruction format, regardless
of whether the instruction specification is more restrictive.

Allow to specify the subject I3/I4 operand as unsigned 8-bit integer
with the constant operand bits being ORed during assembly.
Relax the instructions subject significant operand bit masks to only
consider the Z/T-bit as significant, so that the instructions get
disassembled as their *z or *t flavor regardless of whether any reserved
bits are set in addition to the Z/T-bit.
Adapt the rnsbg, rosbg, and rxsbg test cases not to inadvertently set
the T-bit in operand I3, as they otherwise get disassembled as their
rnsbgt, rosbgt, and rxsbgt counterpart.

This aligns GNU Assembler to LLVM Assembler.

opcodes/
* s390-opc.c (U6_18, U5_27, U6_26): Remove.
(INSTR_RIE_RRUUU2, INSTR_RIE_RRUUU3, INSTR_RIE_RRUUU4): Define
as INSTR_RIE_RRUUU while retaining insn fmt mask.
(MASK_RIE_RRUUU2, MASK_RIE_RRUUU3, MASK_RIE_RRUUU4): Treat only
Z/T-bit of I3/I4 operand as significant.

gas/testsuite/
* gas/s390/zarch-z10.s (rnsbg, rosbg, rxsbg): Do not set T-bit.

Reported-by: Dominik Steenken <dost@de.ibm.com>
Suggested-by: Ulrich Weigand <ulrich.weigand@de.ibm.com>
Signed-off-by: Jens Remus <jremus@linux.ibm.com>
(cherry picked from commit b8b60e2d0cb0ab1f235f082dbb8a4e8bc43aadf6)

8 months agos390: Simplify (dis)assembly of insn operands with const bits
Jens Remus [Thu, 12 Sep 2024 13:06:06 +0000 (15:06 +0200)] 
s390: Simplify (dis)assembly of insn operands with const bits

Simplify assembly and disassembly of extended mnemonics with operands
with constant ORed bits:
Their instruction template already contains the respective constant
operand bits, as they are significant to distinguish the extended from
their base mnemonic. Operands are ORed into the instruction template.
Therefore it is not necessary to OR the constant bits into the operand
value during assembly in s390_insert_operand.
Additionally the constant operand bits from the instruction template
can be used to mask them from the operand value during disassembly in
s390_print_insn_with_opcode. For now do so for non-length unsigned
integer operands only.

The separate instruction formats need to be retained, as their masks
differ, which is relevant during disassembly to distinguish the base
and extended mnemonics from each other.

This affects the following extended mnemonics:
- vfaebs, vfaehs, vfaefs
- vfaezb, vfaezh, vfaezf
- vfaezbs, vfaezhs, vfaezfs
- vstrcbs, vstrchs, vstrcfs
- vstrczb, vstrczh, vstrczf
- vstrczbs, vstrczhs, vstrczfs
- wcefb, wcdgb
- wcelfb, wcdlgb
- wcfeb, wcgdb
- wclfeb, wclgdb
- wfisb, wfidb, wfixb
- wledb, wflrd, wflrx

include/
* opcode/s390.h (S390_OPERAND_OR1, S390_OPERAND_OR2,
S390_OPERAND_OR8): Remove.

opcodes/
* s390-opc.c (U4_OR1_24, U4_OR2_24, U4_OR8_28): Remove.
(INSTR_VRR_VVV0U1, INSTR_VRR_VVV0U2, INSTR_VRR_VVV0U3): Define
as INSTR_VRR_VVV0U0 while retaining respective insn fmt mask.
(INSTR_VRR_VV0UU8): Define as INSTR_VRR_VV0UU while retaining
respective insn fmt mask.
(INSTR_VRR_VVVU0VB1, INSTR_VRR_VVVU0VB2, INSTR_VRR_VVVU0VB3):
Define as INSTR_VRR_VVVU0VB while retaining respective insn fmt
mask.
* s390-dis.c (s390_print_insn_with_opcode): Mask constant
operand bits set in insn template of non-length unsigned
integer operands.

gas/
* config/tc-s390.c (s390_insert_operand): Do not OR constant
operand value bits.

Signed-off-by: Jens Remus <jremus@linux.ibm.com>
(cherry picked from commit a3f1e7c56a60573562e8578ae8b675ec1f4448e7)

8 months agos390: Align opcodes to lower-case
Jens Remus [Mon, 9 Sep 2024 15:05:28 +0000 (17:05 +0200)] 
s390: Align opcodes to lower-case

opcodes/
* s390-opc.txt (rdp): Change opcode to lower-case.

Signed-off-by: Jens Remus <jremus@linux.ibm.com>
(cherry picked from commit 1afe02759f1569fb647b691d308c95efc2116b23)

8 months agos390: Document syntax to omit base register operand
Jens Remus [Mon, 9 Sep 2024 15:05:27 +0000 (17:05 +0200)] 
s390: Document syntax to omit base register operand

Document the s390-specific assembler syntax introduced by commit
aacf780bca29 ("s390: Allow to explicitly omit base register operand in
assembly") to omit the base register operand B in D(X,B) and D(L,B) by
coding D(X,) and D(L,).

While at it document the alternative syntax to omit the index register
operand X in D(X,B) by coding D(,B) instead of D(B).

gas/
* doc/c-s390.texi (s390 Operands): Document syntax to omit base
register operand.

Fixes: aacf780bca29 ("s390: Allow to explicitly omit base register operand in assembly")
Signed-off-by: Jens Remus <jremus@linux.ibm.com>
(cherry picked from commit e75cfa9f0f81f70389b6d81d22b664c37f2403db)

8 months agoLoongArch: Add elfNN_loongarch_mkobject to initialize LoongArch tdata
Xin Wang [Fri, 6 Sep 2024 01:00:12 +0000 (09:00 +0800)] 
LoongArch: Add elfNN_loongarch_mkobject to initialize LoongArch tdata

LoongArch: Add elfNN_loongarch_mkobject to initialize LoongArch tdata.

(cherry picked from commit 28489a70d4660d67e71d75e82286a6e1a7003b93)

8 months agoAutomatic date update in version.in
GDB Administrator [Thu, 24 Oct 2024 00:01:15 +0000 (00:01 +0000)] 
Automatic date update in version.in

8 months agoAutomatic date update in version.in
GDB Administrator [Wed, 23 Oct 2024 00:01:59 +0000 (00:01 +0000)] 
Automatic date update in version.in

8 months agoAutomatic date update in version.in
GDB Administrator [Tue, 22 Oct 2024 00:00:58 +0000 (00:00 +0000)] 
Automatic date update in version.in

8 months agoAutomatic date update in version.in
GDB Administrator [Mon, 21 Oct 2024 00:01:46 +0000 (00:01 +0000)] 
Automatic date update in version.in

8 months agoAutomatic date update in version.in
GDB Administrator [Sun, 20 Oct 2024 00:01:36 +0000 (00:01 +0000)] 
Automatic date update in version.in

8 months agoAutomatic date update in version.in
GDB Administrator [Sat, 19 Oct 2024 00:02:56 +0000 (00:02 +0000)] 
Automatic date update in version.in

8 months agoAutomatic date update in version.in
GDB Administrator [Fri, 18 Oct 2024 00:02:01 +0000 (00:02 +0000)] 
Automatic date update in version.in

8 months agoAutomatic date update in version.in
GDB Administrator [Thu, 17 Oct 2024 00:01:04 +0000 (00:01 +0000)] 
Automatic date update in version.in

8 months agoAutomatic date update in version.in
GDB Administrator [Wed, 16 Oct 2024 00:01:26 +0000 (00:01 +0000)] 
Automatic date update in version.in

8 months agoAutomatic date update in version.in
GDB Administrator [Tue, 15 Oct 2024 00:01:35 +0000 (00:01 +0000)] 
Automatic date update in version.in

8 months agoAutomatic date update in version.in
GDB Administrator [Mon, 14 Oct 2024 00:01:34 +0000 (00:01 +0000)] 
Automatic date update in version.in

8 months agoAutomatic date update in version.in
GDB Administrator [Sun, 13 Oct 2024 00:00:52 +0000 (00:00 +0000)] 
Automatic date update in version.in

8 months agoAutomatic date update in version.in
GDB Administrator [Sat, 12 Oct 2024 00:00:49 +0000 (00:00 +0000)] 
Automatic date update in version.in

8 months agoAutomatic date update in version.in
GDB Administrator [Fri, 11 Oct 2024 00:02:28 +0000 (00:02 +0000)] 
Automatic date update in version.in

8 months agoAutomatic date update in version.in
GDB Administrator [Thu, 10 Oct 2024 00:01:06 +0000 (00:01 +0000)] 
Automatic date update in version.in

8 months agoAutomatic date update in version.in
GDB Administrator [Wed, 9 Oct 2024 00:02:07 +0000 (00:02 +0000)] 
Automatic date update in version.in

8 months agoAutomatic date update in version.in
GDB Administrator [Tue, 8 Oct 2024 00:01:59 +0000 (00:01 +0000)] 
Automatic date update in version.in

8 months agoAutomatic date update in version.in
GDB Administrator [Mon, 7 Oct 2024 00:00:52 +0000 (00:00 +0000)] 
Automatic date update in version.in

8 months agoAutomatic date update in version.in
GDB Administrator [Sun, 6 Oct 2024 00:00:53 +0000 (00:00 +0000)] 
Automatic date update in version.in

8 months agoAutomatic date update in version.in
GDB Administrator [Sat, 5 Oct 2024 00:00:46 +0000 (00:00 +0000)] 
Automatic date update in version.in

8 months agoAutomatic date update in version.in
GDB Administrator [Fri, 4 Oct 2024 00:00:40 +0000 (00:00 +0000)] 
Automatic date update in version.in

8 months agoAutomatic date update in version.in
GDB Administrator [Thu, 3 Oct 2024 00:01:36 +0000 (00:01 +0000)] 
Automatic date update in version.in

8 months agoAutomatic date update in version.in
GDB Administrator [Wed, 2 Oct 2024 00:01:30 +0000 (00:01 +0000)] 
Automatic date update in version.in

8 months agoAutomatic date update in version.in
GDB Administrator [Tue, 1 Oct 2024 00:02:13 +0000 (00:02 +0000)] 
Automatic date update in version.in

8 months agosegv in bfd_elf_get_str_section
Alan Modra [Mon, 30 Sep 2024 22:23:55 +0000 (07:53 +0930)] 
segv in bfd_elf_get_str_section

Attempting to write a termination NUL to PROT_READ mmap'd memory was
a silly idea.

PR 32109
* elf.c (bfd_elf_get_str_section): Don't write terminating NUL
if missing.
* libbfd.c (_bfd_munmap_readonly_temporary): Correct comment.

(cherry picked from commit 656f8fbaae34cb37bda5110cbc8c79c6a2aaa847)

9 months agoAutomatic date update in version.in
GDB Administrator [Mon, 30 Sep 2024 00:00:45 +0000 (00:00 +0000)] 
Automatic date update in version.in

9 months agoAutomatic date update in version.in
GDB Administrator [Sun, 29 Sep 2024 00:00:41 +0000 (00:00 +0000)] 
Automatic date update in version.in

9 months agoAutomatic date update in version.in
GDB Administrator [Sat, 28 Sep 2024 00:01:02 +0000 (00:01 +0000)] 
Automatic date update in version.in

9 months agold: Don't explicitly add .note.gnu.build-id in elf.sc
H.J. Lu [Sun, 22 Sep 2024 00:23:08 +0000 (08:23 +0800)] 
ld: Don't explicitly add .note.gnu.build-id in elf.sc

The commit:

e8e10743f7b Add --rosegment option to BFD linker to stop the '-z separate-code' from generating two read-only segments.

places .note.gnu.property and text sections in the same PT_LOAD segment
when --rosegment and -z separate-code are used together.  After

commit f3e660db14a0a95f3953496d8beb7c58ef34c6d5
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Oct 8 04:39:09 2018 -0700

    ELF: Properly group and place orphan note sections

    Properly group orphan note sections.  When placing orphan note section
    as the first note section, place it after the section before all note
    sections.

ld properly groups and places orphan note sections.  If .note.gnu.build-id
is added to elf.sc, the orphan .note.gnu.property section will be placed
before the .note.gnu.build-id section due to the larger section alignment
and may be placed in the same PT_LOAD segment with text sections.  Remove
.note.gnu.build-id from elf.sc to let ld properly group and add all orphan
note sections.

Binutils 2.44 has been fixed by a different fix:

commit 052940eba6fcd2b9f359f03ee205e9cd4dfb1575
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Sep 20 11:32:26 2024 +0800

    ld: Ignore .note.gnu.build-id when placing orphaned notes

since .note.gnu.build-id has been removed from emit_early_ro in elf.sc.

PR ld/32191
* scripttempl/elf.sc (emit_early_ro): Remove .note.gnu.build-id.
* testsuite/ld-i386/i386.exp: Run PR ld/32191 test.
* testsuite/ld-i386/pr32191.d: New file.
* testsuite/ld-x86-64/pr32191-x32.d: New file.
* testsuite/ld-x86-64/pr32191.d: Likewise.
* testsuite/ld-x86-64/pr32191.s: Likewise.
* testsuite/ld-x86-64/x86-64.exp: Run PR ld/32191 tests.

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
9 months agoAutomatic date update in version.in
GDB Administrator [Fri, 27 Sep 2024 00:00:38 +0000 (00:00 +0000)] 
Automatic date update in version.in

9 months agoAutomatic date update in version.in
GDB Administrator [Thu, 26 Sep 2024 00:01:39 +0000 (00:01 +0000)] 
Automatic date update in version.in

9 months agox86: Turn PLT32 to PC32 only for PC-relative relocations
H.J. Lu [Sun, 22 Sep 2024 09:06:45 +0000 (17:06 +0800)] 
x86: Turn PLT32 to PC32 only for PC-relative relocations

commit 292676c15a615b5a95bede9ee91004d3f7ee7dfd
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Feb 13 13:44:17 2020 -0800

    x86: Resolve PLT32 reloc aganst local symbol to section

resolved PLT32 relocation against local symbol to section and

commit 2585b7a5ce5830e60a089aa2316a329558902f0c
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Sun Jul 19 06:51:19 2020 -0700

    x86: Change PLT32 reloc against section to PC32

turned PLT32 relocation against section into PC32 relocation.  But these
transformations are valid only for PC-relative relocations.  Add fx_pcrel
check for PC-relative relocations when performing these transformations
to keep PLT32 relocation in `movq $foo@PLT, %rax`.

gas/

PR gas/32196
* config/tc-i386.c (tc_i386_fix_adjustable): Return fixP->fx_pcrel
for PLT32 relocations.
(i386_validate_fix): Turn PLT32 relocation into PC32 relocation
only if fixp->fx_pcrel is set.
* testsuite/gas/i386/reloc32.d: Updated.
* testsuite/gas/i386/reloc64.d: Likewise.
* testsuite/gas/i386/reloc32.s: Add PR gas/32196 test.
* testsuite/gas/i386/reloc64.s: Likewise.

ld/

PR gas/32196
* testsuite/ld-x86-64/plt3.s: New file.
* testsuite/ld-x86-64/x86-64.exp: Run plt3.

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
(cherry picked from commit 1b714c14e40f37ea8ea02a4998c4d95f25aff7f3)

9 months agoAutomatic date update in version.in
GDB Administrator [Wed, 25 Sep 2024 00:00:53 +0000 (00:00 +0000)] 
Automatic date update in version.in

9 months agoAutomatic date update in version.in
GDB Administrator [Tue, 24 Sep 2024 00:01:47 +0000 (00:01 +0000)] 
Automatic date update in version.in

9 months agoAutomatic date update in version.in
GDB Administrator [Mon, 23 Sep 2024 00:01:13 +0000 (00:01 +0000)] 
Automatic date update in version.in

9 months agoAutomatic date update in version.in
GDB Administrator [Sun, 22 Sep 2024 00:00:36 +0000 (00:00 +0000)] 
Automatic date update in version.in

9 months agoAutomatic date update in version.in
GDB Administrator [Sat, 21 Sep 2024 00:00:51 +0000 (00:00 +0000)] 
Automatic date update in version.in

9 months agox86-64: Disable PIE on PR gas/32189 test
H.J. Lu [Thu, 19 Sep 2024 23:15:02 +0000 (07:15 +0800)] 
x86-64: Disable PIE on PR gas/32189 test

Disable PIE on PR gas/32189 test, which contains the non-PIE assembly
source, to support GCC defaulted to PIE.

PR gas/32189
* testsuite/ld-x86-64/x86-64.exp: Pass $NOPIE_LDFLAGS to linker
on PR gas/32189 test.

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
(cherry picked from commit 075c4ca29a1afb1fa19e3038cae5730487e99701)

9 months agox86-64: Never make R_X86_64_GOT64 section relative
H.J. Lu [Thu, 19 Sep 2024 21:37:04 +0000 (05:37 +0800)] 
x86-64: Never make R_X86_64_GOT64 section relative

R_X86_64_GOT64 relocation should never be made section relative.  Change
tc_i386_fix_adjustable to return 0 for BFD_RELOC_X86_64_GOT64.

gas/

PR gas/32189
* config/tc-i386.c (tc_i386_fix_adjustable): Return 0 for
BFD_RELOC_X86_64_GOT64.
* testsuite/gas/i386/reloc64.d: Updated.
* testsuite/gas/i386/reloc64.s: Add more tests for R_X86_64_GOT64
and R_X86_64_GOTOFF64.

ld/

PR gas/32189
* testsuite/ld-x86-64/x86-64.exp: Run PR gas/32189 test.
* testsuite/ld-x86-64/pr32189.s: New file.

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
(cherry picked from commit 8015b1b0c1a1d3a581099c4855f95e4adfa3c0ad)

9 months agox86/APX: Don't promote AVX/AVX2 instructions out of APX spec
H.J. Lu [Sun, 15 Sep 2024 23:11:39 +0000 (07:11 +0800)] 
x86/APX: Don't promote AVX/AVX2 instructions out of APX spec

V{BROADCAST,EXTRACT,INSERT}{F,I}128 and VROUND{P,S}{S,D} aren't promoted
to support EGPR in APX spec.  Don't promote them out of APX spec.  This
commit effectively reverted:

ec3babb8c10 x86/APX: V{BROADCAST,EXTRACT,INSERT}{F,I}128 can also be expressed
5a635f1f59a x86/APX: VROUND{P,S}{S,D} encodings require AVX512{F,VL}
eea4357967b x86/APX: VROUND{P,S}{S,D} can generally be encoded

gas/

PR gas/32171
* testsuite/gas/i386/x86-64-apx-egpr-promote-inval.s: Add
V{BROADCAST,EXTRACT,INSERT}{F,I}128 tests with EGPR.
* testsuite/gas/i386/x86-64-apx-evex-promoted.s: Remove
V{BROADCAST,EXTRACT,INSERT}{F,I}128 and VROUND{P,S}{S,D} tests
with EGPR.
* testsuite/gas/i386/x86-64-apx-egpr-inval.l: Updated.
* testsuite/gas/i386/x86-64-apx-egpr-promote-inval.l: Likewise.
* testsuite/gas/i386/x86-64-apx-evex-promoted-intel.d: Likewise.
* testsuite/gas/i386/x86-64-apx-evex-promoted-wig.d: Likewise.
* testsuite/gas/i386/x86-64-apx-evex-promoted.d: Likewise.

opcodes/

PR gas/32171
* i386-opc.tbl: Remove V{BROADCAST,EXTRACT,INSERT}{F,I}128 and
VROUND{P,S}{S,D} entries with EGPR.
* i386-tbl.h: Regenerated.

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
(cherry picked from commit 2963d7d80dffc9feb391ce7b5f3bc1c87e932b9d)

9 months agoAutomatic date update in version.in
GDB Administrator [Fri, 20 Sep 2024 00:00:58 +0000 (00:00 +0000)] 
Automatic date update in version.in

9 months agoAutomatic date update in version.in
GDB Administrator [Thu, 19 Sep 2024 00:01:14 +0000 (00:01 +0000)] 
Automatic date update in version.in

9 months agobfd: Pass true to ld_plugin_object_p
H.J. Lu [Mon, 9 Sep 2024 00:27:00 +0000 (17:27 -0700)] 
bfd: Pass true to ld_plugin_object_p

Since linker calls bfd_plugin_object_p, which calls ld_plugin_object_p,
only for command-line input objects, pass true to ld_plugin_object_p so
that the same input IR file won't be included twice if the new LTO hook,
LDPT_REGISTER_CLAIM_FILE_HOOK_V2 isn't used.

PR ld/32153
* plugin.c (bfd_plugin_object_p): Pass true to ld_plugin_object_p.

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
(cherry picked from commit c839a44c39161c9932d58c28c2949ab3bb94ea6f)

9 months agoAutomatic date update in version.in
GDB Administrator [Wed, 18 Sep 2024 00:02:13 +0000 (00:02 +0000)] 
Automatic date update in version.in

9 months agoAutomatic date update in version.in
GDB Administrator [Tue, 17 Sep 2024 00:01:15 +0000 (00:01 +0000)] 
Automatic date update in version.in

9 months agoAutomatic date update in version.in
GDB Administrator [Mon, 16 Sep 2024 00:00:45 +0000 (00:00 +0000)] 
Automatic date update in version.in