Ticket #1151 (closed defect: invalid)
darwin/ppc --disable-altivec enables x86 asm in ac3dec
| Reported by: | jeremyhu | Owned by: | |
|---|---|---|---|
| Priority: | normal | Component: | undetermined |
| Version: | git-master | Keywords: | |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | no | |
| Analyzed by developer: | no |
Description
I just added a new config to fate.ffmpeg.org. ppc-darwin-gcc-4.0.1 is built with --disable-altivec, and it is failing in ac3dec due to intel asm:
CC libavcodec/ac3dec.o /var/folders/x8/x8sPtfKVFomVBdsjFDgLM++++TI/-Tmp-//ccshAMyQ.s:7198:no such instruction: `mulhw %eax, %eax,%ebx' make: *** [libavcodec/ac3dec.o] Error 1
http://fate.ffmpeg.org/log.cgi?time=20120330162225&log=compile&slot=ppc-darwin-gcc-4.0.1
Change History
comment:2 follow-up: ↓ 3 Changed 14 months ago by jeremyhu
Well the system is an intel machine running Leopard. gcc is essentially the same (there was not much of importance between 5493 and 5494
gcc-apple-4.0 (GCC) 4.0.1 (Apple Inc. build 5494) Copyright (C) 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
I'll take a look into it a bit more.
comment:3 in reply to: ↑ 2 Changed 14 months ago by cehoyos
- Keywords ppc removed
- Component changed from avcodec to undetermined
Replying to jeremyhu:
Well the system is an intel machine running Leopard.
Do I understand correctly that compilation works fine with "./configure", but fails for "./configure --disable-altivec" ?
(This would certainly be a bug, but the question remains why you pass --disable-altivec to a configure run on Intel?)
comment:4 Changed 14 months ago by jeremyhu
No, it failed without --disable-altivec as well.
It seems like it's probably a bug in the MacPorts?-built compiler:
$ /opt/local/bin/gcc-apple-4.0 -I. -I/Users/jeremy/src/ffmpeg/fate/ppc-darwin-gcc-4.0.1/src/ -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DHAVE_AV_CONFIG_H -arch ppc -std=c99 -mdynamic-no-pic -fomit-frame-pointer -D_GNU_SOURCE=1 -D_THREAD_SAFE -c /Users/jeremy/src/ffmpeg/fate/ppc-darwin-gcc-4.0.1/src/libavcodec/ac3dec.c -o libavcodec/ac3dec.o /var/tmp//cc4Wr88b.s:1421:no such instruction: `mulhw %eax, %edx,%eax' $ /usr/bin/gcc-4.0 -I. -I/Users/jeremy/src/ffmpeg/fate/ppc-darwin-gcc-4.0.1/src/ -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DHAVE_AV_CONFIG_H -arch ppc -std=c99 -mdynamic-no-pic -fomit-frame-pointer -D_GNU_SOURCE=1 -D_THREAD_SAFE -c /Users/jeremy/src/ffmpeg/fate/ppc-darwin-gcc-4.0.1/src/libavcodec/ac3dec.c -o libavcodec/ac3dec.o
Please close as invalid.



The following works fine here on a G4 with gcc 4.0.1 (Apple Inc. build 5493):
$ make distclean
$ git pull
$ ./configure --disable-altivec
$ make libavcodec/ac3dec.o
CC libavcodec/ac3dec.o
$
How can I reproduce the problem?