[MPlayer-dev-eng] gcc-4.0 support

Guillaume POIRIER guillaume.poirier at etudiant.univ-rennes1.fr
Sun Jan 16 16:42:28 CET 2005


Hi all,
I'm trying to benchmark MPlayer when compiled with different compilers
(gcc-2.95, 3.3, 3.4, 4.0.0 20050110 (experimental) and ICC-8.1).


MPlayer-pre6 was supposed to support gcc-4.0, but it looks like on my
machine, there still are some files that are problematic:
- libvo/geometry.c
- postproc/swscale.c
- libmpcodecs/native/RTjpegN.c
- libaf/af.c
- liba52/imdct.c

Each time one file couldn't get through 4.0, I hand-compiled it with
gcc-3.4 and made the assumption that both were binary compatible.
This allowed me to get in the end a "mostly" 4.0 compiled MPlayer
executable, that seem to work fine (I just tried a couple of MPEG-4
files, which were decoded alright. No benchmark yet).

See below for gcc's output.

Regards,
Guillaume

---------------------------------------------------------------------
make[2]: Entering directory `/home/guillaume/main/libvo'
/usr/lib/gcc-snapshot/bin/gcc -c -I../libvo -I../../libvo
-I/usr/X11R6/include -fno-PIC -g -O4 -march=athlon-xp -mcpu=athlon-xp
-pipe -ffast-math -fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64  -I. -I.. -I../osdep -I/usr/include/freetype2
-I/usr/X11R6/include    -DMPG12PLAY  -o geometry.o geometry.c
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
/usr/lib/gcc-snapshot/bin/gcc -c -I../libvo -I../../libvo
-I/usr/X11R6/include -fno-PIC -g -O4 -march=athlon-xp -mcpu=athlon-xp
-pipe -ffast-math -fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64  -I. -I.. -I../osdep -I/usr/include/freetype2
-I/usr/X11R6/include    -DMPG12PLAY  -o aspect.o aspect.c
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
/usr/lib/gcc-snapshot/bin/gcc -c -I../libvo -I../../libvo
-I/usr/X11R6/include -fno-PIC -g -O4 -march=athlon-xp -mcpu=athlon-xp
-pipe -ffast-math -fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64  -I. -I.. -I../osdep -I/usr/include/freetype2
-I/usr/X11R6/include    -DMPG12PLAY  -o aclib.o aclib.c
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
In file included from aclib.c:108:
aclib_template.c: In function 'fast_memcpy_SSE':
aclib_template.c:202: error: invalid lvalue in assignment
aclib_template.c:203: error: invalid lvalue in assignment
aclib_template.c:224: error: invalid lvalue in assignment
aclib_template.c:225: error: invalid lvalue in assignment
aclib_template.c: In function 'mem2agpcpy_SSE':
aclib_template.c:427: error: invalid lvalue in assignment
aclib_template.c:428: error: invalid lvalue in assignment
make[2]: *** [aclib.o] Error 1
make[2]: Leaving directory `/home/guillaume/main/libvo'
make[1]: *** [libvo/libvo.a] Erreur 2
make[1]: Leaving directory `/home/guillaume/main'
make: *** [build-stamp] Erreur 2

---------------------------------------------------------------------

make[2]: Entering directory `/home/guillaume/main/postproc'
/usr/lib/gcc-snapshot/bin/gcc -c -I../libvo -I../../libvo
-I/usr/X11R6/include -fno-PIC -g -O4 -march=athlon-xp -mcpu=athlon-xp
-pipe -ffast-math -fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64   -I. -I..  -I.. -o swscale.o swscale.c
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
In file included from swscale.c:748:
swscale_template.c: In function 'hScale_MMX2':
swscale_template.c:2133: error: memory input 4 is not directly
addressable
swscale_template.c: In function 'hyscale_MMX2':
swscale_template.c:2254: warning: pointer targets in passing argument 1
of 'hScale_MMX2' differ in signedness
swscale_template.c:2300: error: memory input 3 is not directly
addressable
swscale_template.c:2300: error: memory input 4 is not directly
addressable
swscale_template.c: In function 'hcscale_MMX2':
swscale_template.c:2422: warning: pointer targets in passing argument 1
of 'hScale_MMX2' differ in signedness
swscale_template.c:2423: warning: pointer targets in passing argument 1
of 'hScale_MMX2' differ in signedness
swscale_template.c:2481: error: memory input 3 is not directly
addressable
swscale_template.c:2481: error: memory input 4 is not directly
addressable
swscale_template.c: In function 'swScale_MMX2':
swscale_template.c:2673: warning: pointer targets in passing argument 1
of 'hyscale_MMX2' differ in signedness
swscale_template.c:2690: warning: pointer targets in passing argument 1
of 'hcscale_MMX2' differ in signedness
swscale_template.c:2715: warning: pointer targets in passing argument 1
of 'hyscale_MMX2' differ in signedness
swscale_template.c:2731: warning: pointer targets in passing argument 1
of 'hcscale_MMX2' differ in signedness
swscale_template.c:2793: warning: pointer targets in passing argument 2
of 'yuv2packed1_MMX2' differ in signedness
swscale_template.c:2793: warning: pointer targets in passing argument 3
of 'yuv2packed1_MMX2' differ in signedness
swscale_template.c:2793: warning: pointer targets in passing argument 4
of 'yuv2packed1_MMX2' differ in signedness
swscale_template.c:2800: warning: pointer targets in passing argument 2
of 'yuv2packed2_MMX2' differ in signedness
swscale_template.c:2800: warning: pointer targets in passing argument 3
of 'yuv2packed2_MMX2' differ in signedness
swscale_template.c:2800: warning: pointer targets in passing argument 4
of 'yuv2packed2_MMX2' differ in signedness
swscale_template.c:2800: warning: pointer targets in passing argument 5
of 'yuv2packed2_MMX2' differ in signedness
swscale.c: In function 'sws_getContext':
swscale.c:2053: warning: pointer targets in assignment differ in
signedness
swscale.c:2055: warning: pointer targets in assignment differ in
signedness
make[2]: *** [swscale.o] Error 1
make[2]: Leaving directory `/home/guillaume/main/postproc'
make[1]: *** [postproc/libswscale.a] Erreur 2
make[1]: Leaving directory `/home/guillaume/main'
make: *** [build-stamp] Erreur 2

