summaryrefslogtreecommitdiffstats
path: root/main/fortify-headers/0001-Fix-usage-of-__USER_LABEL_PREFIX__.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/fortify-headers/0001-Fix-usage-of-__USER_LABEL_PREFIX__.patch')
-rw-r--r--main/fortify-headers/0001-Fix-usage-of-__USER_LABEL_PREFIX__.patch29
1 files changed, 29 insertions, 0 deletions
diff --git a/main/fortify-headers/0001-Fix-usage-of-__USER_LABEL_PREFIX__.patch b/main/fortify-headers/0001-Fix-usage-of-__USER_LABEL_PREFIX__.patch
new file mode 100644
index 000000000..1c9eed5b2
--- /dev/null
+++ b/main/fortify-headers/0001-Fix-usage-of-__USER_LABEL_PREFIX__.patch
@@ -0,0 +1,29 @@
+From a9ee1d2743acb0b2903db87c0a241c0a569cfc4e Mon Sep 17 00:00:00 2001
+From: Trutz Behn <me@trutz.be>
+Date: Tue, 2 Jun 2015 21:33:39 +0200
+Subject: [PATCH 1/3] Fix usage of __USER_LABEL_PREFIX__
+
+The predefined __USER_LABEL_PREFIX__ macro if it is non-empty contains
+an identifier, not a string literal, thus it needs to be stringified.
+---
+ include/fortify-headers.h | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/include/fortify-headers.h b/include/fortify-headers.h
+index 72b99ec..fcb862d 100644
+--- a/include/fortify-headers.h
++++ b/include/fortify-headers.h
+@@ -16,7 +16,9 @@
+ #ifndef _FORTIFY_HEADERS_H
+ #define _FORTIFY_HEADERS_H
+
+-#define fortify_fn(fn) __typeof__(fn) __orig_##fn __asm__(__USER_LABEL_PREFIX__ #fn); \
++#define _FORTIFY_STR(s) #s
++#define _FORTIFY_ORIG(p,fn) __typeof__(fn) __orig_##fn __asm__(_FORTIFY_STR(p) #fn)
++#define fortify_fn(fn) _FORTIFY_ORIG(__USER_LABEL_PREFIX__,fn); \
+ extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__))
+
+ #endif
+--
+2.4.2
+