[libc-commits] [libc] [libc] restored original no_stack_protector syntax (PR #94005)

via libc-commits libc-commits at lists.llvm.org
Fri May 31 11:36:14 PDT 2024


https://github.com/RoseZhang03 created https://github.com/llvm/llvm-project/pull/94005

forward fix for #93620

-GCC doesn't recognize [[clang:: ']] prefix, so restored the original
__attribute__ syntax

>From 56fd3a723776505462400138b537d0e6baa76147 Mon Sep 17 00:00:00 2001
From: Rose Zhang <rosezhang at google.com>
Date: Fri, 31 May 2024 18:32:51 +0000
Subject: [PATCH] restored original no_stack_protector  syntax

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 ee904155c537d..4a1d56a172a1a 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<long>(SYS_exit_group, status);



More information about the libc-commits mailing list