[FFmpeg-cvslog] aarch64: Explicitly forbid using the x18 register

Martin Storsjö git at videolan.org
Fri May 15 21:33:17 EEST 2020

ffmpeg | branch: master | Martin Storsjö <martin at martin.st> | Tue May 12 13:28:44 2020 +0300| [07948f3d384e383915f5f466e8493fb16f71c219] | committer: Martin Storsjö

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 872790b1f9be6

Signed-off-by: Martin Storsjö <martin at martin.st>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=07948f3d384e383915f5f466e8493fb16f71c219

 libavutil/aarch64/asm.S | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/libavutil/aarch64/asm.S b/libavutil/aarch64/asm.S
index 3ac2ba0d52..d1fa72b3c6 100644
--- a/libavutil/aarch64/asm.S
+++ b/libavutil/aarch64/asm.S
@@ -112,3 +112,6 @@ ELF     .size   \name, . - \name
 #define GLUE(a, b) a ## b
 #define JOIN(a, b) GLUE(a, b)
 #define X(s) JOIN(EXTERN_ASM, s)
+#define x18 do_not_use_x18
+#define w18 do_not_use_w18

More information about the ffmpeg-cvslog mailing list