[PATCH 1/5] asm-common-amd64: add missing CFI directives for large memory model code
Jussi Kivilinna <[email protected]>
| Newsgroups | gmane.comp.encryption.gpg.libgcrypt.devel |
|---|---|
| Message-ID | <[email protected]> |
* cipher/asm-common-amd64.h [__code_model_large__] (GET_EXTERN_POINTER): Add CFI_PUSH/CFI_POP directives. -- Signed-off-by: Jussi Kivilinna <[email protected]> --- cipher/asm-common-amd64.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cipher/asm-common-amd64.h b/cipher/asm-common-amd64.h index 870fef9a..3fa065e8 100644 --- a/cipher/asm-common-amd64.h +++ b/cipher/asm-common-amd64.h @@ -59,14 +59,18 @@ # ifdef __code_model_large__ # define GET_EXTERN_POINTER(name, reg) \ pushq %r15; \ + CFI_PUSH(%r15); \ pushq %r14; \ + CFI_PUSH(%r14); \ 1: leaq 1b(%rip), reg; \ movabsq $_GLOBAL_OFFSET_TABLE_-1b, %r14; \ movabsq $name@GOT, %r15; \ addq %r14, reg; \ popq %r14; \ + CFI_POP(%r14); \ movq (reg, %r15), reg; \ - popq %r15; + popq %r15; \ + CFI_POP(%r15); # else # define GET_EXTERN_POINTER(name, reg) movq name@GOTPCREL(%rip), reg # endif -- 2.43.0