summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenrik Gramner <henrik@gramner.com>2017-08-16 15:59:16 +0200
committerHenrik Gramner <henrik@gramner.com>2018-01-20 19:23:37 +0100
commit6b6edd121699a87c17bd5eca9e94cdd125088c0e (patch)
treec96678e8c4f0877d2208b8b3e8dc4813d7519f93
parent9e4b3675f226238ae132cada2bb82bcb00110aa6 (diff)
x86inc: Support creating global symbols from local labels
On ELF platforms such symbols needs to be flagged as functions with the correct visibility to please certain linkers in some scenarios.
-rw-r--r--libavutil/x86/x86inc.asm12
1 files changed, 11 insertions, 1 deletions
diff --git a/libavutil/x86/x86inc.asm b/libavutil/x86/x86inc.asm
index 57cd4d80de..de048f863d 100644
--- a/libavutil/x86/x86inc.asm
+++ b/libavutil/x86/x86inc.asm
@@ -4,9 +4,9 @@
;* Copyright (C) 2005-2017 x264 project
;*
;* Authors: Loren Merritt <lorenm@u.washington.edu>
+;* Henrik Gramner <henrik@gramner.com>
;* Anton Mitrofanov <BugMaster@narod.ru>
;* Fiona Glaser <fiona@x264.com>
-;* Henrik Gramner <henrik@gramner.com>
;*
;* Permission to use, copy, modify, and/or distribute this software for any
;* purpose with or without fee is hereby granted, provided that the above
@@ -743,6 +743,16 @@ BRANCH_INSTR jz, je, jnz, jne, jl, jle, jnl, jnle, jg, jge, jng, jnge, ja, jae,
%endif
%endmacro
+; Create a global symbol from a local label with the correct name mangling and type
+%macro cglobal_label 1
+ %if FORMAT_ELF
+ global current_function %+ %1:function hidden
+ %else
+ global current_function %+ %1
+ %endif
+ %1:
+%endmacro
+
%macro cextern 1
%xdefine %1 mangle(private_prefix %+ _ %+ %1)
CAT_XDEFINE cglobaled_, %1, 1