]> git.ipfire.org Git - thirdparty/binutils-gdb.git/log
thirdparty/binutils-gdb.git
5 weeks agox86: Check MODRM for call and jmp in binutils older than 2.45 binutils-2_41-branch
H.J. Lu [Thu, 22 May 2025 03:29:49 +0000 (11:29 +0800)] 
x86: Check MODRM for call and jmp in binutils older than 2.45

When i386 glibc was assembled with commit:

commit 11c2852449825a5f486f63bc40aabed56b7c04c1 (HEAD)
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Feb 21 10:24:50 2025 +0100

    x86: widen @got{,pcrel} support to PUSH and APX IMUL

    With us doing the transformation to an immediate operand for MOV and
    various ALU insns, there's little reason to then not support the same
    conversion for the other two insns which have respective immediate
    operand forms. Unfortunately for IMUL (due to the 0F opcode prefix)
    there's no suitable relocation, so the pre-APX forms cannot be marked
    for relaxation in the assembler.

"pushl main@GOT(%ebx)" in sysdeps/i386/start.S was assembled to

1c: ff b3 00 00 00 00 push 0x0(%ebx) 1e: R_386_GOT32X main

Linkers in binutils versions older than 2.45 treated it as jmp and relaxed
it to

22c: e9 cf ff ff ff   jmp    200 <main>
231: 90               nop

Update elf_i386_convert_load_reloc in binutils versions older than 2.45
to check MODRM for call and jmp to work with i386 glibc assembled with
binutils 2.45 or newer.  Do the same in elf_x86_64_convert_load_reloc.

PR ld/32991
* elf32-i386.c (elf_i386_convert_load_reloc): Check MODRM for
call and jmp.
* elf64-x86-64.c (elf_x86_64_convert_load_reloc): Likewise.

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

2 months agos390: Add support for z17 as CPU name
Jens Remus [Wed, 9 Apr 2025 06:59:24 +0000 (08:59 +0200)] 
s390: Add support for z17 as CPU name

So far IBM z17 was identified as arch15.  Add the real name, as it has
been announced. [1]

[1]: IBM z17 announcement letter, AD25-0015,
     https://www.ibm.com/docs/en/announcements/z17-makes-more-possible

gas/
* config/tc-s390.c (s390_parse_cpu): Add z17 as alternate CPU
name for arch15.
* doc/c-s390.texi: Likewise.
* doc/as.texi: Likewise.

opcodes/
* s390-mkopc.c (main): Add z17 as alternate CPU name for arch15.

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

4 months agoLoongArch/GAS: Add support for branch relaxation
mengqinggang [Sun, 24 Sep 2023 06:53:28 +0000 (14:53 +0800)] 
LoongArch/GAS: Add support for branch relaxation

For the instructions of R_LARCH_B16/B21, if the immediate overflow,
add a B instruction and R_LARCH_B26 relocation.

For example:

.L1
  ...
  blt $t0, $t1, .L1
    R_LARCH_B16

change to:

.L1
  ...
  bge $t0, $t1, .L2
  b .L1
    R_LARCH_B26
.L2

(cherry picked from commit 1fb3cdd87ec61715a5684925fb6d6a6cf53bb97c)

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 agoLoongArch: ld:Report an error when seeing an unrecognized relocation
Lulu Cai [Thu, 21 Mar 2024 07:16:05 +0000 (15:16 +0800)] 
LoongArch: ld:Report an error when seeing an unrecognized relocation

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.

(cherry picked from commit 5966e2eb3fed61ebe5c091a074b368b9238a68c1)

7 months agoLoongArch: Enable gas sort relocs
Jinyang He [Fri, 11 Aug 2023 08:10:40 +0000 (16:10 +0800)] 
LoongArch: Enable gas sort relocs

The md_pre_output_hook creating fixup is asynchronous, causing relocs
may be out of order in .eh_frame. Define GAS_SORT_RELOCS so that reorder
relocs when write_relocs.

Reported-by: Rui Ueyama <rui314@gmail.com>
(cherry picked from commit 7c93730fe50c22129e751d8479e64bc970b75aac)

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: Provide IBM z16 (arch14) instruction descriptions
Jens Remus [Wed, 20 Dec 2023 10:16:38 +0000 (11:16 +0100)] 
s390: Provide IBM z16 (arch14) instruction descriptions

Provide descriptions for instructions introduced with commit ba2b480f103
("IBM Z: Implement instruction set extensions"). This complements commit
69341966def ("IBM zSystems: Add support for z16 as CPU name."). Use
instruction names from IBM z/Architecture Principles of Operation [1] as
instruction description.

[1]: IBM z/Architecture Principles of Operation, SA22-7832-13, IBM z16,
     https://publibfp.dhe.ibm.com/epubs/pdf/a227832d.pdf

opcodes/
* s390-opc.txt: Add descriptions for IBM z16 (arch14)
  instructions.

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

8 months agos390: Align letter case of instruction descriptions
Jens Remus [Wed, 20 Dec 2023 10:16:08 +0000 (11:16 +0100)] 
s390: Align letter case of instruction descriptions

Change the bitwise operations names "and" and "or" to lower case. Change
the register name abbreviations "FPR", "GR", and "VR" to upper case.

opcodes/
* s390-opc.txt: Align letter case of instruction descriptions.

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

8 months agoFix building for the s390 target with clang
Nick Clifton [Fri, 24 Nov 2023 08:10:12 +0000 (08:10 +0000)] 
Fix building for the s390 target with clang

