diff options
Diffstat (limited to 'sysdeps/s390')
-rw-r--r-- | sysdeps/s390/s390-32/stackguard-macros.h | 4 | ||||
-rw-r--r-- | sysdeps/s390/s390-64/stackguard-macros.h | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/sysdeps/s390/s390-32/stackguard-macros.h b/sysdeps/s390/s390-32/stackguard-macros.h new file mode 100644 index 0000000..b74c579 --- /dev/null +++ b/sysdeps/s390/s390-32/stackguard-macros.h @@ -0,0 +1,4 @@ +#include <stdint.h> + +#define STACK_CHK_GUARD \ + ({ uintptr_t x; asm ("ear %0,%%a0; l %0,0x14(%0)" : "=a" (x)); x; }) diff --git a/sysdeps/s390/s390-64/stackguard-macros.h b/sysdeps/s390/s390-64/stackguard-macros.h new file mode 100644 index 0000000..0cebb5f --- /dev/null +++ b/sysdeps/s390/s390-64/stackguard-macros.h @@ -0,0 +1,4 @@ +#include <stdint.h> + +#define STACK_CHK_GUARD \ + ({ uintptr_t x; asm ("ear %0,%%a0; sllg %0,%0,32; ear %0,%%a1; lg %0,0x28(%0)" : "=a" (x)); x; }) |