[compiler-rt] 815b9f5 - [hwasan] Replace _Unwind_Word with uintptr_t

Fangrui Song via llvm-commits llvm-commits at lists.llvm.org
Sat Nov 6 22:34:56 PDT 2021


Author: Fangrui Song
Date: 2021-11-06T22:34:50-07:00
New Revision: 815b9f53d85e32e13bf318be24e7ece0617ff85d

URL: https://github.com/llvm/llvm-project/commit/815b9f53d85e32e13bf318be24e7ece0617ff85d
DIFF: https://github.com/llvm/llvm-project/commit/815b9f53d85e32e13bf318be24e7ece0617ff85d.diff

LOG: [hwasan] Replace _Unwind_Word with uintptr_t

GCC introduced `__attribute__((mode(unwind_word)))` to work around
Cell Broadband Engine SPU (which was removed from GCC in 2019-09),
which is irrelevant to hwasan.
_Unwind_GetGR/_Unwind_GetCFA from llvm-project/libunwind don't use unwind_word.

Using _Unwind_Word can lead to build failures if libunwind's unwind.h is
preferred over unwind.h in the Clang resource directory (e.g. built with GCC).

Added: 
    

Modified: 
    compiler-rt/lib/hwasan/hwasan_exceptions.cpp

Removed: 
    


################################################################################
diff  --git a/compiler-rt/lib/hwasan/hwasan_exceptions.cpp b/compiler-rt/lib/hwasan/hwasan_exceptions.cpp
index 169e7876cb58a..6ed1da3354280 100644
--- a/compiler-rt/lib/hwasan/hwasan_exceptions.cpp
+++ b/compiler-rt/lib/hwasan/hwasan_exceptions.cpp
@@ -29,8 +29,8 @@ typedef _Unwind_Reason_Code PersonalityFn(int version, _Unwind_Action actions,
 // is statically linked and the sanitizer runtime and the program are linked
 // against 
diff erent unwinders. The _Unwind_Context data structure is opaque so
 // it may be incompatible between unwinders.
-typedef _Unwind_Word GetGRFn(_Unwind_Context* context, int index);
-typedef _Unwind_Word GetCFAFn(_Unwind_Context* context);
+typedef uintptr_t GetGRFn(_Unwind_Context* context, int index);
+typedef uintptr_t GetCFAFn(_Unwind_Context* context);
 
 extern "C" SANITIZER_INTERFACE_ATTRIBUTE _Unwind_Reason_Code
 __hwasan_personality_wrapper(int version, _Unwind_Action actions,


        


More information about the llvm-commits mailing list