(cherry picked from commit 6c0c7d489bdf106d90b300aeb8d042c7b1ad3d2b)

8 months agos390: Correct prno instruction name
Jens Remus [Thu, 23 Nov 2023 14:48:59 +0000 (15:48 +0100)] 
s390: Correct prno instruction name

IBM z13 (arch11) introduced ppno (Perform Pseudorandom Number Operation).
IBM z14 (arch12) introduced prno (Perform Random Number Operation) and
deprecated ppno.

opcodes/
* s390-opc.txt: Correct prno instruction name.

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

8 months agos390: Add missing extended mnemonics
Jens Remus [Thu, 23 Nov 2023 14:48:15 +0000 (15:48 +0100)] 
s390: Add missing extended mnemonics

Add extended mnemonics specified in the z/Architecture Principles of
Operation [1] and z/Architecture Reference Summary [2], that were
previously missing from the opcode table.

The following added extended mnemonics are synonyms to a base mnemonic
and therefore disassemble into their base mnemonic:
jc, jcth, lfi, llgfi, llghi

The following added extended mnemonics are more specific than their base
mnemonic and therefore disassemble into the added extended mnemonic:
risbhgz, risblgz, rnsbgt, rosbgt, rxsbgt

The following added extended mnemonics are more specific than their base
mnemonic, but disassemble into their base mnemonic due to design
constraints:
notr, notgr

The missing extended mnemonic jl* conditional jump long flavors cannot
be added, as they would clash with the existing non-standard extended
mnemonic j* conditional jump flavors jle and jlh. The missing extended
mnemonic jlc jump long conditional is not added, as the related jl*
flavors cannot be added.
Note that these missing jl* conditional jump long flavors are already
defined as non-standard jg* flavors instead. While the related missing
extended mnemonic jlc could be added as non-standard jgc instead it is
forgone in favor of not adding further non-standard mnemonics.

The missing extended mnemonics sllhh, sllhl, slllh, srlhh, srlhl, and
srllh cannot be implemented using the current design, as they require
computed operands. For that reason the following missing extended
mnemonics are not added as well, as they fall into the same category of
instructions that operate on high and low words of registers. They
should better be added together, not to confuse the user, which of those
instructions are currently implemented or not.
lhhr, lhlr, llhfr, llchhr, llchlr, llclhr, llhhhr, llhhlr, llhlhr,
nhhr, nhlr, nlhr, ohhr, ohlr, olhr, xhhr, xhlr, xlhr

[1] IBM z/Architecture Principles of Operation, SA22-7832-13, IBM z16,
    https://publibfp.dhe.ibm.com/epubs/pdf/a227832d.pdf
[2] IBM z/Architecture Reference Summary, SA22-7871-11,
    https://www.ibm.com/support/pages/sites/default/files/2022-09/SA22-7871-11.pdf

opcodes/
* s390-opc.c: Define operand formats R_CP16_28, U6_18, and
  U5_27. Define instruction formats RIE_RRUUU3, RIE_RRUUU4,
  and RRF_R0RR4.
* s390-opc.txt: Add extended mnemonics jc, jcth, lfi, llgfi,
  llghi, notgr, notr, risbhgz, risblgz, rnsbgt, rosbgt, and
  rxsbgt.

gas/
* config/tc-s390.c: Add support to insert operand for format
  R_CP16_28, reusing existing logic for format V_CP16_12.
* testsuite/gas/s390/esa-g5.s: Add test for extended mnemonic
  jc.
* testsuite/gas/s390/esa-g5.d: Likewise.
* testsuite/gas/s390/zarch-z900.s: Add test for extended
  mnemonic llghi.
* testsuite/gas/s390/zarch-z900.d: Likewise.
* testsuite/gas/s390/zarch-z9-109.s: Add tests for extended
  mnemonics lfi and llgfi.
* testsuite/gas/s390/zarch-z9-109.d: Likewise.
* testsuite/gas/s390/zarch-z10.s: Add tests for extended
  mnemonics rnsbgt, rosbgt, and rxsbgt.
* testsuite/gas/s390/zarch-z10.d: Likewise.
* testsuite/gas/s390/zarch-z196.s: Add tests for extended
  mnemonics jcth, risbhgz, and risblgz.
* testsuite/gas/s390/zarch-z196.d: Likewise.
* testsuite/gas/s390/zarch-arch13.s: Add tests for extended
  mnemonics notr and notgr.
* testsuite/gas/s390/zarch-arch13.d: Likewise.

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

8 months agos390: Align optional operand definition to specs
Jens Remus [Thu, 23 Nov 2023 14:46:46 +0000 (15:46 +0100)] 
s390: Align optional operand definition to specs

The IBM z/Architecture Principle of Operation [1] specifies the last
operand(s) of some (extended) mnemonics to be optional. Align the
mnemonic definitions in the opcode table according to specification.

This changes the last operand of the following (extended) mnemonics to
be optional:
risbg, risbgz, risbgn, risbgnz, risbhg, risblg, rnsbg, rosbg, rxsbg

Note that efpc and sfpc actually have only one operand, but had
erroneously been defined to have two. For backwards compatibility the
wrong RR register format must be retained. Since the superfluous second
operand is defined as optional the instruction can still be coded as
specified.

[1]: IBM z/Architecture Principles of Operation, SA22-7832-13, IBM z16,
     https://publibfp.dhe.ibm.com/epubs/pdf/a227832d.pdf

