[FFmpeg-devel] [PATCH 1/5] x86inc: Fix call with memory operands

James Darnley jdarnley at obe.tv
Fri Jun 9 02:04:58 EEST 2017


From: Henrik Gramner <henrik at gramner.com>

We overload the `call` instruction with a macro, but it would misbehave when
the macro argument wasn't a valid identifier. Fix it by explicitly checking
if the argument is an identifier.
---
 libavutil/x86/x86inc.asm | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/libavutil/x86/x86inc.asm b/libavutil/x86/x86inc.asm
index 128ddc1089..f2a6a3f1db 100644
--- a/libavutil/x86/x86inc.asm
+++ b/libavutil/x86/x86inc.asm
@@ -1037,7 +1037,11 @@ INIT_XMM
 
 ; Append cpuflags to the callee's name iff the appended name is known and the plain name isn't
 %macro call 1
-    call_internal %1 %+ SUFFIX, %1
+    %ifid %1
+        call_internal %1 %+ SUFFIX, %1
+    %else
+        call %1
+    %endif
 %endmacro
 %macro call_internal 2
     %xdefine %%i %2
-- 
2.13.0



More information about the ffmpeg-devel mailing list