[MPlayer-dev-eng] [PATCH] mplayer fails to link with newer binutils
Arpi
arpi at thot.banki.hu
Mon Dec 23 02:01:45 CET 2002
Hi,
> -# OBJS = $(SRCS:.c,.s=.o)
> +OPTFLAGS := $(OPTFLAGS:-fomit-frame-pointer=)
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 ?
> -static long decwin [544];
> +real decwin [512+32];
actually this won't help much... just mess up things even more.
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
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
More information about the MPlayer-dev-eng
mailing list