opcodes/
* s390-opc.txt: Align optional operand definition to
specification.

testsuite/
* zarch-z10.s: Add test cases for risbg, risbgz, rnsbg, rosbg,
  and rxsbg.
* zarch-z10.d: Likewise.
* zarch-z196.s: Add test cases for risbhg and risblg.
* zarch-z196.d: Likewise.
* zarch-zEC12.s: Add test cases for risbgn and risbgnz.
* zarch-zEC12.d: Likewise.

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

8 months agos390: Make operand table indices relative to each other
Jens Remus [Thu, 23 Nov 2023 14:45:42 +0000 (15:45 +0100)] 
s390: Make operand table indices relative to each other

This is a purely mechanical change. It allows subsequent insertions into
the operands table without having to renumber all operand indices.

The only differences in the resulting ELF object are in the .debug_info
section. This has been confirmed by diffing the following xxd and readelf
output:

xxd s390-opc.o
readelf -aW -x .text -x .data -x .bss -x .rodata -x .debug_info \
  -x .symtab -x .strtab -x .shstrtab --debug-dump s390-opc.o

opcodes/
* s390-opc.c: Make operand table indices relative to each other.

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

8 months agos390: Add brasl edge test cases from ESA to z/Architecture
Jens Remus [Thu, 23 Nov 2023 14:44:41 +0000 (15:44 +0100)] 
s390: Add brasl edge test cases from ESA to z/Architecture

The ESA opcode test cases for IBM z900 contain a few edge cases. They
exercise the brasl mnemonic with its largest allowed negative and
positive offsets. Linux on zSeries in ESA mode executes in 31-bit
addressing mode. Therefore the ESA test cases are assembled with -m31.
In 31-bit addressing mode the address computation using those large
offsets wraps, which is correctly reflected in the disassembly.

Linux on Z in z/Architecture mode executes in 64-bit addressing mode.
Therefore the z/Architecture (zarch) test cases are assembled with -m64.
In 64-bit addressing mode the address computation using those large
offsets does not necessarily wrap.

gas/
* testsuite/gas/s390/zarch-z900.s: Add brasl tests from ESA that
  exercise edge cases.
* testsuite/gas/s390/zarch-z900.d: Likewise.

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

8 months agos390: Position independent verification of relative addressing
Jens Remus [Thu, 23 Nov 2023 14:43:36 +0000 (15:43 +0100)] 
s390: Position independent verification of relative addressing

Opcode test cases for z/Architecture instructions that use relative
addressing contained hardcoded offsets in the test verification
patterns. Inserting or reordering of instructions into those test cases
therefore required updating of those hardcoded offsets.

Use regular expressions with backreferences to verify results of test
cases containing instructions with relative addressing. This makes the
verification position independent.

gas/
* testsuite/gas/s390/esa-g5.d: Make opcode test verification
  pattern position independent where possible.
* testsuite/gas/s390/esa-z900.d: Likewise.
* testsuite/gas/s390/zarch-z900.d: Likewise.
* testsuite/gas/s390/zarch-z10.d: Likewise.
* testsuite/gas/s390/zarch-z196.d: Likewise.
* testsuite/gas/s390/zarch-zEC12.d: Likewise.

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

10 months agolibctf: fix ref leak of names of newly-inserted non-root-visible types
Nick Alcock [Mon, 29 Jul 2024 11:45:09 +0000 (12:45 +0100)] 
libctf: fix ref leak of names of newly-inserted non-root-visible types

A bug in ctf_dtd_delete led to refs in the string table to the
names of non-root-visible types not being removed when the DTD
was.  This seems harmless, but actually it would lead to a write
down a pointer into freed memory if such a type was ctf_rollback()ed
over and then the dict was serialized (updating all the refs as the
strtab was serialized in turn).

Bug introduced in commit fe4c2d55634c700ba527ac4183e05c66e9f93c62
("libctf: create: non-root-visible types should not appear in name tables")
which is included in binutils 2.35.

libctf/
* ctf-create.c (ctf_dtd_delete): Remove refs for all types
with names, not just root-visible ones.

16 months agoas: fixed internal error when immediate value of relocation overflow.
Lulu Cai [Wed, 11 Oct 2023 02:20:45 +0000 (10:20 +0800)] 
as: fixed internal error when immediate value of relocation overflow.

The as and ld use _bfd_error_handler to output error messages when
checking relocation alignment and relocation overflow. However, the
abfd value passed by as to the function is NULL, resulting in an
internal error. The ld passes a non-null value to the function,
so it can output an error message normally.

(cherry picked from commit f87cf663af71e5d78c8d647fa48562102f3b0615)

16 months agoPowerPC: Add support for Power11 options
Peter Bergner [Fri, 9 Feb 2024 16:51:30 +0000 (10:51 -0600)] 
PowerPC: Add support for Power11 options

binutils/
* doc/binutils.texi (PowerPC -M option): Mention power11 and pwr11.

gas/
* config/tc-ppc.c: (md_show_usage): Mention -mpower11 and -mpwr11.
* doc/c-ppc.texi: Likewise.

opcodes/
* ppc-dis.c (ppc_opts): Add "power11" and "pwr11" entries.
(powerpc_init_dialect): Default to "power11".

(cherry picked from commit 4199cf1e152daab0460f08cc7dbd1f727ac3e4cc)

