diff options
author | Venkataramanan Kumar <venkataramanan.kumar@linaro.org> | 2014-01-01 17:47:14 +0000 |
---|---|---|
committer | Marcus Shawcroft <marcus.shawcroft@linaro.org> | 2014-01-01 17:58:46 +0000 |
commit | 9188b6818a3d1a6e6d89bf10fa4aea27a591494c (patch) | |
tree | a39527a08f172d51a8e69fce1b969b0dcf5589a4 /ports/sysdeps/aarch64/jmpbuf-offsets.h | |
parent | b06ece6aec66e5ea973bc3c7f835ff3258dd4bb5 (diff) | |
download | glibc-9188b6818a3d1a6e6d89bf10fa4aea27a591494c.tar.gz glibc-9188b6818a3d1a6e6d89bf10fa4aea27a591494c.tar.xz glibc-9188b6818a3d1a6e6d89bf10fa4aea27a591494c.zip |
[AArch64] Pointer mangling support for AArch64.
Diffstat (limited to 'ports/sysdeps/aarch64/jmpbuf-offsets.h')
-rw-r--r-- | ports/sysdeps/aarch64/jmpbuf-offsets.h | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/ports/sysdeps/aarch64/jmpbuf-offsets.h b/ports/sysdeps/aarch64/jmpbuf-offsets.h index 84c2cccaf4..bcf2afa555 100644 --- a/ports/sysdeps/aarch64/jmpbuf-offsets.h +++ b/ports/sysdeps/aarch64/jmpbuf-offsets.h @@ -39,6 +39,22 @@ #define JB_D14 20 #define JB_D15 21 +#ifndef __ASSEMBLER__ +#include <setjmp.h> +#include <stdint.h> +#include <sysdep.h> + +static inline uintptr_t __attribute__ ((unused)) +_jmpbuf_sp (__jmp_buf jmpbuf) +{ + uintptr_t sp = jmpbuf[JB_SP]; +#ifdef PTR_DEMANGLE + PTR_DEMANGLE (sp); +#endif + return sp; +} +#endif + /* Helper for generic ____longjmp_chk(). */ #define JB_FRAME_ADDRESS(buf) \ - ((void *) (buf[JB_SP])) + ((void *) _jmpbuf_sp (buf)) |