[compiler-rt] [tsan][ppc64] Fix copy-paste bug in __sigsetjmp OPD TOC loading (PR #210589)

via llvm-commits llvm-commits at lists.llvm.org
Sun Jul 19 05:34:08 PDT 2026


https://github.com/c4x64 updated https://github.com/llvm/llvm-project/pull/210589

>From 2586a0f3ae0cf218d11bf33129c7d5faaccdcf06 Mon Sep 17 00:00:00 2001
From: pmr <prabhas at pmrs-MacBook.local>
Date: Sun, 19 Jul 2026 17:54:19 +0545
Subject: [PATCH] [tsan][ppc64] Fix copy-paste bug in __sigsetjmp OPD TOC
 loading

In __sigsetjmp's big-endian OPD path, the TOC was loaded from _setjmp's
OPD entry instead of __sigsetjmp's own entry, due to a copy-paste error.
This caused incorrect TOC pointer on big-endian PPC64 when __sigsetjmp
was intercepted.
---
 compiler-rt/lib/tsan/rtl/tsan_rtl_ppc64.S | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/compiler-rt/lib/tsan/rtl/tsan_rtl_ppc64.S b/compiler-rt/lib/tsan/rtl/tsan_rtl_ppc64.S
index 8285e21aa1ec7..661252b944e0d 100644
--- a/compiler-rt/lib/tsan/rtl/tsan_rtl_ppc64.S
+++ b/compiler-rt/lib/tsan/rtl/tsan_rtl_ppc64.S
@@ -180,8 +180,8 @@ __sigsetjmp:
         addis   r2,r2,.TOC.-1b at ha
         addi    r2,r2,.TOC.-1b at l
 #else
-        addis   r2,r2,_setjmp-1b at ha
-        addi    r2,r2,_setjmp-1b at l
+        addis   r2,r2,__sigsetjmp-1b at ha
+        addi    r2,r2,__sigsetjmp-1b at l
         ld      r2,8(r2)
 #endif
         // Call the interceptor.



More information about the llvm-commits mailing list