[MPlayer-cvslog] r30512 - trunk/loader/wrapper.S

komh subversion at mplayerhq.hu
Fri Feb 5 12:00:59 CET 2010


Author: komh
Date: Fri Feb  5 12:00:59 2010
New Revision: 30512

Log:
prefix EXTERN_ASM to global variables

Modified:
   trunk/loader/wrapper.S

Modified: trunk/loader/wrapper.S
==============================================================================
--- trunk/loader/wrapper.S	Fri Feb  5 11:54:28 2010	(r30511)
+++ trunk/loader/wrapper.S	Fri Feb  5 12:00:59 2010	(r30512)
@@ -1,27 +1,33 @@
+#include "config.h"
+
+#define GLUE(a, b) a ## b
+#define JOIN(a, b) GLUE(a, b)
+#define MANGLE(s)  JOIN(EXTERN_ASM, s)
+
 .data
-.globl caller_return
-caller_return:
+.globl MANGLE(caller_return)
+MANGLE(caller_return):
 	.long 0
-.globl report_entry
-report_entry:
-	.long null_call
-.globl report_ret
-report_ret:
-	.long null_call
-.global wrapper_target
-wrapper_target:
-	.long null_call
+.globl MANGLE(report_entry)
+MANGLE(report_entry):
+	.long MANGLE(null_call)
+.globl MANGLE(report_ret)
+MANGLE(report_ret):
+	.long MANGLE(null_call)
+.global MANGLE(wrapper_target)
+MANGLE(wrapper_target):
+	.long MANGLE(null_call)
 
 .text
-.globl null_call
-	.type null_call, @function
+.globl MANGLE(null_call)
+	.type MANGLE(null_call), @function
 	.balign 16,0x90
-null_call:
+MANGLE(null_call):
 	ret
-.globl wrapper
-	.type wrapper, @function
+.globl MANGLE(wrapper)
+	.type MANGLE(wrapper), @function
 	.balign 16,0x90
-wrapper:
+MANGLE(wrapper):
 	pusha			# store registers (EAX, ECX, EDX, EBX, ESP, EBP, ESI, EDI)
 	pushf			# store flags
 
@@ -39,7 +45,7 @@ wrapper:
 	push %eax
 	push %edx
 
-	call *report_entry	# report entry
+	call *MANGLE(report_entry)	# report entry
 
 	test %eax, %eax
 	jnz .Ldone
@@ -48,14 +54,14 @@ wrapper:
 	popf			# restore flags
 	popa			# restore registers
 
-	popl caller_return	# switch return addresses
+	popl MANGLE(caller_return)	# switch return addresses
 	pushl $.Lwrapper_return
 
-	jmp *wrapper_target	# wrapper_target should return at .Lwrapper_return
+	jmp *MANGLE(wrapper_target)	# wrapper_target should return at .Lwrapper_return
 
 	.balign 16, 0x90
 .Lwrapper_return:
-	pushl caller_return	# restore the original return address
+	pushl MANGLE(caller_return)	# restore the original return address
 	pusha			# more for reference sake here
 	pushf
 
@@ -73,7 +79,7 @@ wrapper:
 	push %eax
 	push %edx
 
-	call *report_ret	# report the return information (same args)
+	call *MANGLE(report_ret)	# report the return information (same args)
 .Ldone:
 
 	leave


More information about the MPlayer-cvslog mailing list