16 months agoLoongArch: Add more relaxation testcases
mengqinggang [Thu, 16 Nov 2023 11:19:16 +0000 (19:19 +0800)] 
LoongArch: Add more relaxation testcases

1. .so relaxation testcase
2. ld --no-relax testcase
3. segment alignment testcase

(cherry picked from commit 580a53dab47c9e4f97c8559440d2bc43fb7331b6)

16 months agoLoongArch: Modify link_info.relax_pass from 3 to 2
mengqinggang [Thu, 16 Nov 2023 11:19:15 +0000 (19:19 +0800)] 
LoongArch: Modify link_info.relax_pass from 3 to 2

The first pass handles R_LARCH_RELAX relocations, the second pass
handles R_LARCH_ALIGN relocations.

(cherry picked from commit 8338aecd231af48483e36c93c103db1da715ac74)

16 months agoLoongArch: Remove "elf_seg_map (info->output_bfd) == NULL" relaxation condition
mengqinggang [Thu, 16 Nov 2023 11:19:14 +0000 (19:19 +0800)] 
LoongArch: Remove "elf_seg_map (info->output_bfd) == NULL" relaxation condition

Previously the condition prevented shared objects from being relaxed.
To remove the limitation, we need to update program header size and
.eh_frame_hdr size before relaxation.

(cherry picked from commit 4f2469d0cdd0f3bd1d9040521e002e8df0a63a98)

16 months agoLoongArch: Multiple relax_trip in one relax_pass
mengqinggang [Thu, 16 Nov 2023 11:19:13 +0000 (19:19 +0800)] 
LoongArch: Multiple relax_trip in one relax_pass

If deleting instructions in one relax_trip, set again to true to start the
next relax_trip.

(cherry picked from commit b130a0849a1b3e174210903cf5370092decc62d6)

16 months agoLoongArch: Directly delete relaxed instuctions in first relaxation pass
mengqinggang [Thu, 16 Nov 2023 11:19:12 +0000 (19:19 +0800)] 
LoongArch: Directly delete relaxed instuctions in first relaxation pass

Directly delete relaxed instuctions in first relaxation pass, not use
R_LARCH_DELETE relocation. If not, the PC-relative offset may increase.

(cherry picked from commit 4e94082d95e046f357409cd689ffeedd60f6c673)

16 months agoLoongArch: Fix ld --no-relax bug
mengqinggang [Thu, 16 Nov 2023 11:19:11 +0000 (19:19 +0800)] 
LoongArch: Fix ld --no-relax bug

When calling ld with --no-relax, pcalau12i + ld.d still can be relaxed.
This patch fix this bug and pcalau12i + ld.d can be relaxed with --relax.

(cherry picked from commit 363174776d13db9f35f2e54d8f7f5e34b64acbee)

17 months agoFix 31252 gprofng causes testsuite parallel jobs fail
Vladimir Mezentsev [Sat, 20 Jan 2024 02:40:21 +0000 (18:40 -0800)] 
Fix 31252 gprofng causes testsuite parallel jobs fail

Before running our tests, we made a fake installation into ./tmpdir.
This installation changes libopcodes.la in the build area.
Gas testing may fail if gas and gprofng tests are run in parallel.

I create a script to run gprofng. Inside this script, LD_LIBRARY_PATH,
GPROFNG_SYSCONFDIR are set.
putenv_libcollector_ld_misc() first uses $GPROFNG_PRELOAD_LIBDIRS to create
directories for SP_COLLECTOR_LIBRARY_PATH ($SP_COLLECTOR_LIBRARY_PATH is used
to set up LD_PRELOAD).

gprofng/ChangeLog
2024-01-19  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>

PR gprofng/31252
PR gprofng/30808
* src/envsets.cc (putenv_libcollector_ld_misc): Use
$GPROFNG_PRELOAD_LIBDIRS first to build SP_COLLECTOR_LIBRARY_PATH.
* testsuite/config/default.exp: Create a script to run gprofng.
* testsuite/lib/display-lib.exp: Fix typo.

(cherry picked from commit 26f557af696726a8556bff12f54e4d05cd7a5034)

17 months agoAutomatic date update in version.in
GDB Administrator [Thu, 18 Jan 2024 00:02:16 +0000 (00:02 +0000)] 
Automatic date update in version.in

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

17 months agoAutomatic date update in version.in
GDB Administrator [Tue, 16 Jan 2024 00:01:43 +0000 (00:01 +0000)] 
Automatic date update in version.in

17 months agoAutomatic date update in version.in
GDB Administrator [Mon, 15 Jan 2024 00:01:22 +0000 (00:01 +0000)] 
Automatic date update in version.in

17 months agoAutomatic date update in version.in
GDB Administrator [Sun, 14 Jan 2024 00:00:39 +0000 (00:00 +0000)] 
Automatic date update in version.in

17 months agoAutomatic date update in version.in
GDB Administrator [Sat, 13 Jan 2024 00:00:49 +0000 (00:00 +0000)] 
Automatic date update in version.in

17 months agoAutomatic date update in version.in
GDB Administrator [Fri, 12 Jan 2024 00:01:26 +0000 (00:01 +0000)] 
Automatic date update in version.in

17 months agoAutomatic date update in version.in
GDB Administrator [Thu, 11 Jan 2024 00:02:22 +0000 (00:02 +0000)] 
Automatic date update in version.in

