From d96257d82cc8f2b8a6d62cbcc7bc2e077ab50575 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Wed, 10 Dec 2014 22:14:55 +0100
Subject: [PATCH 05/15] arm_neon: fix iOS linking

---
 modules/arm_neon/amplify.S              |  7 ++---
 modules/arm_neon/simple_channel_mixer.S | 46 +++++++++++++--------------------
 2 files changed, 22 insertions(+), 31 deletions(-)

diff --git a/modules/arm_neon/amplify.S b/modules/arm_neon/amplify.S
index 5938118..42f0d00 100644
--- a/modules/arm_neon/amplify.S
+++ b/modules/arm_neon/amplify.S
@@ -18,6 +18,8 @@
  @ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  @****************************************************************************/
 
+#include "asm.S"
+
 	.syntax	unified
 	.arm
 	.fpu	neon
@@ -27,9 +29,7 @@
 #define	SRC	r1
 #define	SIZE	r2
 	.align 2
-	.global amplify_float_arm_neon
-	.type	amplify_float_arm_neon, %function
-amplify_float_arm_neon:
+function amplify_float_arm_neon, export=1
 	cmp		SIZE,	#0
 	bxeq		lr
 #ifdef __ARM_PCS
@@ -79,3 +79,4 @@ amplify_float_arm_neon:
 4:	vst1.f32	{d20-d21},	[DST,:128]!
 5:	vst1.f32	{d16-d17},	[DST,:128]!
 	bx		lr
+endfunc
diff --git a/modules/arm_neon/simple_channel_mixer.S b/modules/arm_neon/simple_channel_mixer.S
index a94ae85..54b43a7 100644
--- a/modules/arm_neon/simple_channel_mixer.S
+++ b/modules/arm_neon/simple_channel_mixer.S
@@ -19,6 +19,8 @@
  @ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  @****************************************************************************/
 
+#include "asm.S"
+
 	.fpu neon
 	.text
 	.align 2
@@ -34,9 +36,7 @@ coeff_7to2:
 	.float 0.5
 	.float 0.25
 	.float 0.25
-	.global convert_7_x_to_2_0_neon_asm
-	.type	convert_7_x_to_2_0_neon_asm, %function
-convert_7_x_to_2_0_neon_asm:
+function convert_7_x_to_2_0_neon_asm, export=1
 	push {r4,lr}
 
 	adr COEFF, coeff_7to2
@@ -63,6 +63,7 @@ convert_7_x_to_2_0_neon_asm:
 	bne 0b
 
 	pop {r4,pc}
+endfunc
 
 
 coeff_5to2:
@@ -70,9 +71,7 @@ coeff_5to2:
 	.float 0.5
 	.float 0.33
 	.float 0.33
-	.global convert_5_x_to_2_0_neon_asm
-	.type	convert_5_x_to_2_0_neon_asm, %function
-convert_5_x_to_2_0_neon_asm:
+function convert_5_x_to_2_0_neon_asm, export=1
 	push {r4,lr}
 
 	adr COEFF, coeff_5to2
@@ -95,14 +94,13 @@ convert_5_x_to_2_0_neon_asm:
 	bne 0b
 
 	pop {r4,pc}
+endfunc
 
 
 coeff_4to2:
 	.float 0.5
 	.float 0.5
-	.global convert_4_0_to_2_0_neon_asm
-	.type	convert_4_0_to_2_0_neon_asm, %function
-convert_4_0_to_2_0_neon_asm:
+function convert_4_0_to_2_0_neon_asm, export=1
 	push {r4,lr}
 
 	adr COEFF, coeff_4to2
@@ -119,14 +117,12 @@ convert_4_0_to_2_0_neon_asm:
 	bne 0b
 
 	pop {r4,pc}
-
+endfunc
 
 coeff_3to2:
 	.float 0.5
 	.float 0.5
-	.global convert_3_x_to_2_0_neon_asm
-	.type	convert_3_x_to_2_0_neon_asm, %function
-convert_3_x_to_2_0_neon_asm:
+function convert_3_x_to_2_0_neon_asm, export=1
 	push {r4,lr}
 
 	adr COEFF, coeff_3to2
@@ -147,16 +143,14 @@ convert_3_x_to_2_0_neon_asm:
 	bne 0b
 
 	pop {r4,pc}
-
+endfunc
 
 coeff_7to1:
 	.float 0.25
 	.float 0.25
 	.float 0.125
 	.float 0.125
-	.global convert_7_x_to_1_0_neon_asm
-	.type	convert_7_x_to_1_0_neon_asm, %function
-convert_7_x_to_1_0_neon_asm:
+function convert_7_x_to_1_0_neon_asm, export=1
 	push {r4,lr}
 
 	adr COEFF, coeff_7to1
@@ -181,6 +175,7 @@ convert_7_x_to_1_0_neon_asm:
 	bne 0b
 
 	pop {r4,pc}
+endfunc
 
 
 coeff_5to1:
@@ -188,9 +183,7 @@ coeff_5to1:
 	.float 0.25
 	.float 0.16666667
 	.float 0.16666667
-	.global convert_5_x_to_1_0_neon_asm
-	.type	convert_5_x_to_1_0_neon_asm, %function
-convert_5_x_to_1_0_neon_asm:
+function convert_5_x_to_1_0_neon_asm, export=1
 	push {r4,lr}
 
 	adr COEFF, coeff_5to1
@@ -212,16 +205,14 @@ convert_5_x_to_1_0_neon_asm:
 	bne 0b
 
 	pop {r4,pc}
-
+endfunc
 
 coeff_7to4:
 	.float 0.5
 	.float 0.5
 	.float 0.16666667
 	.float 0.16666667
-	.global convert_7_x_to_4_0_neon_asm
-	.type	convert_7_x_to_4_0_neon_asm, %function
-convert_7_x_to_4_0_neon_asm:
+function convert_7_x_to_4_0_neon_asm, export=1
 	push {r4,lr}
 
 	adr COEFF, coeff_7to4
@@ -247,14 +238,12 @@ convert_7_x_to_4_0_neon_asm:
 	bne 0b
 
 	pop {r4,pc}
-
+endfunc
 
 coeff_5to4:
 	.float 0.5
 	.float 0.5
-	.global convert_5_x_to_4_0_neon_asm
-	.type	convert_5_x_to_4_0_neon_asm, %function
-convert_5_x_to_4_0_neon_asm:
+function convert_5_x_to_4_0_neon_asm, export=1
 	push {r4,lr}
 
 	adr COEFF, coeff_5to4
@@ -277,3 +266,4 @@ convert_5_x_to_4_0_neon_asm:
 	bne 0b
 
 	pop {r4,pc}
+endfunc
-- 
2.9.2

