From 435e5c10b0ea6cf2a9674760ef2f4977412386eb Mon Sep 17 00:00:00 2001 From: RoseZhang03 Date: Fri, 31 May 2024 18:36:46 +0000 Subject: [PATCH] [libc] restored original no_stack_protector syntax (#94005) forward fix for #93620 -GCC doesn't recognize [[clang:: ']] prefix, so restored the original __attribute__ syntax --- libc/src/__support/OSUtil/linux/exit.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libc/src/__support/OSUtil/linux/exit.cpp b/libc/src/__support/OSUtil/linux/exit.cpp index ee904155c537..4a1d56a172a1 100644 --- a/libc/src/__support/OSUtil/linux/exit.cpp +++ b/libc/src/__support/OSUtil/linux/exit.cpp @@ -15,9 +15,9 @@ namespace LIBC_NAMESPACE::internal { // mark as no_stack_protector for x86 since TLS can be torn down before calling // exit so that the stack protector canary cannot be loaded. #ifdef LIBC_TARGET_ARCH_IS_X86 -[[clang::no_stack_protector]] +__attribute__((no_stack_protector)) #endif -[[noreturn]] void +__attribute__((noreturn)) void exit(int status) { for (;;) { LIBC_NAMESPACE::syscall_impl(SYS_exit_group, status);