---------------------------------------------------------------------

make[2]: Entering directory `/home/guillaume/main/libmpcodecs'
/usr/lib/gcc-snapshot/bin/gcc -c -I../libvo -I../../libvo
-I/usr/X11R6/include -fno-PIC -g -O4 -march=athlon-xp -mcpu=athlon-xp
-pipe -ffast-math -fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64  -I. -Inative -I.. -I../libmpdemux -I../loader
-D_GNU_SOURCE -o native/RTjpegN.o native/RTjpegN.c
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
native/RTjpegN.c: In function 'RTjpeg_compressYUV420':
native/RTjpegN.c:2862: warning: pointer targets in initialization differ
in signedness
native/RTjpegN.c:2863: warning: pointer targets in initialization differ
in signedness
native/RTjpegN.c:2884: warning: pointer targets in passing argument 1 of
'RTjpeg_dctY' differ in signedness
native/RTjpegN.c:2888: warning: pointer targets in passing argument 1 of
'RTjpeg_dctY' differ in signedness
native/RTjpegN.c:2892: warning: pointer targets in passing argument 1 of
'RTjpeg_dctY' differ in signedness
native/RTjpegN.c:2896: warning: pointer targets in passing argument 1 of
'RTjpeg_dctY' differ in signedness
native/RTjpegN.c: In function 'RTjpeg_compressYUV422':
native/RTjpegN.c:2916: warning: pointer targets in initialization differ
in signedness
native/RTjpegN.c:2937: warning: pointer targets in passing argument 1 of
'RTjpeg_dctY' differ in signedness
native/RTjpegN.c:2941: warning: pointer targets in passing argument 1 of
'RTjpeg_dctY' differ in signedness
native/RTjpegN.c: In function 'RTjpeg_decompressYUV422':
native/RTjpegN.c:2987: warning: pointer targets in initialization differ
in signedness
native/RTjpegN.c:3015: warning: pointer targets in passing argument 1 of
'RTjpeg_idct' differ in signedness
native/RTjpegN.c:3021: warning: pointer targets in passing argument 1 of
'RTjpeg_idct' differ in signedness
native/RTjpegN.c: In function 'RTjpeg_decompressYUV420':
native/RTjpegN.c:3035: warning: pointer targets in initialization differ
in signedness
native/RTjpegN.c:3036: warning: pointer targets in initialization differ
in signedness
native/RTjpegN.c:3064: warning: pointer targets in passing argument 1 of
'RTjpeg_idct' differ in signedness
native/RTjpegN.c:3070: warning: pointer targets in passing argument 1 of
'RTjpeg_idct' differ in signedness
native/RTjpegN.c:3076: warning: pointer targets in passing argument 1 of
'RTjpeg_idct' differ in signedness
native/RTjpegN.c:3082: warning: pointer targets in passing argument 1 of
'RTjpeg_idct' differ in signedness
native/RTjpegN.c: In function 'RTjpeg_mcompressYUV420':
native/RTjpegN.c:3216: warning: pointer targets in initialization differ
in signedness
native/RTjpegN.c:3217: warning: pointer targets in initialization differ
in signedness
native/RTjpegN.c:3255: warning: pointer targets in passing argument 1 of
'RTjpeg_dctY' differ in signedness
native/RTjpegN.c:3264: warning: pointer targets in passing argument 1 of
'RTjpeg_dctY' differ in signedness
native/RTjpegN.c:3273: warning: pointer targets in passing argument 1 of
'RTjpeg_dctY' differ in signedness
native/RTjpegN.c:3282: warning: pointer targets in passing argument 1 of
'RTjpeg_dctY' differ in signedness
native/RTjpegN.c: In function 'RTjpeg_mcompressYUV422':
native/RTjpegN.c:3322: warning: pointer targets in assignment differ in
signedness
native/RTjpegN.c:3350: warning: pointer targets in passing argument 1 of
'RTjpeg_dctY' differ in signedness
native/RTjpegN.c:3359: warning: pointer targets in passing argument 1 of
'RTjpeg_dctY' differ in signedness
{standard input}: Assembler messages:
{standard input}:1375: Error: suffix or operands invalid for `punpcklwd'
{standard input}:1385: Error: suffix or operands invalid for `punpcklwd'
{standard input}:1389: Error: suffix or operands invalid for `movq'
{standard input}:1393: Error: suffix or operands invalid for `movq'
{standard input}:1425: Error: suffix or operands invalid for `punpcklwd'
{standard input}:1433: Error: suffix or operands invalid for `punpcklwd'
{standard input}:1445: Error: suffix or operands invalid for `punpckhwd'
{standard input}:1449: Error: suffix or operands invalid for `punpckhwd'
{standard input}:1461: Error: suffix or operands invalid for `punpcklwd'
{standard input}:1465: Error: suffix or operands invalid for `punpckhwd'
{standard input}:1475: Error: suffix or operands invalid for `punpcklwd'
{standard input}:1483: Error: suffix or operands invalid for `punpckhwd'
{standard input}:1513: Error: suffix or operands invalid for `punpcklwd'
{standard input}:1521: Error: suffix or operands invalid for `punpcklwd'
{standard input}:1525: Error: suffix or operands invalid for `movq'
{standard input}:1529: Error: suffix or operands invalid for `movq'
{standard input}:1541: Error: suffix or operands invalid for `psubw'
{standard input}:1545: Error: suffix or operands invalid for `paddw'
{standard input}:1553: Error: suffix or operands invalid for `paddw'
{standard input}:1557: Error: suffix or operands invalid for `psubw'
{standard input}:1575: Error: suffix or operands invalid for `paddw'
{standard input}:1583: Error: suffix or operands invalid for `paddw'
{standard input}:1587: Error: suffix or operands invalid for `psubw'
{standard input}:1599: Error: suffix or operands invalid for `psubw'
{standard input}:1703: Error: suffix or operands invalid for `paddw'
{standard input}:1709: Error: suffix or operands invalid for `psubw'
{standard input}:1717: Error: suffix or operands invalid for `paddw'
{standard input}:1723: Error: suffix or operands invalid for `psubw'
{standard input}:1729: Error: suffix or operands invalid for `paddw'
{standard input}:1739: Error: suffix or operands invalid for `paddw'
{standard input}:1745: Error: suffix or operands invalid for `psubw'
{standard input}:1751: Error: suffix or operands invalid for `psubw'
{standard input}:1883: Error: suffix or operands invalid for `punpcklwd'
{standard input}:1891: Error: suffix or operands invalid for `punpcklwd'
{standard input}:1903: Error: suffix or operands invalid for `punpckhwd'
{standard input}:1907: Error: suffix or operands invalid for `punpckhwd'
{standard input}:1919: Error: suffix or operands invalid for `punpcklwd'
{standard input}:1923: Error: suffix or operands invalid for `punpckhwd'
{standard input}:1933: Error: suffix or operands invalid for `punpcklwd'
{standard input}:1941: Error: suffix or operands invalid for `punpckhwd'
{standard input}:1971: Error: suffix or operands invalid for `punpcklwd'
{standard input}:1979: Error: suffix or operands invalid for `punpcklwd'
{standard input}:1983: Error: suffix or operands invalid for `movq'
{standard input}:1987: Error: suffix or operands invalid for `movq'
{standard input}:1999: Error: suffix or operands invalid for `psubw'
{standard input}:2003: Error: suffix or operands invalid for `paddw'
{standard input}:2011: Error: suffix or operands invalid for `paddw'
{standard input}:2015: Error: suffix or operands invalid for `psubw'
{standard input}:2031: Error: suffix or operands invalid for `paddw'
{standard input}:2039: Error: suffix or operands invalid for `paddw'
{standard input}:2043: Error: suffix or operands invalid for `psubw'
{standard input}:2055: Error: suffix or operands invalid for `psubw'
{standard input}:2159: Error: suffix or operands invalid for `paddw'
{standard input}:2165: Error: suffix or operands invalid for `psubw'
{standard input}:2173: Error: suffix or operands invalid for `paddw'
{standard input}:2179: Error: suffix or operands invalid for `psubw'
{standard input}:2185: Error: suffix or operands invalid for `paddw'
{standard input}:2195: Error: suffix or operands invalid for `paddw'
{standard input}:2201: Error: suffix or operands invalid for `psubw'
{standard input}:2207: Error: suffix or operands invalid for `psubw'
{standard input}:2529: Error: suffix or operands invalid for `movq'
{standard input}:2547: Error: suffix or operands invalid for `movq'
{standard input}:2555: Error: suffix or operands invalid for `movq'
{standard input}:2567: Error: suffix or operands invalid for `paddw'
{standard input}:2571: Error: suffix or operands invalid for `paddw'
{standard input}:2573: Error: suffix or operands invalid for `psubw'
{standard input}:2577: Error: suffix or operands invalid for `psubw'
{standard input}:2623: Error: suffix or operands invalid for `paddw'
{standard input}:2625: Error: suffix or operands invalid for `psubw'
{standard input}:2729: Error: suffix or operands invalid for `movq'
{standard input}:2747: Error: suffix or operands invalid for `movq'
{standard input}:2755: Error: suffix or operands invalid for `movq'
{standard input}:2767: Error: suffix or operands invalid for `paddw'
{standard input}:2771: Error: suffix or operands invalid for `paddw'
{standard input}:2773: Error: suffix or operands invalid for `psubw'
{standard input}:2777: Error: suffix or operands invalid for `psubw'
{standard input}:2805: Error: suffix or operands invalid for `movq'
{standard input}:2821: Error: suffix or operands invalid for `paddw'
{standard input}:2823: Error: suffix or operands invalid for `psubw'
{standard input}:2847: Error: suffix or operands invalid for `movq'
{standard input}:2871: Error: suffix or operands invalid for `movq'
{standard input}:2903: Error: suffix or operands invalid for `movq'
{standard input}:2989: Error: suffix or operands invalid for `movq'
{standard input}:2993: Error: suffix or operands invalid for `movq'
{standard input}:3041: Error: suffix or operands invalid for `movq'
{standard input}:3145: Error: suffix or operands invalid for `movq'
{standard input}:3393: Error: suffix or operands invalid for `movq'
{standard input}:3409: Error: suffix or operands invalid for `movq'
{standard input}:3543: Error: suffix or operands invalid for `movq'
{standard input}:3559: Error: suffix or operands invalid for `movq'
make[2]: *** [native/RTjpegN.o] Error 1
make[2]: Leaving directory `/home/guillaume/main/libmpcodecs'
make[1]: *** [libmpcodecs/libmpcodecs.a] Erreur 2
make[1]: Leaving directory `/home/guillaume/main'
make: *** [build-stamp] Erreur 2

---------------------------------------------------------------------

make[2]: Entering directory `/home/guillaume/main/libaf'
/usr/lib/gcc-snapshot/bin/gcc -c -I../libvo -I../../libvo
-I/usr/X11R6/include -fno-PIC -g -O4 -march=athlon-xp -mcpu=athlon-xp
-pipe -ffast-math -fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64  -I. -Wall  -o af.o af.c
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
af.c: In function 'af_outputlen':
af.c:527: error: address of register variable 'mul' requested
af.c: In function 'af_inputlen':
af.c:544: error: address of register variable 'mul' requested
af.c: In function 'af_calc_insize_constrained':
af.c:568: error: address of register variable 'mul' requested
make[2]: *** [af.o] Error 1
make[2]: Leaving directory `/home/guillaume/main/libaf'
make[1]: *** [libaf/libaf.a] Erreur 2
make[1]: Leaving directory `/home/guillaume/main'
make: *** [build-stamp] Erreur 2

---------------------------------------------------------------------

/usr/lib/gcc-snapshot/bin/gcc -c  -I../libvo -I../../libvo
-I/usr/X11R6/include -fno-PIC -g -O4 -march=athlon-xp -mcpu=athlon-xp
-pipe -ffast-math -fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64   -o imdct.o imdct.c
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
imdct.c: In function 'imdct_do_512_sse':
imdct.c:937: error: memory input 1 is not directly addressable
imdct.c:937: error: memory input 2 is not directly addressable
make[2]: *** [imdct.o] Error 1
make[2]: Leaving directory `/home/guillaume/main/liba52'
make[1]: *** [liba52/liba52.a] Erreur 2
make[1]: Leaving directory `/home/guillaume/main'
make: *** [build-stamp] Erreur 2

---------------------------------------------------------------------





More information about the MPlayer-dev-eng mailing list