From 70c3ba42e610b4182edda4fdeb10b37a2a70eb8f Mon Sep 17 00:00:00 2001 From: Henrik Gramner Date: Fri, 16 Oct 2015 21:28:49 +0200 Subject: [PATCH] x86inc: Avoid creating unnecessary local labels The REP_RET workaround is only needed on old AMD cpus, and the labels clutter up the symbol table and confuse debugging/profiling tools, so use EQU to create SHN_ABS symbols instead of creating local labels. Furthermore, skip the workaround completely in functions that definitely won't run on such cpus. This patch doesn't modify any emitted instructions, and doesn't actually affect x264 at all. It's only for other projects that use x86inc.asm without an appropriate `strip` command in their buildsystem. Note that EQU is just creating a local label when using nasm instead of yasm. This is probably a bug, but at least it doesn't break anything. --- common/x86/x86inc.asm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/common/x86/x86inc.asm b/common/x86/x86inc.asm index 71629db4..2043b675 100644 --- a/common/x86/x86inc.asm +++ b/common/x86/x86inc.asm @@ -635,8 +635,10 @@ DECLARE_ARG 7, 8, 9, 10, 11, 12, 13, 14 %rep %0 %macro %1 1-2 %1 %2 %1 - %%branch_instr: - %xdefine last_branch_adr %%branch_instr + %if notcpuflag(ssse3) + %%branch_instr equ $ + %xdefine last_branch_adr %%branch_instr + %endif %endmacro %rotate 1 %endrep -- 2.39.2