[libc-commits] [libc] [libc] temporaliy disable __USE_EXTERN_INLINES and set __USE_FORITFY_LEVEL to 1 before including in overlay mode (PR #113012)
Job Henandez Lara via libc-commits
libc-commits at lists.llvm.org
Fri Oct 18 18:45:58 PDT 2024
https://github.com/Jobhdez updated https://github.com/llvm/llvm-project/pull/113012
>From c06c029727d950d2b3b4c81b27dd87f8a6520601 Mon Sep 17 00:00:00 2001
From: Job Hernandez <jobhdezlara93 at gmail.com>
Date: Fri, 18 Oct 2024 18:07:37 -0700
Subject: [PATCH 1/2] disable use extern inlines and fortify level
---
libc/hdr/stdio_overlay.h | 21 +++++++++++++++++++++
libc/hdr/wchar_overlay.h | 21 +++++++++++++++++++++
2 files changed, 42 insertions(+)
diff --git a/libc/hdr/stdio_overlay.h b/libc/hdr/stdio_overlay.h
index cec55abfde7bf6..9b97fce45787ab 100644
--- a/libc/hdr/stdio_overlay.h
+++ b/libc/hdr/stdio_overlay.h
@@ -27,6 +27,17 @@
#undef _FORTIFY_SOURCE
#endif
+#ifdef __USE_EXTERN_INLINES
+#define LIBC_OLD_EXTERN_INLINES __USE_EXTERN_INLINES
+#undef __USE_EXTERN_INLINES
+#endif
+
+#ifdef __USE_FORTIFY_LEVEL
+#define LIBC_OLD_USE_FORTIFY_LEVEL __USE_FORTIFY_LEVEL
+#undef __USE_FORTIFY_LEVEL
+#define __USE_FORTIFY_LEVEL 0
+#endif
+
#ifndef __NO_INLINE__
#define __NO_INLINE__ 1
#define LIBC_SET_NO_INLINE
@@ -44,4 +55,14 @@
#undef LIBC_SET_NO_INLINE
#endif
+#ifdef LIBC_OLD_FORTIFY_LEVEL
+#define __USE_FORTIFY_LEVEL LIBC_OLD_USE_FORTIFY_LEVEL
+#undef LIBC_OLD_USE_FORTIFY_LEVEL
+#endif
+
+#ifdef LIBC_OLD_USE_EXTERN_INLINES
+#define __USE_EXTERN_INLINES LIBC_OLD_USE_EXTERN_INLINES
+#undef LIBC_OLD_USE_EXTERN_INLINES
+#endif
+
#endif // LLVM_LIBC_HDR_STDIO_OVERLAY_H
diff --git a/libc/hdr/wchar_overlay.h b/libc/hdr/wchar_overlay.h
index a1de9d5085d47b..22777fdf0c2805 100644
--- a/libc/hdr/wchar_overlay.h
+++ b/libc/hdr/wchar_overlay.h
@@ -32,6 +32,17 @@
#define LIBC_SET_NO_INLINE
#endif
+#ifdef __USE_EXTERN_INLINES
+#define LIBC_OLD_EXTERN_INLINES __USE_EXTERN_INLINES
+#undef __USE_EXTERN_INLINES
+#endif
+
+#ifdef __USE_FORTIFY_LEVEL
+#define LIBC_OLD_USE_FORTIFY_LEVEL __USE_FORTIFY_LEVEL
+#undef __USE_FORTIFY_LEVEL
+#define __USE_FORTIFY_LEVEL 0
+#endif
+
#include <wchar.h>
#ifdef LIBC_OLD_FORTIFY_SOURCE
@@ -44,4 +55,14 @@
#undef LIBC_SET_NO_INLINE
#endif
+#ifdef LIBC_OLD_FORTIFY_LEVEL
+#define __USE_FORTIFY_LEVEL LIBC_OLD_USE_FORTIFY_LEVEL
+#undef LIBC_OLD_USE_FORTIFY_LEVEL
+#endif
+
+#ifdef LIBC_OLD_USE_EXTERN_INLINES
+#define __USE_EXTERN_INLINES LIBC_OLD_USE_EXTERN_INLINES
+#undef LIBC_OLD_USE_EXTERN_INLINES
+#endif
+
#endif // LLVM_LIBC_HDR_WCHAR_OVERLAY_H
>From e2d42841909d26dc2b50710489c14a1e2ef9d8f3 Mon Sep 17 00:00:00 2001
From: Job Hernandez <jobhdezlara93 at gmail.com>
Date: Fri, 18 Oct 2024 18:45:42 -0700
Subject: [PATCH 2/2] address review
---
libc/hdr/stdio_overlay.h | 5 +++--
libc/hdr/wchar_overlay.h | 5 +++--
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/libc/hdr/stdio_overlay.h b/libc/hdr/stdio_overlay.h
index 9b97fce45787ab..b411e751854e11 100644
--- a/libc/hdr/stdio_overlay.h
+++ b/libc/hdr/stdio_overlay.h
@@ -28,7 +28,7 @@
#endif
#ifdef __USE_EXTERN_INLINES
-#define LIBC_OLD_EXTERN_INLINES __USE_EXTERN_INLINES
+#define LIBC_OLD_EXTERN_INLINES
#undef __USE_EXTERN_INLINES
#endif
@@ -56,12 +56,13 @@
#endif
#ifdef LIBC_OLD_FORTIFY_LEVEL
+#undef __USE_FORTIFY_LEVEL
#define __USE_FORTIFY_LEVEL LIBC_OLD_USE_FORTIFY_LEVEL
#undef LIBC_OLD_USE_FORTIFY_LEVEL
#endif
#ifdef LIBC_OLD_USE_EXTERN_INLINES
-#define __USE_EXTERN_INLINES LIBC_OLD_USE_EXTERN_INLINES
+#define __USE_EXTERN_INLINES
#undef LIBC_OLD_USE_EXTERN_INLINES
#endif
diff --git a/libc/hdr/wchar_overlay.h b/libc/hdr/wchar_overlay.h
index 22777fdf0c2805..4efe980acff7ac 100644
--- a/libc/hdr/wchar_overlay.h
+++ b/libc/hdr/wchar_overlay.h
@@ -33,7 +33,7 @@
#endif
#ifdef __USE_EXTERN_INLINES
-#define LIBC_OLD_EXTERN_INLINES __USE_EXTERN_INLINES
+#define LIBC_OLD_EXTERN_INLINES
#undef __USE_EXTERN_INLINES
#endif
@@ -56,12 +56,13 @@
#endif
#ifdef LIBC_OLD_FORTIFY_LEVEL
+#undef __USE_FORTIFY_LEVEL
#define __USE_FORTIFY_LEVEL LIBC_OLD_USE_FORTIFY_LEVEL
#undef LIBC_OLD_USE_FORTIFY_LEVEL
#endif
#ifdef LIBC_OLD_USE_EXTERN_INLINES
-#define __USE_EXTERN_INLINES LIBC_OLD_USE_EXTERN_INLINES
+#define __USE_EXTERN_INLINES
#undef LIBC_OLD_USE_EXTERN_INLINES
#endif
More information about the libc-commits
mailing list