17 months agoAutomatic date update in version.in
GDB Administrator [Wed, 10 Jan 2024 00:04:50 +0000 (00:04 +0000)] 
Automatic date update in version.in

17 months agoAutomatic date update in version.in
GDB Administrator [Tue, 9 Jan 2024 00:05:02 +0000 (00:05 +0000)] 
Automatic date update in version.in

17 months agoAutomatic date update in version.in
GDB Administrator [Mon, 8 Jan 2024 00:01:47 +0000 (00:01 +0000)] 
Automatic date update in version.in

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

17 months agoAutomatic date update in version.in
GDB Administrator [Sat, 6 Jan 2024 00:03:10 +0000 (00:03 +0000)] 
Automatic date update in version.in

17 months agoAutomatic date update in version.in
GDB Administrator [Fri, 5 Jan 2024 00:03:50 +0000 (00:03 +0000)] 
Automatic date update in version.in

17 months agoAutomatic date update in version.in
GDB Administrator [Thu, 4 Jan 2024 00:04:07 +0000 (00:04 +0000)] 
Automatic date update in version.in

17 months agoAutomatic date update in version.in
GDB Administrator [Wed, 3 Jan 2024 00:03:02 +0000 (00:03 +0000)] 
Automatic date update in version.in

17 months agoAutomatic date update in version.in
GDB Administrator [Tue, 2 Jan 2024 00:02:16 +0000 (00:02 +0000)] 
Automatic date update in version.in

17 months agoAutomatic date update in version.in
GDB Administrator [Mon, 1 Jan 2024 00:02:17 +0000 (00:02 +0000)] 
Automatic date update in version.in

17 months agoAutomatic date update in version.in
GDB Administrator [Sun, 31 Dec 2023 00:00:52 +0000 (00:00 +0000)] 
Automatic date update in version.in

18 months agoAutomatic date update in version.in
GDB Administrator [Sat, 30 Dec 2023 00:01:46 +0000 (00:01 +0000)] 
Automatic date update in version.in

18 months agoAutomatic date update in version.in
GDB Administrator [Fri, 29 Dec 2023 00:01:23 +0000 (00:01 +0000)] 
Automatic date update in version.in

18 months agoAutomatic date update in version.in
GDB Administrator [Thu, 28 Dec 2023 00:03:28 +0000 (00:03 +0000)] 
Automatic date update in version.in

18 months agoAutomatic date update in version.in
GDB Administrator [Wed, 27 Dec 2023 00:02:06 +0000 (00:02 +0000)] 
Automatic date update in version.in

18 months agoAutomatic date update in version.in
GDB Administrator [Tue, 26 Dec 2023 00:03:35 +0000 (00:03 +0000)] 
Automatic date update in version.in

18 months agoAutomatic date update in version.in
GDB Administrator [Mon, 25 Dec 2023 00:02:24 +0000 (00:02 +0000)] 
Automatic date update in version.in

18 months agoAutomatic date update in version.in
GDB Administrator [Sun, 24 Dec 2023 00:01:31 +0000 (00:01 +0000)] 
Automatic date update in version.in

18 months agoAutomatic date update in version.in
GDB Administrator [Sat, 23 Dec 2023 00:01:20 +0000 (00:01 +0000)] 
Automatic date update in version.in

18 months agoAutomatic date update in version.in
GDB Administrator [Fri, 22 Dec 2023 00:00:54 +0000 (00:00 +0000)] 
Automatic date update in version.in

18 months agoAutomatic date update in version.in
GDB Administrator [Thu, 21 Dec 2023 00:01:25 +0000 (00:01 +0000)] 
Automatic date update in version.in

18 months agoaarch64-elf: FAIL: indirect call stub to BTI stub relaxation
Alan Modra [Sun, 3 Dec 2023 22:18:34 +0000 (08:48 +1030)] 
aarch64-elf: FAIL: indirect call stub to BTI stub relaxation

aarch64-elf fails the ld-aarch64/bfd-far-3.d test, due to the stubs
being emitted in a different order to that of aarch64-linux.  They are
emitted in a different order due to stub names for local symbols
having the section id in the stub name.  aarch64-linux-ld generates
one more section than aarch64-elf-ld.  That section is .gnu.hash.  So
the stub names differ and are hashed to different slots in
stub_hash_table.

Fix this by running the test with --hash-style=sysv, and adjust
expected output.  I've also changed the branch over stubs emitted at
the start of a group of stubs to not care about the symbol, for all
groups not just the one that needed changing.

* ld-aarch64/bti-far-3.d: Add --hash-style=sysv.  Adjust
expected output.

(cherry picked from commit 21a2a3d567a2af583768b5f614403e65611c58a5)

18 months agold: aarch64: Use lp64 abi in recent BTI stub tests
Szabolcs Nagy [Thu, 9 Nov 2023 13:35:37 +0000 (13:35 +0000)] 
ld: aarch64: Use lp64 abi in recent BTI stub tests

The tests are not compatible with ilp32 abi: the GNU property
note is ABI dependent (size changes) and the disasm is ABI
dependent too.  Making the test portable between the ABIs is
not trivial.

For now force lp64 abi.

(cherry picked from commit 7b0c124970d0dba1703284189f09be2cbe17fa91)

18 months agold: aarch64: Add BTI stub insertion test PR30930
Szabolcs Nagy [Tue, 24 Oct 2023 15:24:22 +0000 (16:24 +0100)] 
ld: aarch64: Add BTI stub insertion test PR30930

