[libc-commits] [libc] 12101ca - [libc] set -Wno-frame-address for thread.cpp (#77140)

via libc-commits libc-commits at lists.llvm.org
Mon Jan 8 08:51:49 PST 2024


Author: Nick Desaulniers
Date: 2024-01-08T08:51:44-08:00
New Revision: 12101ca8e322c4cbf40e44b5b1fbf7ea76aff581

URL: https://github.com/llvm/llvm-project/commit/12101ca8e322c4cbf40e44b5b1fbf7ea76aff581
DIFF: https://github.com/llvm/llvm-project/commit/12101ca8e322c4cbf40e44b5b1fbf7ea76aff581.diff

LOG: [libc] set -Wno-frame-address for thread.cpp (#77140)

The aarch64 code is using __builtin_return_address with a non-zero
parameter,
which generates the following warning:

llvm-project/libc/src/__support/threads/linux/thread.cpp:171:38: error:
calling '__builtin_frame_address' with a nonzero argument is unsafe
        [-Werror,-Wframe-address]
171 | return reinterpret_cast<uintptr_t>(__builtin_frame_address(1));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
    
Disable this diagnostic just for this file so that we can enable
-Werror.
    
Fixes: #77007

Added: 
    

Modified: 
    libc/src/__support/threads/linux/CMakeLists.txt

Removed: 
    


################################################################################
diff  --git a/libc/src/__support/threads/linux/CMakeLists.txt b/libc/src/__support/threads/linux/CMakeLists.txt
index 642eead7277262..148a0ba061c577 100644
--- a/libc/src/__support/threads/linux/CMakeLists.txt
+++ b/libc/src/__support/threads/linux/CMakeLists.txt
@@ -39,6 +39,8 @@ add_object_library(
     -O3
     -fno-omit-frame-pointer # This allows us to sniff out the thread args from
                             # the new thread's stack reliably.
+    -Wno-frame-address      # Yes, calling __builtin_return_address with a
+                            # value other than 0 is dangerous. We know.
 )
 
 add_object_library(


        


More information about the libc-commits mailing list