aarch64: Explicitly forbid using the x18 register

On windows and darwin (and modern android), the x18 register is reserved
and shouldn't be modified by user code, while it is freely available on
linux. Strictly avoid it, to keep the assembly code portable.

This would have helped catch the issue fixed in 872790b1f9
immediately.

Signed-off-by: Martin Storsjö <martin@martin.st>
pull/338/head
Martin Storsjö 5 years ago
parent b4bcae4e0e
commit 07948f3d38
  1. 3
      libavutil/aarch64/asm.S

@ -112,3 +112,6 @@ ELF .size \name, . - \name
#define GLUE(a, b) a ## b #define GLUE(a, b) a ## b
#define JOIN(a, b) GLUE(a, b) #define JOIN(a, b) GLUE(a, b)
#define X(s) JOIN(EXTERN_ASM, s) #define X(s) JOIN(EXTERN_ASM, s)
#define x18 do_not_use_x18
#define w18 do_not_use_w18

Loading…
Cancel
Save