The test creates a large shared library and covers a number of
BTI stub insertion cases.

(cherry picked from commit b418c9d49ece5d503eea35a3ff994e55326da6f9)

18 months agobfd: aarch64: Avoid BTI stub for a PLT that has BTI
Szabolcs Nagy [Wed, 18 Oct 2023 15:12:56 +0000 (16:12 +0100)] 
bfd: aarch64: Avoid BTI stub for a PLT that has BTI

We decide to emit BTI stubs based on the instruction at the target
location. But PLT code is generated later than the stubs so we always
read 0 which is not a valid BTI.

Fix the logic to special case the PLT section: this is code the linker
generates so we know when it will have BTI.

This avoids BTI stubs in large executables where the PLTs have them
already. An alternative is to never emit BTI stubs for PLTs, instead
use BTI in the PLT if a library gets too big, however that may be
more tricky given the ordering of PLT sizing and stub insertion.

Related to bug 30957.

(cherry picked from commit fc48504c7abe8eb9d9723632b2d53504927f46ff)

18 months agobfd: aarch64: Fix leaks in case of BTI stub reuse
Szabolcs Nagy [Tue, 17 Oct 2023 13:13:00 +0000 (14:13 +0100)] 
bfd: aarch64: Fix leaks in case of BTI stub reuse

BTI stub parameters were recomputed even if those were already set up.
This is unnecessary work and leaks the symbol name that is allocated
for the stub.

(cherry picked from commit a74ac8c41971682f687a8a5ce94f36a8054ecd0e)

18 months agobfd: aarch64: Fix broken BTI stub PR30930
Szabolcs Nagy [Mon, 16 Oct 2023 12:18:13 +0000 (13:18 +0100)] 
bfd: aarch64: Fix broken BTI stub PR30930

Input sections are grouped together that can use the same stub area
(within reach) and these groups have a stable id.

Stubs have a name generated from the stub group id and target symbol.
When a relocation requires a stub with a name that already exists, the
stub is reused instead of adding a new one.

For an indirect branch stub another BTI stub may be inserted near the
target to provide a BTI landing pad.

The BTI stub can end up with the same stub group id and thus the same
name as the indirect stub. This happens if the target symbol is within
reach of the indirect branch stub. Then, due to the name collision,
only a single stub was emmitted which branched to itself causing an
infinite loop at runtime.

A possible solution is to just name the BTI stubs differently, but
since in the problematic case the indirect and BTI stub are in the
same stub area, a better solution is to emit a single stub with a
direct branch. The stub is still needed since the caller cannot reach
the target directly and we also want a BTI landing pad in the stub in
case other indirect stubs target the same symbol and thus need a BTI
stub.

In short we convert an indirect branch stub into a BTI stub when the
target is within reach and has no BTI. It is a hassle to change the
symbol of the stub so a BTI stub may end up with *_veneer instead of
*_bti_veneer after the conversion, but this should not matter much.
(Refactoring some of _bfd_aarch64_add_call_stub_entries would be
useful but too much for this bug fix patch.)

The same conversion to direct branch could be done even if the target
did not need a BTI. The stub groups are fixed in the current logic so
linking can fail if too many stubs are inserted and the section layout
is changed too much, but this only happens in extreme cases that can
be reasonably ignored. Because of this the target cannot go out of
reach during stub insertion so the optimization is valid, but not
implemented by this patch for the non-BTI case.

Fixes bug 30930.

(cherry picked from commit d3a8dfdef0797244d0f2f3a8ec5db8f1dcf1337b)

18 months agobfd: aarch64: Fix BTI stub optimization PR30957
Szabolcs Nagy [Fri, 13 Oct 2023 16:51:15 +0000 (17:51 +0100)] 
bfd: aarch64: Fix BTI stub optimization PR30957

The instruction was looked up in the wrong input file (file of branch
source instead of branch target) when optimizing away BTI stubs in

  commit 5834f36d93cabf1a8bcc7dd7654141aed3d296bc
  bfd: aarch64: Optimize BTI stubs PR30076

This can cause adding BTI stubs when they are not necessary or removing
them when they are (the latter is a correctness issue but it is very
unlikely in practice).

Fixes bug 30957.

(cherry picked from commit 98b94ebb3ffe715fddde762bb3ee7fd6d972f233)

18 months agoFix 30808 gprofng tests failed
Vladimir Mezentsev [Thu, 31 Aug 2023 23:26:59 +0000 (16:26 -0700)] 
Fix 30808 gprofng tests failed

In gprofng testing, we need a tempory gprofng installation to resolve run-time
dependencies on libraries (libgprofng, libopcodes, libbfd, etc).
We set LD_LIBRARY_PATH and GPROFNG_SYSCONFDIR to find our libraries and
configuration file. These variables must be set for all gprofng tests.

Tested on aarch64 and x86_64 with and without --enable-shared and --target=<>.

gprofng/ChangeLog
2023-08-31  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>

PR gprofng/30808
* testsuite/config/default.exp: Make a temporary install dir.
Set LD_LIBRARY_PATH, GPROFNG_SYSCONFDIR.
* testsuite/lib/Makefile.skel: Move LD_LIBRARY_PATH and
GPROFNG_SYSCONFDIR setting in testsuite/config/default.exp.

(cherry picked from commit a13e4c5c10d1a13d9128d033c9525810e876ac14)

