When building for ARMv6, output generates unsupported ASM: CC libavcodec/ansi.o libavcodec/ansi.c:203:14: warning: variable 'width' is used uninitialized whenever switch case is taken [-Wsometimes-uninitialized] case 7: //set line wrapping ^ libavcodec/ansi.c:220:13: note: uninitialized use occurs here if (width != avctx->width || height != avctx->height) { ^~~~~ libavcodec/ansi.c:217:9: warning: variable 'width' is used uninitialized whenever switch default is taken [-Wsometimes-uninitialized] default: ^~~~~~~ libavcodec/ansi.c:220:13: note: uninitialized use occurs here if (width != avctx->width || height != avctx->height) { ^~~~~ libavcodec/ansi.c:161:22: note: initialize the variable 'width' to silence this warning int ret, i, width, height; ^ = 0 2 warnings generated. CC libavcodec/apedec.o AS libavcodec/arm/ac3dsp_arm.o AS libavcodec/arm/ac3dsp_armv6.o libavcodec/arm/ac3dsp_armv6.S: Assembler messages: libavcodec/arm/ac3dsp_armv6.S:40: Error: selected processor does not support `movw r8,#0x1fe0' cc: error: assembler command failed with exit code 1 (use -v to see invocation) gmake[6]: *** [libavcodec/arm/ac3dsp_armv6.o] Error 1 gmake[6]: Leaving directory `/wrkdirs/usr/ports/multimedia/gstreamer-ffmpeg/work/gst-ffmpeg-0.10.13/gst-libs/ext/libav' gmake[5]: *** [all-local] Error 2 gmake[5]: Leaving directory `/wrkdirs/usr/ports/multimedia/gstreamer-ffmpeg/work/gst-ffmpeg-0.10.13/gst-libs/ext' gmake[4]: *** [all-recursive] Error 1 gmake[4]: Leaving directory `/wrkdirs/usr/ports/multimedia/gstreamer-ffmpeg/work/gst-ffmpeg-0.10.13/gst-libs/ext' gmake[3]: *** [all-recursive] Error 1 gmake[3]: Leaving directory `/wrkdirs/usr/ports/multimedia/gstreamer-ffmpeg/work/gst-ffmpeg-0.10.13/gst-libs' gmake[2]: *** [all-recursive] Error 1 gmake[2]: Leaving directory `/wrkdirs/usr/ports/multimedia/gstreamer-ffmpeg/work/gst-ffmpeg-0.10.13' gmake[1]: *** [all] Error 2 gmake[1]: Leaving directory `/wrkdirs/usr/ports/multimedia/gstreamer-ffmpeg/work/gst-ffmpeg-0.10.13' *** Error code 1
Auto-assigned to maintainer multimedia@FreeBSD.org
Created attachment 148067 [details] replace movw instruction in ac3dsp_armv6.S
The error can be fixed with the attached patch (see http://git.videolan.org/gitweb.cgi/ffmpeg.git/?p=ffmpeg.git;a=commitdiff;h=05c062e9da370c60f48e433308cccbf7e7aea7fe;hp=a2beabc231f0d0c509e5c8f09fdab0ccb46eca10) We will get another error: libavcodec/arm/dsputil_vfp.S:45: Error: selected processor does not support `vpush {d8-d15}' this error can be workaround with this configure args: --disable-armvfp I can make a proper patch for this workaround if needed
Can you try the patch in https://reviews.freebsd.org/D872 and see if that makes any difference for you on head?
Only the "patch-gst-libs__ext__libav__libavcodec__arm__ac3dsp_armv6.S" patch is needed with the patch from your link. Thanks !
I'm holding this patch pending the float updates for the arm eabi.
http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=9a83adaf346bc5e38183427b2bd11084c11d1c8b The fix upstream for this, is actually different. Mikael, can you try this one instead of yours? I think this is more proper.
I've made a mistake in my previous test: I have 2 arm jails on my system, one with gcc-4.2.1 from base and the other with clang, the ports compiles fine with gcc and your patch but doesn't with clang (I still need --disable-armvfp)
Created attachment 149964 [details] replace movw instruction in ac3dsp_armv6.S
Created attachment 149965 [details] patch-gst-libs_ext_libav_libavcodec_arm_asm.S I've attached a patch that fixes the build with clang, I'm not sure it is correct though. build log: http://mikael.urankar.free.fr/FreeBSD/arm/build_logs/gstreamer-ffmpeg-0.10.13_3.log
Seems happy to me. amd64: http://crack.ysv.freebsd.org/build.html?mastername=11-amd64-11-armv6-test&build=2014-12-04_17h02m19s armv6: http://crack.ysv.freebsd.org/build.html?mastername=11-armv6-11-armv6-test&build=2014-12-04_17h37m38s
Any objections from the peanut gallery?
go for it.
A commit references this bug: Author: sbruno Date: Fri Dec 5 18:13:23 UTC 2014 New revision: 374072 URL: https://svnweb.freebsd.org/changeset/ports/374072 Log: Fixup some asm code to support ARM. Fixes build on ARM platforms. Bump portrevision to indicate this. PR: 194186 Submitted by: mikael.urankar@gmail.com Reviewed by: kwm Approved by: mentors (implicit) Changes: head/multimedia/gstreamer-ffmpeg/Makefile head/multimedia/gstreamer-ffmpeg/files/patch-gst-libs_ext_libav_libavcodec_arm_ac3dsp__armv6.S head/multimedia/gstreamer-ffmpeg/files/patch-gst-libs_ext_libav_libavcodec_arm_asm.S