[compiler-rt] [asan] Revert global check for non-AIX (PR #149245)

Jake Egan via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 17 11:53:33 PDT 2025


https://github.com/jakeegan updated https://github.com/llvm/llvm-project/pull/149245

>From 205441ba422abf722937a60da4a592db6e4956ce Mon Sep 17 00:00:00 2001
From: Jake Egan <jake.egan at ibm.com>
Date: Wed, 16 Jul 2025 23:52:16 -0400
Subject: [PATCH 1/3] revert

---
 compiler-rt/lib/asan/asan_descriptions.cpp | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/compiler-rt/lib/asan/asan_descriptions.cpp b/compiler-rt/lib/asan/asan_descriptions.cpp
index 0c30959b23e28..387c5692991fb 100644
--- a/compiler-rt/lib/asan/asan_descriptions.cpp
+++ b/compiler-rt/lib/asan/asan_descriptions.cpp
@@ -449,10 +449,12 @@ AddressDescription::AddressDescription(uptr addr, uptr access_size,
   // are put to the STACK region for unknown reasons. Check global first can
   // workaround this issue.
   // TODO: Look into whether there's a different solution to this problem.
+#if SANITIZER_AIX
   if (GetGlobalAddressInformation(addr, access_size, &data.global)) {
     data.kind = kAddressKindGlobal;
     return;
   }
+#endif
 
   if (GetHeapAddressInformation(addr, access_size, &data.heap)) {
     data.kind = kAddressKindHeap;
@@ -471,6 +473,13 @@ AddressDescription::AddressDescription(uptr addr, uptr access_size,
     return;
   }
 
+#if !SANITIZER_AIX
+  if (GetGlobalAddressInformation(addr, access_size, &data.global)) {
+     data.kind = kAddressKindGlobal;
+     return;
+  }
+#endif
+
   data.kind = kAddressKindWild;
   data.wild.addr = addr;
   data.wild.access_size = access_size;

>From 998ec16e6de9cb666c09e2a84db8ada98838dd03 Mon Sep 17 00:00:00 2001
From: Jake Egan <jake.egan at ibm.com>
Date: Thu, 17 Jul 2025 00:13:57 -0400
Subject: [PATCH 2/3] Fix formatting

---
 compiler-rt/lib/asan/asan_descriptions.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/compiler-rt/lib/asan/asan_descriptions.cpp b/compiler-rt/lib/asan/asan_descriptions.cpp
index 387c5692991fb..3d5cc28fab1ee 100644
--- a/compiler-rt/lib/asan/asan_descriptions.cpp
+++ b/compiler-rt/lib/asan/asan_descriptions.cpp
@@ -475,8 +475,8 @@ AddressDescription::AddressDescription(uptr addr, uptr access_size,
 
 #if !SANITIZER_AIX
   if (GetGlobalAddressInformation(addr, access_size, &data.global)) {
-     data.kind = kAddressKindGlobal;
-     return;
+    data.kind = kAddressKindGlobal;
+    return;
   }
 #endif
 

>From 505360a09a87b193ec8ff38e1f84b82862539479 Mon Sep 17 00:00:00 2001
From: Jake Egan <jake.egan at ibm.com>
Date: Thu, 17 Jul 2025 14:53:16 -0400
Subject: [PATCH 3/3] Add comment

---
 compiler-rt/lib/asan/asan_descriptions.cpp | 1 +
 1 file changed, 1 insertion(+)

diff --git a/compiler-rt/lib/asan/asan_descriptions.cpp b/compiler-rt/lib/asan/asan_descriptions.cpp
index 3d5cc28fab1ee..18c2a6c571c1f 100644
--- a/compiler-rt/lib/asan/asan_descriptions.cpp
+++ b/compiler-rt/lib/asan/asan_descriptions.cpp
@@ -473,6 +473,7 @@ AddressDescription::AddressDescription(uptr addr, uptr access_size,
     return;
   }
 
+// GetGlobalAddressInformation is called earlier on AIX due to a workaround
 #if !SANITIZER_AIX
   if (GetGlobalAddressInformation(addr, access_size, &data.global)) {
     data.kind = kAddressKindGlobal;



More information about the llvm-commits mailing list