18 months agoFix ld/x86: reduce testsuite dependency on system object files
H.J. Lu [Fri, 1 Dec 2023 17:13:08 +0000 (09:13 -0800)] 
Fix ld/x86: reduce testsuite dependency on system object files

commit eab996435fe65a421541f59557c5f1fd427573a3
Author: Jan Beulich <jbeulich@suse.com>
Date:   Tue Nov 7 13:58:32 2023 +0100

    ld/x86: reduce testsuite dependency on system object files

changed some C compiler tests to assembler/linker tests which introduced
2 problems:

1. It broke x32 binutils tests since --64 was passed to assembler, but
-m elf_x86_64 wasn't passed to linker.
2. -nostdlib was passed to C compiler driver to exclude standard run-time
files which should be avoided with -r option for linker tests.

Fix them by passing -m elf_x86_64 to linker and removing -nostdlib for
linker tests with -r.

PR ld/30722
* testsuite/ld-x86-64/x86-64.exp: Pass -m elf_x86_64 to linker
for tests with --64.  Remove -nostdlib for tests with -r.

(cherry picked from commit 260aa570edcf120332daefb4a102a08c90e4d9b4)

18 months agold/x86: reduce testsuite dependency on system object files
Jan Beulich [Tue, 7 Nov 2023 12:58:32 +0000 (13:58 +0100)] 
ld/x86: reduce testsuite dependency on system object files

PR ld/30722
Tests looking for certain .note-section recorded properties may not
involve object files from the underlying platform (e.g. via using the C
compiler for linking): Such object files may themselves have similar
note sections, and hence they may influence the overall outcome.

For now convert just the tests known to be affected by crt*.o coming
with "ISA v3 needed" notes. Eventually other tests ought to be
converted, too.

(cherry picked from commit eab996435fe65a421541f59557c5f1fd427573a3)

18 months agold: ld-lib.exp: log failed dump.out contents for debugging
Sam James [Wed, 16 Aug 2023 06:21:53 +0000 (07:21 +0100)] 
ld: ld-lib.exp: log failed dump.out contents for debugging

If we're using dump_prog in a test which fails, log the dump.out contents
to ld.log to aid debugging.

This avoids needing to ask reporters to manually run e.g. `objdump` commands
when making bug reports.

PR30722
* ld/testsuite/lib/ld-lib.exp: Log failed dump.out contents to aid
debugging.

Approved-by: Nick Clifton <nickc@redhat.com>
Signed-off-by: Sam James <sam@gentoo.org>
(cherry picked from commit 646657284f6b62a71a6869826e951b3def4d73a6)

18 months agold: fix relocatable, retain7a target pattens for HPPA
Sam James [Mon, 14 Aug 2023 03:28:35 +0000 (04:28 +0100)] 
ld: fix relocatable, retain7a target pattens for HPPA

Fix issue reported by Dave and Alan.

Put back the old pattern for hppa-*-linux* and add hppa[12]*-*-linux* to cover
Gentoo's hppa1.1 and hppa2.0 without including hppa64 inadvertently like I did
before.

ld/
PR 30733
PR 30734
* ld/testsuite/ld-elf/relocatable.d: Use better pattern to exclude hppa64
          but include hppa1.1, hppa2.0.
* ld/testsuite/ld-elf/retain7a.d: Ditto.

Fixes: 0e339f6b4f2df25ed351cb94dc7fe16868626f49
Fixes: e3b66187192ce6840df283c00f6395bb0ff15cf5
Signed-off-by: Sam James <sam@gentoo.org>
(cherry picked from commit 3b23a5ea693deee60648c9a9e9d666d83549298e)

18 months agold: Fix retain7a.d XFAIL/notarget entry for hppa
Sam James [Tue, 8 Aug 2023 01:19:57 +0000 (02:19 +0100)] 
ld: Fix retain7a.d XFAIL/notarget entry for hppa

PR 30733
* ld/testsuite/ld-elf/retain7a.d: Fix XFAIL entry for hppa to match
  hppa{1.1,2.0}*, like hppa2.0-unknown-linux-gnu which Gentoo uses.

Signed-off-by: Sam James <sam@gentoo.org>
(cherry picked from commit e3b66187192ce6840df283c00f6395bb0ff15cf5)

18 months agold: Fix relocatable.d XFAIL/notarget entry for hppa
Sam James [Tue, 8 Aug 2023 01:17:57 +0000 (02:17 +0100)] 
ld: Fix relocatable.d XFAIL/notarget entry for hppa

PR 30734
* ld/testsuite/ld-elf/relocatable.d: Fix notarget entry for hppa to match
  hppa{1.1,2.0}*, like hppa2.0-unknown-linux-gnu which Gentoo uses.

Signed-off-by: Sam James <sam@gentoo.org>
(cherry picked from commit 0e339f6b4f2df25ed351cb94dc7fe16868626f49)

18 months agold: Build libpr23169a.so with -z lazy
H.J. Lu [Mon, 7 Aug 2023 17:23:16 +0000 (10:23 -0700)] 
ld: Build libpr23169a.so with -z lazy

pr23169b test only works with lazy binding.  To work with linker which
disables lazy binding by default, build pr23169b binaries with -z lazy.

PR ld/30698
* ld-ifunc/ifunc.exp: Build pr23169b binaries with -z lazy.

(cherry picked from commit 51dd9e7c4cab13748f31f6575aed0672f03d6710)

