[binutils-gdb/binutils-2_42-branch] [PATCH v2] gas/NEWS, ld/NEWS: Announce LoongArch changes in 2.42

Nick Clifton nickc@sourceware.org
Tue Jan 23 15:59:36 GMT 2024


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=e92613559c0b9f934220d43f520d976421b24c61

commit e92613559c0b9f934220d43f520d976421b24c61
Author: Xi Ruoyao <xry111@xry111.site>
Date:   Tue Jan 23 15:59:12 2024 +0000

    [PATCH v2] gas/NEWS, ld/NEWS: Announce LoongArch changes in 2.42

Diff:
---
 gas/NEWS | 27 +++++++++++++++++++++++++++
 ld/NEWS  | 11 +++++++++++
 2 files changed, 38 insertions(+)

diff --git a/gas/NEWS b/gas/NEWS
index cf4e8ff7c95..d717a430127 100644
--- a/gas/NEWS
+++ b/gas/NEWS
@@ -66,6 +66,33 @@ Changes in 2.42:
 * The BPF assembler now allows using both hash (#) and double slash (//) to
   begin line comments.
 
+* Add support for LoongArch v1.10 new instructions: estimated reciprocal
+  instructions, sub-word atomic instructions, atomic CAS instructions,
+  16-byte store-conditional instruction, load-linked instructions with
+  acquire semantics, and store-conditional instructions with release
+  semantics.
+
+* The %call36 relocation operator, along with the pseudo-instructions
+  call36 and tail36, are now usable with the LoongArch "medium" code
+  model, allowing text sections up to 128 GiB.
+
+* TLS descriptors (TLSDESC) are now supported on LoongArch. This includes
+  the following new relocation operators: %desc_pc_hi20, %desc_pc_lo12,
+  %desc_ld, and %desc_call, and the la.tls.desc pseudo-instruction.
+
+* TLS LE relaxation is now supported on LoongArch. New relocation
+  operators %le_hi20_r, %le_lo12r, and %le_add_r are now available.
+
+* Add support for LoongArch branch relaxation: a conditional branch with
+  destination out of its immediate operand range, but still within
+  a "b"'s range, is now assembled as an inverted branch and a "b". This
+  works around the unreliable branch offset estimation of the compiler
+  when .align directive is encoded into a long NOP sequence with an
+  R_LARCH_RELAX by the assembler.
+
+* Symbol or label names in LoongArch assembly can now be spelled with
+  double-quotes.
+
 Changes in 2.41:
 
 * Add support for the KVX instruction set.
diff --git a/ld/NEWS b/ld/NEWS
index c3ebe320e5e..a5a5b9faee2 100644
--- a/ld/NEWS
+++ b/ld/NEWS
@@ -29,6 +29,17 @@ Changes in 2.42:
   --enable-error-rwx-segments=[yes|no] configure options to set the default for
   converting warnings into errors.
 
+* On LoongArch, various linker relaxation bugs are fixed; the most notable
+  of which is BZ 30944 (incorrect .balign semantics).
+
+* On LoongArch, the LoongArch ABI v2.30 (LoongArch ELF psABI v20231219) is
+  now implemented. This includes new relocation types, and changed
+  semantics for PC-relative relocations handling the higher half of 64-bit
+  offsets.
+
+* On LoongArch, link-time TLS optimization and TLS relaxation are now
+  supported.
+
 Changes in 2.41:
 
 * The linker now accepts a command line option of --remap-inputs


More information about the Binutils-cvs mailing list