[llvm] [BOLT] Fix crash for relocs in data sections against ABS symbols (PR #76026)

Job Noorman via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 20 00:57:42 PST 2023


https://github.com/mtvec created https://github.com/llvm/llvm-project/pull/76026

Fixes #75771

>From 5dbe9c14be82dbdf068f3f365db0722b05656634 Mon Sep 17 00:00:00 2001
From: Job Noorman <jnoorman at igalia.com>
Date: Wed, 20 Dec 2023 09:54:09 +0100
Subject: [PATCH] [BOLT] Fix crash for relocs in data sections against ABS
 symbols

Fixes #75771
---
 bolt/lib/Rewrite/RewriteInstance.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/bolt/lib/Rewrite/RewriteInstance.cpp b/bolt/lib/Rewrite/RewriteInstance.cpp
index a95b1650753cfd..2776fb213d01fc 100644
--- a/bolt/lib/Rewrite/RewriteInstance.cpp
+++ b/bolt/lib/Rewrite/RewriteInstance.cpp
@@ -2526,7 +2526,7 @@ void RewriteInstance::handleRelocation(const SectionRef &RelocatedSection,
       Expected<StringRef> SectionName = Section->getName();
       if (SectionName && !SectionName->empty())
         ReferencedSection = BC->getUniqueSectionByName(*SectionName);
-    } else if (ReferencedSymbol &&
+    } else if (ReferencedSymbol && ContainingBF &&
                (cantFail(Symbol.getFlags()) & SymbolRef::SF_Absolute)) {
       // This might be a relocation for an ABS symbols like __global_pointer$ on
       // RISC-V



More information about the llvm-commits mailing list