[MPlayer-dev-eng] [PATCH] mplayer fails to link with newer binutils

seru seru at gmx.net
Mon Dec 23 17:39:19 CET 2002


El lun, 23 de dic de 2002, a las 02:01:45 +0100, Arpi dijo:
> Hi,
> 
> > -# OBJS = $(SRCS:.c,.s=.o)
> > +OPTFLAGS := $(OPTFLAGS:-fomit-frame-pointer=)
I use to compile everything with -fomit-frame-pointer, but compiling mp3lib with it causes errors/warnings.
> 
> hmm?
> 
> >  OBJS += decode_MMX.o dct64_MMX.o tabinit_MMX.o
> > +# Disable SSE code and reenable FPU dct for SSE cpus (fpu code is 0.3% faster and can't get data aligned in dct64_sse.s)
> >  #ifeq ($(TARGET_SSE),yes)
> 
> hmm 2 ?
That slipt in, wasn't supposed to be in the patch.
> 
> > -static long decwin [544];
> > +real decwin [512+32];
> 
> actually this won't help much... just mess up things even more.
True. Anyways, this wasn't sopposed to go into CVS, just for Soeren.
> 
> currently decwin is declared at 3 places:
> 
> mpg123.h:
> extern real decwin[(512+32)];
> 
> tabinit_MMX.c:
> static long decwin [544];
> 
> tabinit.c:
> real decwin[(512+32)], cos64[32], cos32[16], cos16[8], cos8[4], cos4[2];
> 
> since tabinit_MMX.c doesn't include mpg123.h, there should not be any
> conflicts. that file have a local (static) array called decwins.
> it should not interfere with any global symbols.
> if it does - it's the error of the linker, not the code. a warning may be
> ok, to tell the programmer about a possible name clash, but not an error.
> 
> now, that you changed the static one to a global one - you created the
> conflict: there are now 2 arrays with same name and both global.
> 
> a possible fix would be declaring decwin as extern in tabinit_MMX.c instead
Dunno. Soeren, if you read this, could you try declating decwin as extern in tabinit_MMX.c and see if it helps? It is highly probable your problem is using Debian /unstable/. You said:
> > No, doesn't help at all.
> > 
> > What about the patch I sent (unfortunately I sent it inline last
> > time...)
> > 
> > It just removes this #include "tabwin.c" .... and it works here on my
But you can't just remove that include right? (make_decode_tables is in tabwin.c and is called various times in sr1.c)
Soeren, could you mail me the file this command generates (log)?:
`export CFLAGS='-O2'; && ./configure && make make 2>&1 | tee compile.log
First with your (not mine) patch, they without it. So you can send me two files.

> > MMX machine... however I am not sure what happens on non MMX ones...
> > 
> > S.

> of re-declaring it. but i don't know the purpose of decwin there, maybe it
> will conflict with the other one (mayeb they have to co-exists and must have
> independent contents)
> 
> 
> A'rpi / Astral & ESP-team
> 
> --
> Developer of MPlayer, the Movie Player for Linux - http://www.MPlayerHQ.hu
> _______________________________________________
> MPlayer-dev-eng mailing list
> MPlayer-dev-eng at mplayerhq.hu
> http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng



More information about the MPlayer-dev-eng mailing list