summaryrefslogtreecommitdiff
path: root/libavutil/x86
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 /libavutil/x86
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.
Diffstat (limited to 'libavutil/x86')
-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