117519 Commits

Author SHA1 Message Date
fb7a89968a alnyan/yggdrasil: *-yggdrasil target-level support 2024-03-14 21:43:32 +02:00
Nick Clifton
c7f28aad0c Update version number to 2.42 2024-01-29 14:51:43 +00:00
Indu Bhagat
a58dc5427f x86: testsuite: scfi: adjust COFI testcase and gas: scfi: untraceable control flow should be a hard error 2024-01-29 14:22:06 +00:00
Nick Clifton
e1106084f6 Updated French translations for GOLD and LD 2024-01-29 11:31:52 +00:00
Nick Clifton
e28726c4fd LoongArch: update test cases about TLS 2024-01-29 11:22:39 +00:00
GDB Administrator
70d424aaf8 Automatic date update in version.in 2024-01-29 00:01:47 +00:00
GDB Administrator
317288354a Automatic date update in version.in 2024-01-28 00:01:20 +00:00
GDB Administrator
7d6e8abd80 Automatic date update in version.in 2024-01-27 00:01:30 +00:00
mengqinggang
3988bf614f Backport commits 969f5c0e1 (LoongArch: gas: Add support for s9 register) and a0aa6f4ab (LoongArch: ld: Add support for TLS LE symbol with addend) to 2.42 branch. 2024-01-26 10:50:57 +00:00
GDB Administrator
75558017d5 Automatic date update in version.in 2024-01-26 00:01:13 +00:00
Andrew Carlotti
ab35d4b9c2 gas: Update NEWS
Groups entries by architecture, and update AArch64 content.
2024-01-25 15:32:28 +00:00
Andrew Carlotti
a0440fd9f7 aarch64: Update Architecture Extensions documentation
Restructure the architecture extensions table, add a new table for architecture
version dependencies, add missing architecture extensions, and improve some
extension descriptions.
2024-01-25 14:45:40 +00:00
mengqinggang
7231da9099 LoongArch: gas: Start a new frag after instructions that can be relaxed
For R_LARCH_TLS_{LE_HI20_R,LE_ADD_R,LD_PC_HI20,GD_PC_HI20, DESC_PC_HI20}
relocations, start a new frag to get correct eh_frame Call Frame Information
FDE DW_CFA_advance_loc info.
2024-01-25 09:24:26 +08:00
mengqinggang
a519d29e22 LoongArch: gas: Don't define LoongArch .align
Gcc may generate "\t.align\t%d,54525952,4\n" before commit
b20c7ee066cb7d952fa193972e8bc6362c6e4063. To write 54525952 (NOP) to object
file, we call s_align_ptwo (-4). It result in alignment padding must be a
multiple of 4 if .align has second parameter.

Use default s_align_ptwo for .align.
2024-01-25 09:24:09 +08:00
Xi Ruoyao
54cdc63d58 LoongArch: Fix some test failures about TLS desc and TLS relaxation
There are two issues causing 11 test failures:

1. The TLS desc tests are matching the entire disassemble of a linked
   executable.  But if ld is configured --enable-default-hash-style=gnu
   (note that most modern distros use this option), the layout of the
   linked executables will be different and the immediate operands in
   the linked executables will also be different.  So we add
   "--hash-style=both" for these tests to cancel the effect of
   --enable-default-hash-style=gnu, like [x86_64 mark-plt tests].
2. By default objdump disassemble uses [pseudo-instructions] so "addi.w"
   is outputed as "li.w", causing mismatches in TLS relaxation tests.
   We can turn off the pseudo-instruction usage in objdump using "-M
   no-aliases" to fix them.

[x86_64 mark-plt tests]: 16666ccc91295d1568c5c2cb0e7600694840dfd9
[pseudo-instructions]: 17f9439038257b1de0c130a416a9a7645c653cb0

