From a9ee1d2743acb0b2903db87c0a241c0a569cfc4e Mon Sep 17 00:00:00 2001 From: Trutz Behn 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