[mythtv] FFmpeg, GCC out of registers

Nigel Pearson nigel at ind.tansu.com.au
Tue Nov 4 02:32:41 UTC 2008


The way MythTV compiles libavcodec triggers GCC problems.
We have hacks in the make env. to work around that,
but it doesn't work on Mac OS X any more:


MacBook% gcc -c -pipe -march=pentium4 -fomit-frame-pointer -O3 -I/ 
Volumes/MythBuild/.osx-packager/build/include -D_ISOC99_SOURCE - 
D_POSIX_C_SOURCE=200112 -fasm -std=c99 -pipe -force_cpusubtype_ALL - 
Wno-sign-compare -Wall -Wno-switch -Wdisabled-optimization -Wpointer- 
arith -Wredundant-decls -Wno-pointer-sign -Wcast-qual -funit-at-a- 
time -Wwrite-strings -fno-math-errno -w -Di386 -DUSING_APPLEREMOTE - 
D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_AV_CONFIG_H - 
D_LARGEFILE_SOURCE -I/Volumes/MythBuild/.osx-packager/build/mkspecs/ 
macx-g++ -I. -I.. -I../.. -I. -o cavsdsp_mmx.o i386/cavsdsp_mmx.c
i386/cavsdsp_mmx.c: In function 'ff_put_cavs_qpel8_mc01_3dnow':
i386/cavsdsp_mmx.c:448: error: can't find a register in class  
'GENERAL_REGS' while reloading 'asm'


By contrast, FFmpeg's SVN head does build:

MacBook% make i386/cavsdsp_mmx.o
gcc -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE - 
I.. -I"/Volumes/Backups/Programming/ffmpeg" -D_ISOC99_SOURCE - 
D_POSIX_C_SOURCE=200112 -std=c99 -pipe -force_cpusubtype_ALL -Wno- 
sign-compare -mdynamic-no-pic -fomit-frame-pointer -g -Wdeclaration- 
after-statement -Wall -Wno-switch -Wdisabled-optimization -Wpointer- 
arith -Wredundant-decls -Wno-pointer-sign -Wcast-qual -Wwrite-strings  
-O3 -fno-math-errno   -c -o i386/cavsdsp_mmx.o i386/cavsdsp_mmx.c


I'm carefully sorting through the flags to try and work out
what combination is causing this. Anyone want to lay bets?

(today is a gambling day in Australia - the Melbourne Cup)

--
Nigel Pearson, nigel at ind.tansu.com.au|The weak point of     |
Telstra Net. Eng., Sydney, Australia | the modern car is    |
Office: 9202 3900    Fax:  9261 3912 | the squidgy organic  |
Mobile: 0408 664435  Home: 9792 6998 | bit behind the wheel.|



More information about the mythtv-dev mailing list