[FFmpeg-devel] [RFC] insufficient VFP check?

Måns Rullgård mans
Sun Jan 17 13:30:30 CET 2010


Reimar D?ffinger <Reimar.Doeffinger at gmx.de> writes:

> On Sun, Jan 17, 2010 at 11:53:15AM +0000, M?ns Rullg?rd wrote:
>> Reimar D?ffinger <Reimar.Doeffinger at gmx.de> writes:
>> > On Sun, Jan 17, 2010 at 12:31:02AM +0000, M?ns Rullg?rd wrote:
>> >> M?ns Rullg?rd <mans at mansr.com> writes:
>> >> > Reimar D?ffinger <Reimar.Doeffinger at gmx.de> writes:
>> >> >> Uh, can the -unknown- variant compile vfp/neon?
>> >> >> I came to the conclusion, idiotic as it is (not commenting on the technical
>> >> >> point, but from a usability one), that softfloat is necessary
>> >> >> to have neon/vfp support.
>> >> >
>> >> > Hmm, I didn't read carefully enough first time, and missed the
>> >> > softfloat part.  You definitely do *not* want to mess with softfloat
>> >> > on A8.  The softfloat compilers are configured to emulate FP, and the
>> >> > -mfloat-abi=softfp flag contradicts that.  No idea what that might
>> >> > lead to.
>> >> >
>> >> > With a softfloat compiler I get the same error.
>> >> 
>> >> Mystery solved: running gcc with -v reveals the assembler invocation
>> >> to be this:
>> >> 
>> >> /usr/libexec/gcc/arm-softfloat-linux-gnueabi/as --gdwarf2 -mcpu=cortex-a8 -mfpu=softvfp -meabi=4 -o libavcodec/arm/dsputil_vfp.o /tmp/ccsHJvmR.s
>> >> 
>> >> The -mfpu=softvfp there means all manner of FP is out of the question.
>> >> 
>> >> Oddly enough, non-softfloat compilers will happily compile to
>> >> softfloat if only given the -msoft-float flag.
>> >
>> > Well, in my previous try with non-softfloat toolchain it couldn't
>> > compile since it could not find -lfloat (which it wanted to use even
>> > with -mfloat-abi=softfp -mfpu=neon).
>> 
>> Never seen anything like that.  Where do you get your compilers?
>> Perhaps you should consider another vendor.
>
> I simply compiled for a target like arm-unknown-linux or so.
> That whole --target stuff is just a huge mess, about 90% of combinations
> result in a gcc/binutils combination that doesn't actually produce
> anything working but without any clear hint.

Building gcc is a black art indeed.  Here's my configure line (created
by Gentoo with crossdev) for gcc 4.3.4:

configure --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/arm-unknown-linux-gnueabi/gcc-bin/4.3.4 --includedir=/usr/lib/gcc/arm-unknown-linux-gnueabi/4.3.4/include --datadir=/usr/share/gcc-data/arm-unknown-linux-gnueabi/4.3.4 --mandir=/usr/share/gcc-data/arm-unknown-linux-gnueabi/4.3.4/man --infodir=/usr/share/gcc-data/arm-unknown-linux-gnueabi/4.3.4/info --with-gxx-include-dir=/usr/lib/gcc/arm-unknown-linux-gnueabi/4.3.4/include/g++-v4 --host=x86_64-pc-linux-gnu --target=arm-unknown-linux-gnueabi --build=x86_64-pc-linux-gnu --disable-altivec --disable-fixed-point --disable-nls --with-system-zlib --disable-checking --disable-werror --enable-secureplt --disable-multilib --disable-libmudflap --disable-libssp --disable-libgomp --disable-libgcj --enable-languages=c,c++ --with-sysroot=/usr/arm-unknown-linux-gnueabi --disable-bootstrap --disable-libgomp --enable-__cxa_atexit --enable-clocale=gnu

-- 
M?ns Rullg?rd
mans at mansr.com



More information about the ffmpeg-devel mailing list