Commit Graph

119468 Commits

Author SHA1 Message Date
GDB Administrator
188600df95 Automatic date update in version.in 2024-11-06 00:02:50 +00:00
GDB Administrator
a3566598fb Automatic date update in version.in 2024-11-05 00:03:04 +00:00
GDB Administrator
890dde33ca Automatic date update in version.in 2024-11-04 00:01:35 +00:00
GDB Administrator
c44b34ea75 Automatic date update in version.in 2024-11-03 00:02:30 +00:00
GDB Administrator
4e9d28ea40 Automatic date update in version.in 2024-11-02 00:00:50 +00:00
Alan Modra
280374309b PR32300, --dependency-file: link dependencies are not all collected
PR 32300
	PR 31904
Revert patch accidentally committed with 057a2b4c4b

(cherry picked from commit 6ecc44f698)
2024-11-01 15:45:01 +10:30
GDB Administrator
e2731c4c25 Automatic date update in version.in 2024-11-01 00:02:54 +00:00
GDB Administrator
a48e984763 Automatic date update in version.in 2024-10-31 00:02:00 +00:00
GDB Administrator
0e23526e1f Automatic date update in version.in 2024-10-30 00:02:17 +00:00
GDB Administrator
c794f42c3f Automatic date update in version.in 2024-10-29 00:02:58 +00:00
GDB Administrator
6caaa0a37d Automatic date update in version.in 2024-10-28 00:02:22 +00:00
GDB Administrator
cc88ee6d9a Automatic date update in version.in 2024-10-27 00:01:04 +00:00
GDB Administrator
d55971924b Automatic date update in version.in 2024-10-26 00:01:33 +00:00
GDB Administrator
263815e7c2 Automatic date update in version.in 2024-10-25 00:02:19 +00:00
Andreas Krebbel
263e116833 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 a98a6fa2d8)
2024-10-24 14:29:45 +02:00
Jens Remus
645da6d426 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 b8b60e2d0c)
2024-10-24 14:29:45 +02:00
Jens Remus
7f7047a9c6 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 a3f1e7c56a)
2024-10-24 14:29:45 +02:00
Jens Remus
e759236450 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 1afe02759f)
2024-10-24 14:29:45 +02:00
Jens Remus
d6ab1d2efd s390: Document syntax to omit base register operand
Document the s390-specific assembler syntax introduced by commit
aacf780bca ("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: aacf780bca ("s390: Allow to explicitly omit base register operand in assembly")
Signed-off-by: Jens Remus <jremus@linux.ibm.com>
(cherry picked from commit e75cfa9f0f)
2024-10-24 14:29:45 +02:00
Xin Wang
c40337b178 LoongArch: Add elfNN_loongarch_mkobject to initialize LoongArch tdata
LoongArch: Add elfNN_loongarch_mkobject to initialize LoongArch tdata.

(cherry picked from commit 28489a70d4)
2024-10-24 10:49:53 +08:00
GDB Administrator
9069b0257b Automatic date update in version.in 2024-10-24 00:01:15 +00:00
GDB Administrator
c547ac9984 Automatic date update in version.in 2024-10-23 00:01:59 +00:00
GDB Administrator
62cdd656e4 Automatic date update in version.in 2024-10-22 00:00:58 +00:00
GDB Administrator
95a7ee258c Automatic date update in version.in 2024-10-21 00:01:46 +00:00
GDB Administrator
89f496f481 Automatic date update in version.in 2024-10-20 00:01:36 +00:00
GDB Administrator
e7538353e2 Automatic date update in version.in 2024-10-19 00:02:56 +00:00
GDB Administrator
bf7df46c95 Automatic date update in version.in 2024-10-18 00:02:01 +00:00
GDB Administrator
8f69fffc9f Automatic date update in version.in 2024-10-17 00:01:04 +00:00
GDB Administrator
2d3a95cd94 Automatic date update in version.in 2024-10-16 00:01:26 +00:00
GDB Administrator
173db5fa4e Automatic date update in version.in 2024-10-15 00:01:35 +00:00
GDB Administrator
d3034e6218 Automatic date update in version.in 2024-10-14 00:01:34 +00:00
GDB Administrator
298b6d02a9 Automatic date update in version.in 2024-10-13 00:00:52 +00:00
GDB Administrator
3a669bb619 Automatic date update in version.in 2024-10-12 00:00:49 +00:00
GDB Administrator
9d8fd8a0e0 Automatic date update in version.in 2024-10-11 00:02:28 +00:00
GDB Administrator
62523d52da Automatic date update in version.in 2024-10-10 00:01:06 +00:00
GDB Administrator
b4c14d876c Automatic date update in version.in 2024-10-09 00:02:07 +00:00
GDB Administrator
f91a8ec454 Automatic date update in version.in 2024-10-08 00:01:59 +00:00
GDB Administrator
30644373f6 Automatic date update in version.in 2024-10-07 00:00:52 +00:00
GDB Administrator
a81a53de30 Automatic date update in version.in 2024-10-06 00:00:53 +00:00
GDB Administrator
93a6309c83 Automatic date update in version.in 2024-10-05 00:00:46 +00:00
GDB Administrator
12faebf00d Automatic date update in version.in 2024-10-04 00:00:40 +00:00
GDB Administrator
d56eb40c14 Automatic date update in version.in 2024-10-03 00:01:36 +00:00
GDB Administrator
29a758d40a Automatic date update in version.in 2024-10-02 00:01:30 +00:00
GDB Administrator
75e43852b0 Automatic date update in version.in 2024-10-01 00:02:13 +00:00
Alan Modra
95ed7cf1be 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 656f8fbaae)
2024-10-01 08:54:08 +09:30
GDB Administrator
91d100b0f8 Automatic date update in version.in 2024-09-30 00:00:45 +00:00
GDB Administrator
5e2568b1ee Automatic date update in version.in 2024-09-29 00:00:41 +00:00
GDB Administrator
e4eb9ee839 Automatic date update in version.in 2024-09-28 00:01:02 +00:00
H.J. Lu
0a71d78f6a ld: Don't explicitly add .note.gnu.build-id in elf.sc
The commit:

e8e10743f7 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 f3e660db14
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 052940eba6
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>
2024-09-28 06:34:39 +08:00
GDB Administrator
5ff358132b Automatic date update in version.in 2024-09-27 00:00:38 +00:00