diff --git a/lib/libc/secure/stack_protector.c b/lib/libc/secure/stack_protector.c index 7ddd6338ec55..909debecf26e 100644 --- a/lib/libc/secure/stack_protector.c +++ b/lib/libc/secure/stack_protector.c @@ -47,23 +47,15 @@ __FBSDID("$FreeBSD$"); * they're either not usually statically linked or they simply don't do things * in constructors that would be adversely affected by their positioning with * respect to this initialization. - * - * This conditional should be removed when GCC 4.2 is removed. */ -#if __has_attribute(__constructor__) || __GNUC_PREREQ__(4, 3) -#define _GUARD_SETUP_CTOR_ATTR \ +static void __guard_setup(void) __attribute__((__constructor__ (200), __used__)); -#else -#define _GUARD_SETUP_CTOR_ATTR \ - __attribute__((__constructor__, __used__)); -#endif extern long __stack_chk_guard[8]; extern int __sysctl(const int *name, u_int namelen, void *oldp, size_t *oldlenp, void *newp, size_t newlen); long __stack_chk_guard[8] = {0, 0, 0, 0, 0, 0, 0, 0}; -static void __guard_setup(void) _GUARD_SETUP_CTOR_ATTR; static void __fail(const char *) __dead2; void __stack_chk_fail(void) __dead2; void __chk_fail(void) __dead2;