changeset 4246:3f677202418b

mangling in mp3lib + stdcall undefined fix with cygwin
author atmos4
date Sat, 19 Jan 2002 04:47:32 +0000
parents 27cb0e43de32
children 2dbd637ffe05
files mp3lib/dct64_MMX.c mp3lib/decode_MMX.c mp3lib/decode_i586.c mp3lib/tabinit_MMX.c
diffstat 4 files changed, 23 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/mp3lib/dct64_MMX.c	Sat Jan 19 04:44:49 2002 +0000
+++ b/mp3lib/dct64_MMX.c	Sat Jan 19 04:47:32 2002 +0000
@@ -3,9 +3,15 @@
 * See ChangeLog of mpg123-0.59s-pre.1 for detail
 * Applied to mplayer by Nick Kurshev <nickols_k@mail.ru>
 */
+#include "../mangle.h"
 #define real float /* ugly - but only way */
 
+#ifdef __CYGWIN__
+/* will probably cause sig11 with debuggingsymbols, but otherwise undef. ref */
+void dct64_MMX(real *a,real *b,real *c)
+#else
 void __attribute__ (( __stdcall__ )) dct64_MMX(real *a,real *b,real *c)
+#endif
 {
     char tmp[256];
     __asm __volatile(
@@ -19,7 +25,7 @@
 "	movl %1,%%edi\n\t"
 
 "	flds    4(%%eax)\n\t"
-"	movl $costab_mmx,%%ebx\n\t"
+"	movl $"MANGLE(costab_mmx)",%%ebx\n\t"
 "	fadds 120(%%eax)\n\t"
 "	orl %%ecx,%%ecx\n\t"
 "	fstps   4(%%edx)\n\t"
--- a/mp3lib/decode_MMX.c	Sat Jan 19 04:44:49 2002 +0000
+++ b/mp3lib/decode_MMX.c	Sat Jan 19 04:47:32 2002 +0000
@@ -7,6 +7,7 @@
  * Local ChangeLog:
  * - Partial loops unrolling and removing MOVW insn from loops
 */
+#include "../mangle.h"
 #define real float /* ugly - but only way */
 
 static unsigned long long __attribute__((aligned(8))) null_one = 0x0000ffff0000ffffULL;
@@ -81,11 +82,11 @@
 	"emms\n\t"
         "pushl %%edx\n\t"
         "pushl %%ecx\n\t"
-        "call *dct64_MMX_func\n\t"
+        "call *"MANGLE(dct64_MMX_func)"\n\t"
 	"leal 1(%%ebx), %%ecx\n\t"
         "subl %%ebp,%%ebx\n\t"
 	"pushl %%ecx\n\t"
-	"leal decwins(%%ebx,%%ebx,1), %%edx\n\t"
+	"leal "MANGLE(decwins)"(%%ebx,%%ebx,1), %%edx\n\t"
 	"shrl $1, %%ecx\n\t"
 ".align 16\n\t"
 ".L3:\n\t"
@@ -124,8 +125,8 @@
 
 	"movq	(%%edi), %%mm1\n\t"
 	"punpckldq %%mm4, %%mm0\n\t"
-	"pand   one_null, %%mm1\n\t"
-	"pand   null_one, %%mm0\n\t"
+	"pand   "MANGLE(one_null)", %%mm1\n\t"
+	"pand   "MANGLE(null_one)", %%mm0\n\t"
 	"por    %%mm0, %%mm1\n\t"
 	"movq   %%mm1,(%%edi)\n\t"
 
@@ -206,8 +207,8 @@
 
 	"movq	(%%edi), %%mm1\n\t"
 	"punpckldq %%mm4, %%mm0\n\t"
-	"pand   one_null, %%mm1\n\t"
-	"pand   null_one, %%mm0\n\t"
+	"pand   "MANGLE(one_null)", %%mm1\n\t"
+	"pand   "MANGLE(null_one)", %%mm0\n\t"
 	"por    %%mm0, %%mm1\n\t"
 	"movq   %%mm1,(%%edi)\n\t"
 
--- a/mp3lib/decode_i586.c	Sat Jan 19 04:44:49 2002 +0000
+++ b/mp3lib/decode_i586.c	Sat Jan 19 04:47:32 2002 +0000
@@ -23,6 +23,7 @@
 *
 * $Id$
 */
+#include "../mangle.h"
 #define real float /* ugly - but only way */
 
 static long buffs[1088];
@@ -36,17 +37,17 @@
 "        movl %1,%%eax\n\t"/*bandPtr*/
 "        movl %3,%%esi\n\t"
 "        xorl %%edi,%%edi\n\t"
-"        movl bo,%%ebp\n\t"
+"        movl "MANGLE(bo)",%%ebp\n\t"
 "        cmpl %%edi,%2\n\t"
 "        jne .L48\n\t"
 "        decl %%ebp\n\t"
 "        andl $15,%%ebp\n\t"
-"        movl %%ebp,bo\n\t"
-"        movl $buffs,%%ecx\n\t"
+"        movl %%ebp,"MANGLE(bo)"\n\t"
+"        movl $"MANGLE(buffs)",%%ecx\n\t"
 "        jmp .L49\n\t"
 ".L48:\n\t"
 "        addl $2,%%esi\n\t"
-"        movl $buffs+2176,%%ecx\n\t"
+"        movl $"MANGLE(buffs)"+2176,%%ecx\n\t"
 ".L49:\n\t"
 "        testl $1,%%ebp\n\t"
 "        je .L50\n\t"
@@ -72,11 +73,11 @@
 "        leal (%%ecx,%%ebp,4),%%eax\n\t"
 ".L74:\n\t"
 "        pushl %%eax\n\t"
-"        call dct64\n\t"
+"        call "MANGLE(dct64)"\n\t"
 "        addl $12,%%esp\n\t"
 "        movl %4,%%edx\n\t"
 "        leal 0(,%%edx,4),%%edx\n\t"
-"        movl $decwin+64,%%eax\n\t"
+"        movl $"MANGLE(decwin)"+64,%%eax\n\t"
 "        movl %%eax,%%ecx\n\t"
 "        subl %%edx,%%ecx\n\t"
 "        movl $16,%%ebp\n\t"
--- a/mp3lib/tabinit_MMX.c	Sat Jan 19 04:44:49 2002 +0000
+++ b/mp3lib/tabinit_MMX.c	Sat Jan 19 04:47:32 2002 +0000
@@ -3,6 +3,7 @@
  * See ChangeLog of mpg123-0.59s-pre.1 for detail
  * Applied to mplayer by Nick Kurshev <nickols_k@mail.ru>
 */
+#include "../mangle.h"
 
 long __attribute__((aligned(8))) decwins [544];
 
@@ -66,7 +67,7 @@
 ".L01:\n\t"
 	"pushl %%eax\n\t"
 	"fildl (%%esp)\n\t"
-	"fdivs intwindiv\n\t"
+	"fdivs "MANGLE(intwindiv)"\n\t"
 	"popl %%eax\n\t"
 	"fimull %2\n\t"
 	"fsts  %1(,%%ecx,4)\n\t"