Signed-off-by: Xi Ruoyao <xry111@xry111.site>
2024-01-25 09:23:49 +08:00
mengqinggang
d895955b8b LoongArch: Do not emit R_LARCH_RELAX for two register macros
For two register macros (e.g. la.local $t0, $t1, symbol) used in extreme code
model, do not emit R_LARCH_RELAX relocations.
2024-01-25 09:22:46 +08:00
GDB Administrator
ef8574fc33 Automatic date update in version.in 2024-01-25 00:03:06 +00:00
Andrew Carlotti
bb1ab9d4ab aarch64: Eliminate unused variable warnings with -DNDEBUG 2024-01-24 12:16:03 +00:00
GDB Administrator
8699aa4f64 Automatic date update in version.in 2024-01-24 00:02:16 +00:00
Andrew Carlotti
9144007382 aarch64: Include +predres2 in -march=armv8.9-a
This matches the dependencies in the architecture, in LLVM, and even in the
original Binutils commit message that mistakenly included it only in armv9.4-a.
2024-01-23 17:36:35 +00:00
Xi Ruoyao
e92613559c [PATCH v2] gas/NEWS, ld/NEWS: Announce LoongArch changes in 2.42 2024-01-23 15:59:12 +00:00
Jan Beulich
c59f83461f x86/APX: also amend the PUSH2/POP2 testcase
Commit f530d5f1bab6 ("Update x86/APX: VROUND{P,S}{S,D} can generally be
encoded") took care of only half of the remaining issue. Add #pass here
as well.
2024-01-23 08:13:55 +01:00
GDB Administrator
b4dc314a61 Automatic date update in version.in 2024-01-23 00:02:50 +00:00
Vladimir Mezentsev
26f557af69 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.
2024-01-22 11:02:15 -08:00
Nick Clifton
5266e76caf Updated Serbian translations for th bfd, gold and opcodes directories 2024-01-22 17:26:00 +00:00
GDB Administrator
d411590fef Automatic date update in version.in 2024-01-22 00:01:20 +00:00
GDB Administrator
7859f402ad Automatic date update in version.in 2024-01-21 00:01:19 +00:00
GDB Administrator
bbdf007db7 Automatic date update in version.in 2024-01-20 00:00:41 +00:00
H.J. Lu
075f13476a Update x86/APX: VROUND{P,S}{S,D} can generally be encoded
Append "#pass" to APX tests for targets which pad text sections with NOPs.

	* testsuite/gas/i386/x86-64-apx-evex-promoted-intel.d: Append
	"#pass".
	* testsuite/gas/i386/x86-64-apx-evex-promoted.d: Likewise.

(cherry picked from commit f530d5f1bab6eb5adc65f422ef811fb278a21a4b)
2024-01-19 06:45:35 -08:00
Jan Beulich
383775145a x86/APX: VROUND{P,S}{S,D} can generally be encoded
VRNDSCALE{P,S}{S,D} is the AVX512 generalization of these AVX insns. As
long as the immediate has the top 4 bits clear, they are equivalent to
the earlier VEX-encoded insns, and hence can be used to permit use of
eGPR-s in the memory operand. Since this is the normal way of using
these insns, also alter the resulting diagnostic to complain about the
immediate, not the eGPR use.
2024-01-19 13:25:56 +01:00
Jan Beulich
03e43c3ecd x86/APX: be consistent with insn suffixes
When there's a suitably disambiguating register operand, suffixes are
generally omitted (unless in suffix-always mode). All NDD insns have a
suitable register operand, so they shouldn't have suffixes by default.
2024-01-19 13:25:35 +01:00
Jan Beulich
eabdfeb103 x86: support APX forms of U{RD,WR}MSR
This was missed in 6177c84d5edc ("Support APX GPR32 with extend evex
prefix").
2024-01-19 13:25:14 +01:00
Nick Clifton
d7114f0407 Add multilib.am to the list of top level files included in any release created by the src-release.sh script 2024-01-19 11:45:44 +00:00
GDB Administrator
f40abebc5a Automatic date update in version.in 2024-01-19 00:02:36 +00:00
Xi Ruoyao
1939e195eb LoongArch: Adapt R_LARCH_{PCALA,GOT,TLS_IE,TLS_DESC}64_* handling per psABI v2.30
In LoongArch psABI v2.30, an offset (-8 for LO20 and -12 for HI12)
should be applied on PC for these reloc types to avoid wrong relocation
when the instruction sequence crosses a page boundary.

The lld linker has already adapted the change.  Make it for the bfd
linker too.

Link: https://github.com/loongson/la-abi-specs/releases/v2.30
Link: https://github.com/loongson-community/discussions/issues/17
Link: https://github.com/llvm/llvm-project/pull/73387
Signed-off-by: Xi Ruoyao <xry111@xry111.site>
2024-01-18 19:55:31 +08:00
Nick Clifton
90b87e7f5e Updated translations for various sub-directories 2024-01-18 11:22:36 +00:00
Alan Modra
8532b62c9b PR30824 internal error with -z pack-relative-relocs
This corrects a counting problem, where prior to relocate_section relr
encoded relative relocs were allowed when it was known they were on
even boundaries, but relocate_section can only put relative relocs
(non-relr) on eight byte boundaries.

	PR 30824
	* elf64-ppc.c (RELR_ALIGN): Define, use throughout.
	(maybe_relr): New function, use throughout.

(cherry picked from commit f91074ebd8dc8077c9c778a42360e77a636dce5e)
2024-01-18 09:43:14 +10:30
H.J. Lu
457273c666 Update x86-64: Add -z mark-plt and -z nomark-plt
Pass --hash-style=both to ld for -z mark-plt tests to support linker
configured with --enable-default-hash-style=gnu.

	* testsuite/ld-x86-64/mark-plt-1b-x32.d: Pass --hash-style=both
	to ld.
	* testsuite/ld-x86-64/mark-plt-1b.d: Likewise.
	* testsuite/ld-x86-64/mark-plt-1d-x32.d: Likewise.
	* testsuite/ld-x86-64/mark-plt-1d.d: Likewise.

(cherry picked from commit 16666ccc91295d1568c5c2cb0e7600694840dfd9)
2024-01-17 08:13:11 -08:00
Nick Clifton
68a77e09d7 Import gcc commit 65388b28656d65595bdaf191df85af81c35ca63 which adds support for explicit object member function mangling. 2024-01-17 12:08:31 +00:00
H.J. Lu
b7d511e37c x86-64: Skip SCFI tests for x32 targets
Since SCFI isn't supported on x32:

Fatal error: SCFI is not supported for this ABI

skip SCFI tests for x32 targets.

	PR gas/31245
	* testsuite/gas/scfi/x86_64/scfi-x86-64.exp: Skip for x32
	targets.

(cherry picked from commit 7bd344dd0e0469a93cbbf50f797155278cb76a0b)
2024-01-15 07:39:56 -08:00
Nick Clifton
af1ff6c0c9 fix typo 2024-01-15 15:14:03 +00:00
Nick Clifton
07c0a42ddf Update version number and regenerate configure files 2024-01-15 15:10:12 +00:00
Nick Clifton
299b91cd85 Add markers for 2.42 branch 2024-01-15 14:42:15 +00:00
Nick Clifton
422cbe7c17 Update branch/release creation documentation 2024-01-15 14:21:37 +00:00
Victor Do Nascimento
f1870e2fad aarch64: rcpc3: Regenerate aarch64-*-2.c files 2024-01-15 13:11:48 +00:00
Victor Do Nascimento
42fd649404 aarch64: rcpc3: Add FP load/store insns
Along with the relevant unit-tests, this adds the following rcpc3
instructions:

  STL1  { <Vt>.D }[<index>], [<Xn|SP>]
  LDAP1 { <Vt>.D }[<index>], [<Xn|SP>]

  LDAPUR <Bt>, [<Xn|SP>{, #<simm>}]
  LDAPUR <Ht>, [<Xn|SP>{, #<simm>}]
  LDAPUR <St>, [<Xn|SP>{, #<simm>}]
  LDAPUR <Dt>, [<Xn|SP>{, #<simm>}]
  LDAPUR <Qt>, [<Xn|SP>{, #<simm>}]

  STLUR <Bt>, [<Xn|SP>{, #<simm>}]
  STLUR <Ht>, [<Xn|SP>{, #<simm>}]
  STLUR <St>, [<Xn|SP>{, #<simm>}]
  STLUR <Dt>, [<Xn|SP>{, #<simm>}]
  STLUR <Qt>, [<Xn|SP>{, #<simm>}]

with `#<simm>' taking on a signed 8-bit integer value in the range
[-256,255] and `index' the values 0 or 1.

Co-authored-by: Srinath Parvathaneni <srinath.parvathaneni@arm.com>
2024-01-15 13:11:48 +00:00
Victor Do Nascimento
e771eaf8bb aarch64: rcpc3: Add integer load/store insns
Along with the relevant unit tests and updates to the existing
regression tests, this adds support for the following novel rcpc3
insns:

  LDIAPP <Wt1>, <Wt2>, [<Xn|SP>]
  LDIAPP <Wt1>, <Wt2>, [<Xn|SP>], #8
  LDIAPP <Xt1>, <Xt2>, [<Xn|SP>]
  LDIAPP <Xt1>, <Xt2>, [<Xn|SP>], #16

  STILP <Wt1>, <Wt2>, [<Xn|SP>]
  STILP <Wt1>, <Wt2>, [<Xn|SP>, #-8]!
  STILP <Xt1>, <Xt2>, [<Xn|SP>]
  STILP <Xt1>, <Xt2>, [<Xn|SP>, #-16]!

  LDAPR <Wt>, [<Xn|SP>], #4
  LDAPR <Xt>, [<Xn|SP>], #8

  STLR <Wt>, [<Xn|SP>, #-4]!
  STLR <Xt>, [<Xn|SP>, #-8]!
2024-01-15 13:11:48 +00:00
Victor Do Nascimento
b88fbd5213 aarch64: rcpc3: Define RCPC3_INSN macro
This patch adds the necessary macro for encoding FEAT_RCPC3-dependent
instructions in Binutils.
2024-01-15 13:11:48 +00:00
Victor Do Nascimento
5c77e72e01 aarch64: rcpc3: add support in general_constraint_met_p
Given the introduction of the new address operand types for rcpc3
instructions, this patch adds the necessary logic to teach
`general_constraint_met_p` how to proper handle these.
2024-01-15 13:11:48 +00:00
Victor Do Nascimento
51bb8593e6 aarch64: rcpc3: New RCPC3_ADDR operand types
The particular choices of address indexing, along with their encoding
for RCPC3 instructions lead to the requirement of a new set of operand
descriptions, along with the relevant inserter/extractor set.

That is, for the integer load/stores, there is only a single valid
indexing offset quantity and offset mode is allowed - The value is
always equivalent to the amount of data read/stored by the
operation and the offset is post-indexed for Load-Acquire RCpc, and
pre-indexed with writeback for Store-Release insns.

This indexing quantity/mode pair is selected by the setting of a
single bit in the instruction. To represent these insns, we add the
following operand types:

  - AARCH64_OPND_RCPC3_ADDR_OPT_POSTIND
  - AARCH64_OPND_RCPC3_ADDR_OPT_PREIND_WB

In the case of loads and stores involving SIMD/FP registers, the
optional offset is encoded as an 8-bit signed immediate, but neither
post-indexing or pre-indexing with writeback is available.  This
created the need for an operand type similar to
AARCH64_OPND_ADDR_OFFSET, with the difference that FLD_index should
not be checked.

We thus introduce the AARCH64_OPND_RCPC3_ADDR_OFFSET operand, a
variant of AARCH64_OPND_ADDR_OFFSET, w/o the FLD_index bitfield.
2024-01-15 13:11:48 +00:00