commit a9ee1d2743acb0b2903db87c0a241c0a569cfc4e
parent ec970ecb88df2bdaa200990ed1ca1e3194471c84
Author: Trutz Behn <me@trutz.be>
Date: Tue, 2 Jun 2015 21:33:39 +0200
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.
Diffstat:
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git 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