18 months agoFix "--only-keep-debug for ELF relocatables" binutils test for compilers which add...
Nick Clifton [Tue, 1 Aug 2023 13:37:04 +0000 (14:37 +0100)] 
Fix "--only-keep-debug for ELF relocatables" binutils test for compilers which add .debug_macro sections to object files.

  PR 30699
  * binutils/testsuite/binutils-all/objcopy.exp (keep_debug_symbols_for_elf_relocatable): Do not add sections containing the string "debug_" to the list of non-debug sections.

(cherry picked from commit b99a9693430a9f04165b1b868f890b622bb1b46c)

18 months agogprofng: 30700 tmpdir/gp-collect-app_F test fails
Vladimir Mezentsev [Thu, 3 Aug 2023 19:56:54 +0000 (12:56 -0700)] 
gprofng: 30700 tmpdir/gp-collect-app_F test fails

gprofng/ChangeLog
2023-08-03  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>

PR gprofng/30700
* testsuite/gprofng.display/gp-collect-app_F.exp: Fix -name argument
for sub-experiment filtering.

(cherry picked from commit e0282cf1284b4d358892427a6b4f60d6f4c0580b)

18 months agoAutomatic date update in version.in
GDB Administrator [Wed, 20 Dec 2023 00:00:57 +0000 (00:00 +0000)] 
Automatic date update in version.in

18 months agoAutomatic date update in version.in
GDB Administrator [Tue, 19 Dec 2023 00:00:57 +0000 (00:00 +0000)] 
Automatic date update in version.in

18 months agoAutomatic date update in version.in
GDB Administrator [Mon, 18 Dec 2023 00:01:03 +0000 (00:01 +0000)] 
Automatic date update in version.in

18 months agoAutomatic date update in version.in
GDB Administrator [Sun, 17 Dec 2023 00:00:52 +0000 (00:00 +0000)] 
Automatic date update in version.in

18 months agoAutomatic date update in version.in
GDB Administrator [Sat, 16 Dec 2023 00:00:50 +0000 (00:00 +0000)] 
Automatic date update in version.in

18 months agoAutomatic date update in version.in
GDB Administrator [Fri, 15 Dec 2023 00:00:55 +0000 (00:00 +0000)] 
Automatic date update in version.in

18 months agoAutomatic date update in version.in
GDB Administrator [Thu, 14 Dec 2023 00:01:21 +0000 (00:01 +0000)] 
Automatic date update in version.in

18 months agoAutomatic date update in version.in
GDB Administrator [Wed, 13 Dec 2023 00:01:08 +0000 (00:01 +0000)] 
Automatic date update in version.in

18 months agoAutomatic date update in version.in
GDB Administrator [Tue, 12 Dec 2023 00:00:45 +0000 (00:00 +0000)] 
Automatic date update in version.in

18 months agoAutomatic date update in version.in
GDB Administrator [Mon, 11 Dec 2023 00:00:55 +0000 (00:00 +0000)] 
Automatic date update in version.in

18 months agoAutomatic date update in version.in
GDB Administrator [Sun, 10 Dec 2023 00:01:09 +0000 (00:01 +0000)] 
Automatic date update in version.in

18 months agoAutomatic date update in version.in
GDB Administrator [Sat, 9 Dec 2023 00:00:58 +0000 (00:00 +0000)] 
Automatic date update in version.in

18 months agoAutomatic date update in version.in
GDB Administrator [Fri, 8 Dec 2023 00:01:05 +0000 (00:01 +0000)] 
Automatic date update in version.in

18 months agoAutomatic date update in version.in
GDB Administrator [Thu, 7 Dec 2023 00:01:23 +0000 (00:01 +0000)] 
Automatic date update in version.in

18 months agoAutomatic date update in version.in
GDB Administrator [Wed, 6 Dec 2023 00:01:01 +0000 (00:01 +0000)] 
Automatic date update in version.in

18 months agoAutomatic date update in version.in
GDB Administrator [Tue, 5 Dec 2023 00:01:28 +0000 (00:01 +0000)] 
Automatic date update in version.in

18 months agoAutomatic date update in version.in
GDB Administrator [Mon, 4 Dec 2023 00:00:40 +0000 (00:00 +0000)] 
Automatic date update in version.in

18 months agoAutomatic date update in version.in
GDB Administrator [Sun, 3 Dec 2023 00:00:56 +0000 (00:00 +0000)] 
Automatic date update in version.in

18 months agoAutomatic date update in version.in
GDB Administrator [Sat, 2 Dec 2023 00:00:44 +0000 (00:00 +0000)] 
Automatic date update in version.in

18 months agoAutomatic date update in version.in
GDB Administrator [Fri, 1 Dec 2023 00:00:58 +0000 (00:00 +0000)] 
Automatic date update in version.in

18 months agoAutomatic date update in version.in
GDB Administrator [Thu, 30 Nov 2023 00:01:04 +0000 (00:01 +0000)] 
Automatic date update in version.in

19 months agoAutomatic date update in version.in
GDB Administrator [Wed, 29 Nov 2023 00:01:13 +0000 (00:01 +0000)] 
Automatic date update in version.in

19 months agoAutomatic date update in version.in
GDB Administrator [Tue, 28 Nov 2023 00:01:25 +0000 (00:01 +0000)] 
Automatic date update in version.in

19 months agoAutomatic date update in version.in
GDB Administrator [Mon, 27 Nov 2023 00:01:01 +0000 (00:01 +0000)] 
Automatic date update in version.in