fortify-headers

standalone fortify-source implementation
git clone git://git.2f30.org/fortify-headers
Log | Files | Refs | README | LICENSE

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:
Minclude/fortify-headers.h | 4+++-
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