Opened 12 years ago

Closed 12 years ago

#1151 closed defect (invalid)

darwin/ppc --disable-altivec enables x86 asm in ac3dec

Reported by: Jeremy Huddleston 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 (5)

comment:1 by Carl Eugen Hoyos, 12 years ago

Keywords: ppc added

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?

comment:2 by Jeremy Huddleston, 12 years ago

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.

in reply to:  2 comment:3 by Carl Eugen Hoyos, 12 years ago

Component: avcodecundetermined
Keywords: ppc removed

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 by Jeremy Huddleston, 12 years ago

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.

comment:5 by Carl Eugen Hoyos, 12 years ago

Resolution: invalid
Status: newclosed
Note: See TracTickets for help on using tickets.