public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/llvm] f45: Update to 23.1.2
@ 2026-09-23  9:06 
  0 siblings, 0 replies; only message in thread
From:  @ 2026-09-23  9:06 UTC (permalink / raw)
  To: git-commits

A new commit has been pushed.

Repo   : rpms/llvm
Branch : f45
Commit : d6322b0d335d5eff5b4a178064e0a0b739b4bf51
Author : Timm Bäder <tbaeder@redhat.com>
Date   : 2026-09-22T15:49:31+02:00
Stats  : +99/-5 in 3 file(s)
URL    : https://src.fedoraproject.org/rpms/llvm/c/d6322b0d335d5eff5b4a178064e0a0b739b4bf51?branch=f45

Log:
Update to 23.1.2

---
diff --git a/224946.patch b/224946.patch
new file mode 100644
index 0000000..72d24cc
--- /dev/null
+++ b/224946.patch
@@ -0,0 +1,93 @@
+From 016aefac95b77405ba74c37d2fd78a8a272f5854 Mon Sep 17 00:00:00 2001
+From: Arthur Eubanks <aeubanks@google.com>
+Date: Mon, 27 Jul 2026 10:39:23 -0700
+Subject: [PATCH] [lld] Don't drop RELR relocations for late-added GOT entries
+ (#211911)
+
+In #208959 we started dropping RELR relocations for late-added GOT
+entries when reverting x86-64 GOTPCRELX relaxations in
+X86_64::relaxOnce.
+
+There is a separate unrelaxation bug where if the object files didn't
+have any relocations of a certain type, we'd prune .relr.dyn (or even
+.rela.dyn). Will be addressed separately.
+
+Assisted-by: Gemini
+(cherry picked from commit 5565740f2367093b89481ba7371adf820971977d)
+---
+ lld/ELF/Relocations.cpp                       |  4 +--
+ lld/ELF/SyntheticSections.h                   |  8 ++++--
+ .../ELF/x86-64-gotpc-relax-too-far-relr.s     | 26 +++++++++++++++++++
+ 3 files changed, 34 insertions(+), 4 deletions(-)
+ create mode 100644 lld/test/ELF/x86-64-gotpc-relax-too-far-relr.s
+
+diff --git a/lld/ELF/Relocations.cpp b/lld/ELF/Relocations.cpp
+index 4702d941d28ca..a1d3c5c2ea005 100644
+--- a/lld/ELF/Relocations.cpp
++++ b/lld/ELF/Relocations.cpp
+@@ -724,8 +724,8 @@ static void addRelativeReloc(Ctx &ctx, InputSectionBase &isec,
+   if (sym.isTagged())
+     relrDyn = nullptr;
+   if (relrDyn && isec.addralign >= 2 && offsetInSec % 2 == 0) {
+-    relrDyn->addRelativeReloc(isec, offsetInSec, sym, addend, type, expr,
+-                              shard);
++    relrDyn->addRelativeReloc<concurrent>(isec, offsetInSec, sym, addend, type,
++                                          expr, shard);
+     return;
+   }
+   RelType relativeType = ctx.target->relativeRel;
+diff --git a/lld/ELF/SyntheticSections.h b/lld/ELF/SyntheticSections.h
+index 523f6587899fe..1079275439bc7 100644
+--- a/lld/ELF/SyntheticSections.h
++++ b/lld/ELF/SyntheticSections.h
+@@ -609,12 +609,16 @@ class RelrBaseSection : public SyntheticSection {
+   RelrBaseSection(Ctx &, unsigned concurrency, bool isAArch64Auth = false);
+   /// Add a relative dynamic relocation that uses the target address of \p sym
+   /// (i.e. InputSection::getRelocTargetVA()) + \p addend as the addend.
++  template <bool concurrent = false>
+   void addRelativeReloc(InputSectionBase &isec, uint64_t offsetInSec,
+                         Symbol &sym, int64_t addend, RelType addendRelType,
+-                        RelExpr expr, unsigned shard) {
++                        RelExpr expr, unsigned shard = 0) {
+     assert(expr != R_ADDEND && "expected non-addend relocation expression");
+     isec.addReloc({expr, addendRelType, offsetInSec, addend, &sym});
+-    relocsVec[shard].push_back({&isec, isec.relocs().size() - 1});
++    if constexpr (concurrent)
++      relocsVec[shard].push_back({&isec, isec.relocs().size() - 1});
++    else
++      relocs.push_back({&isec, isec.relocs().size() - 1});
+   }
+   bool isNeeded() const override {
+     return !relocs.empty() ||
+diff --git a/lld/test/ELF/x86-64-gotpc-relax-too-far-relr.s b/lld/test/ELF/x86-64-gotpc-relax-too-far-relr.s
+new file mode 100644
+index 0000000000000..6c5e5f4368a41
+--- /dev/null
++++ b/lld/test/ELF/x86-64-gotpc-relax-too-far-relr.s
+@@ -0,0 +1,26 @@
++# REQUIRES: x86
++## Test that RELR relocations added when unrelaxing GOTPCREL relocations
++## during layout optimization (relaxOnce) are included in .relr.dyn.
++## .quad foo ensures .relr.dyn is not removed before unrelaxing.
++
++# RUN: llvm-mc -filetype=obj -triple=x86_64 %s -o %t.o
++# RUN: ld.lld -pie --pack-dyn-relocs=relr --section-start=.text=0x10000 --section-start=.got=0x20000 --section-start=.data=0x100000000 %t.o -o %t
++# RUN: llvm-readobj -r %t | FileCheck %s
++
++# CHECK:      Relocations [
++# CHECK-NEXT:   Section ({{.*}}) .relr.dyn {
++# CHECK-NEXT:     0x20000 R_X86_64_RELATIVE -
++# CHECK-NEXT:     0x100000000 R_X86_64_RELATIVE -
++# CHECK-NEXT:   }
++# CHECK-NEXT: ]
++
++.text
++.globl _start
++_start:
++  movq foo@GOTPCREL(%rip), %rax
++
++.section .data,"aw",@progbits
++.align 8
++.globl foo
++foo:
++  .quad foo

diff --git a/llvm.spec b/llvm.spec
index 8b7e180..8f51840 100644
--- a/llvm.spec
+++ b/llvm.spec
@@ -2,7 +2,7 @@
 #region version
 %global maj_ver 23
 %global min_ver 1
-%global patch_ver 1
+%global patch_ver 2
 #global rc_ver rc3
 
 %bcond_with snapshot_build
@@ -585,6 +585,7 @@ Patch2103: 0001-lld-Adjust-compressed-debug-level-test-for-s390x-wit.patch
 Patch2214: 0001-ELF-Simplify-AArch64-relocateAlloc.-NFC.patch
 Patch2215: 0001-LLD-AArch64-Make-adrp-ldr-relaxation-per-symbol-all-.patch
 Patch2216: 0001-lld-ELF-Concatenate-.gnu.build.attributes.-sections-.patch
+Patch2304: 224946.patch
 #endregion LLD patches
 
 #region polly patches

diff --git a/sources b/sources
index 53b0373..3b9e9bc 100644
--- a/sources
+++ b/sources
@@ -1,4 +1,4 @@
-SHA512 (llvm_man_pages-23.1.1.tar.xz.sig) = d88df6ddcb02cbbc665b837dc58463442a7c23ac431c70131ca88611ad59a1dbe613e9266007a8f561bcdc12f815344a120b0dcdc08f650c73d2f0cdbbb562a3
-SHA512 (llvm_man_pages-23.1.1.tar.xz) = 28430e31b1356875eb3a1215b6214c5611aff5c8e79c9278ca8fc8af715381b649d7d729e2b937a4d795b7695ce51b196661ab73a46dd551c53df2b64a3ad160
-SHA512 (llvm-project-23.1.1.src.tar.xz.sig) = d2e1101f6f3569cc82630e94d9021aaa47e32636d5b0b7fe90c01a56523e3d772835ad7c2a6f2c1a199ed1624a6f12429b43865d6f41405b73b275483effe581
-SHA512 (llvm-project-23.1.1.src.tar.xz) = e51c45f01e95272771bfee8382b213a2e21d3c62e273ff58967cfe40b87f45d2b37a4797b8b83fab025ed7a0ad32adef48406ade2d049da3d7f1799b30edea39
+SHA512 (llvm-project-23.1.2.src.tar.xz) = 91174e69ea787034f8a6b17120aae5f139204e13292119d1b066b4930dcea586c76b82228d3db281d8d4211384c7cb74c6b61fdef41b39d310908a8c7cf080cc
+SHA512 (llvm-project-23.1.2.src.tar.xz.sig) = fe76751211cfb1a56935f0e6fd9536309eb02111acb3f32f4badf7e45e6f0283125cf2ece00baa420afc488667c7e1fbb06f0567aa33ff9459f41281cb25e10c
+SHA512 (llvm_man_pages-23.1.2.tar.xz) = 82998efa7899eafedf69d7dfbeaf3a16dbd5ebac8977cc10a96c7bd66691720d55e7d2237f8b7bb5921a935a372400f1d9da2e7fa5519294b5f54d72afcd1eef
+SHA512 (llvm_man_pages-23.1.2.tar.xz.sig) = 9c3fd8e468f28f5314cc243209c94e1e37e57f5041669295ee0667fd47ddcd2e80c86f7c0b8247255afb083e1878417ca072e1b0badc1ffad759e558aced7f29

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-09-23  9:06 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-23  9:06 [rpms/llvm] f45: Update to 23.1.2 

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox