diff options
Diffstat (limited to 'gcc/config/i386/cetintrin.h')
-rw-r--r-- | gcc/config/i386/cetintrin.h | 31 |
1 files changed, 13 insertions, 18 deletions
diff --git a/gcc/config/i386/cetintrin.h b/gcc/config/i386/cetintrin.h index 7a4b4d8bf24..e9abcf3c580 100644 --- a/gcc/config/i386/cetintrin.h +++ b/gcc/config/i386/cetintrin.h @@ -34,37 +34,32 @@ #define __DISABLE_SHSTK__ #endif /* __SHSTK__ */ -extern __inline unsigned int -__attribute__((__gnu_inline__, __always_inline__, __artificial__)) -_rdsspd (unsigned int __B) -{ - return __builtin_ia32_rdsspd (__B); -} - #ifdef __x86_64__ extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) -_rdsspq (unsigned long long __B) +_get_ssp (void) { - return __builtin_ia32_rdsspq (__B); + return __builtin_ia32_rdsspq (); } -#endif - -extern __inline void +#else +extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) -_incsspd (unsigned int __B) +_get_ssp (void) { - __builtin_ia32_incsspd (__B); + return __builtin_ia32_rdsspd (); } +#endif -#ifdef __x86_64__ extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) -_incsspq (unsigned long long __B) +_inc_ssp (unsigned int __B) { - __builtin_ia32_incsspq (__B); -} +#ifdef __x86_64__ + __builtin_ia32_incsspq ((unsigned long long) __B); +#else + __builtin_ia32_incsspd (__B); #endif +} extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) |