]> code.ossystems Code Review - openembedded-core.git/commitdiff
ffmpeg: add libatomic for armv5
authorTrevor Woerner <twoerner@gmail.com>
Wed, 28 Jul 2021 12:29:14 +0000 (08:29 -0400)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 30 Jul 2021 14:22:01 +0000 (15:22 +0100)
The GNU Atomic library is a GCC support runtime library for atomic
operations not supported by hardware.

Otherwise we get the following when building:

| arm-oe-linux-gnueabi-gcc -mcpu=arm926ej-s -mfpu=vfp -mfloat-abi=hard -marm --sysroot=.../build/tmp-glibc/work/armv5ehf-vfp-oe-linux-gnueabi/ffmpeg/4.4-r0/recipe-sysroot -Llibavcodec -Llibavdevice -Llibavfilter -Llibavformat -Llibavresample -Llibavutil -Llibpostproc -Llibswscale -Llibswresample -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed  --sysroot=.../build/tmp-glibc/work/armv5ehf-vfp-oe-linux-gnueabi/ffmpeg/4.4-r0/recipe-sysroot -mcpu=arm926ej-s -Wl,--as-needed -Wl,-z,noexecstack -Wl,--warn-common -Wl,-rpath-link=:libpostproc:libswresample:libswscale:libavfilter:libavdevice:libavformat:libavcodec:libavutil:libavresample   -o ffprobe_g fftools/cmdutils.o fftools/ffprobe.o  -lavdevice -lavfilter -lavformat -lavcodec -lavresample -lswresample -lswscale -lavutil  -lm -lxcb -lxcb-shm -lxcb-shape -lxcb-xfixes -lasound -lXv -lX11 -lXext -pthread -lm -lm -lbz2 -lz -pthread -lm -llzma -lz -ltheoraenc -ltheoradec -logg -lm -lm -lm -pthread -lm -lXv -lX11 -lXext
| .../build/tmp-glibc/work/armv5ehf-vfp-oe-linux-gnueabi/ffmpeg/4.4-r0/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/../../libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/11.1.1/ld: libavformat/libavformat.so: undefined reference to `__atomic_fetch_sub_8'
| .../build/tmp-glibc/work/armv5ehf-vfp-oe-linux-gnueabi/ffmpeg/4.4-r0/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/../../libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/11.1.1/ld: libavformat/libavformat.so: undefined reference to `__atomic_store_8'
| .../build/tmp-glibc/work/armv5ehf-vfp-oe-linux-gnueabi/ffmpeg/4.4-r0/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/../../libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/11.1.1/ld: libavformat/libavformat.so: undefined reference to `__atomic_load_8'
| .../build/tmp-glibc/work/armv5ehf-vfp-oe-linux-gnueabi/ffmpeg/4.4-r0/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/../../libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/11.1.1/ld: libavformat/libavformat.so: undefined reference to `__atomic_fetch_add_8'
| collect2: error: ld returned 1 exit status

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.bb

index 89c75f42505d8eb7e61314b7432cb536cc65da43..e19077541ece501fece542e5781aa10e0519f90b 100644 (file)
@@ -136,6 +136,7 @@ EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'mips32r6', '--disable-mi
 EXTRA_OECONF:append:mips = " --extra-libs=-latomic --disable-mips32r5 --disable-mipsdsp --disable-mipsdspr2 \
                              --disable-loongson2 --disable-loongson3 --disable-mmi --disable-msa --disable-msa2"
 EXTRA_OECONF:append:riscv32 = " --extra-libs=-latomic"
+EXTRA_OECONF:append:armv5 = " --extra-libs=-latomic"
 
 # gold crashes on x86, another solution is to --disable-asm but thats more hacky
 # ld.gold: internal error in relocate_section, at ../../gold/i386.cc:3684