summaryrefslogtreecommitdiffstats
path: root/mp3lib
diff options
context:
space:
mode:
authoratmos4 <atmos4@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-01-19 04:47:32 +0000
committeratmos4 <atmos4@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-01-19 04:47:32 +0000
commite6f0381dc20ece537e6b0ad03d8c78053de0cc6e (patch)
treefff47b24807146a442beca5d3198ee07a1e42069 /mp3lib
parent6afa7d698893915b4ed59bb8b14cb04d5b0a8d04 (diff)
downloadmpv-e6f0381dc20ece537e6b0ad03d8c78053de0cc6e.tar.bz2
mpv-e6f0381dc20ece537e6b0ad03d8c78053de0cc6e.tar.xz
mangling in mp3lib + stdcall undefined fix with cygwin
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4247 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'mp3lib')
-rw-r--r--mp3lib/dct64_MMX.c8
-rw-r--r--mp3lib/decode_MMX.c13
-rw-r--r--mp3lib/decode_i586.c13
-rw-r--r--mp3lib/tabinit_MMX.c3
4 files changed, 23 insertions, 14 deletions
diff --git a/mp3lib/dct64_MMX.c b/mp3lib/dct64_MMX.c
index 79618a3c9e..b1f7753045 100644
--- a/mp3lib/dct64_MMX.c
+++ b/mp3lib/dct64_MMX.c
@@ -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 @@ void __attribute__ (( __stdcall__ )) dct64_MMX(real *a,real *b,real *c)
" 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"
diff --git a/mp3lib/decode_MMX.c b/mp3lib/decode_MMX.c
index 97ac7f34d9..916863dade 100644
--- a/mp3lib/decode_MMX.c
+++ b/mp3lib/decode_MMX.c
@@ -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 @@ __asm __volatile(
"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 @@ __asm __volatile(
"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 @@ __asm __volatile(
"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"
diff --git a/mp3lib/decode_i586.c b/mp3lib/decode_i586.c
index d0ec6e758c..c898085ff5 100644
--- a/mp3lib/decode_i586.c
+++ b/mp3lib/decode_i586.c
@@ -23,6 +23,7 @@
*
* $Id$
*/
+#include "../mangle.h"
#define real float /* ugly - but only way */
static long buffs[1088];
@@ -36,17 +37,17 @@ int synth_1to1_pent(real *bandPtr, int channel, short *samples)
" 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 @@ int synth_1to1_pent(real *bandPtr, int channel, short *samples)
" 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"
diff --git a/mp3lib/tabinit_MMX.c b/mp3lib/tabinit_MMX.c
index fcd66e4821..9a7f4161ee 100644
--- a/mp3lib/tabinit_MMX.c
+++ b/mp3lib/tabinit_MMX.c
@@ -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 @@ void make_decode_tables_MMX(long scaleval)
".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"