]> code.ossystems Code Review - openembedded-core.git/commitdiff
mpeg2dec: Fix textrels QA errors on arm
authorKhem Raj <raj.khem@gmail.com>
Thu, 6 Jul 2017 02:10:00 +0000 (19:10 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 10 Jul 2017 23:11:07 +0000 (00:11 +0100)
Fixes
WARNING: mpeg2dec-0.5.1-r0 do_package_qa: QA Issue: ELF binary '/mnt/a/oe/build/tmp/work/armv5te-bec-linux-musleabi/mpeg2dec/0.5.1-r0/packages-split/libmpeg2/usr/lib/libmpeg2.so.0.1.0' has relocations in .text [textrel]

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/recipes-multimedia/mpeg2dec/files/0001-check-for-available-arm-optimizations.patch [new file with mode: 0644]
meta/recipes-multimedia/mpeg2dec/files/0002-Set-visibility-of-global-symbols-used-in-ARM-specifi.patch [new file with mode: 0644]
meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb

diff --git a/meta/recipes-multimedia/mpeg2dec/files/0001-check-for-available-arm-optimizations.patch b/meta/recipes-multimedia/mpeg2dec/files/0001-check-for-available-arm-optimizations.patch
new file mode 100644 (file)
index 0000000..5bf68b3
--- /dev/null
@@ -0,0 +1,55 @@
+From cbcff58ed670c8edc0be1004384cbe0fd07d8d26 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 5 Jul 2017 18:49:21 -0700
+Subject: [PATCH 1/2] check for available arm optimizations
+
+Taken From
+http://sources.debian.net/src/mpeg2dec/0.5.1-7/debian/patches/65_arm-test-with-compiler.patch/
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index acdcb1e..2c0a721 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -59,7 +59,7 @@ elif test x"$GCC" = x"yes"; then
+     AC_TRY_CFLAGS([$TRY_CFLAGS $CFLAGS],[OPT_CFLAGS="$TRY_CFLAGS"])
+     dnl arch-specific flags
+-    arm_conditional=false
++    build_arm_opt=false
+     case "$host" in
+     i?86-* | k?-* | x86_64-* | amd64-*)
+       AC_DEFINE([ARCH_X86],,[x86 architecture])
+@@ -102,8 +102,12 @@ elif test x"$GCC" = x"yes"; then
+     alpha*)
+       AC_DEFINE([ARCH_ALPHA],,[alpha architecture]);;
+     arm*)
+-      arm_conditional=:
+-      AC_DEFINE([ARCH_ARM],,[ARM architecture]);;
++      AC_LANG(C)
++      AC_COMPILE_IFELSE(
++              [AC_LANG_SOURCE([[
++                      void foo(void) { __asm__ volatile("pld [r1]"); }]])],
++              build_arm_opt=true; AC_DEFINE([ARCH_ARM],,[ARM architecture]),
++              build_arm_opt=false);;
+     esac
+ elif test x"$CC" = x"tendracc"; then
+     dnl TenDRA portability checking compiler
+@@ -123,7 +127,7 @@ else
+     esac
+ fi
+-AM_CONDITIONAL(ARCH_ARM, ${arm_conditional})
++AM_CONDITIONAL(ARCH_ARM, test x$build_arm_opt = xtrue)
+ dnl Checks for libtool - this must be done after we set cflags
+ AC_LIBTOOL_WIN32_DLL
+-- 
+2.13.2
+
diff --git a/meta/recipes-multimedia/mpeg2dec/files/0002-Set-visibility-of-global-symbols-used-in-ARM-specifi.patch b/meta/recipes-multimedia/mpeg2dec/files/0002-Set-visibility-of-global-symbols-used-in-ARM-specifi.patch
new file mode 100644 (file)
index 0000000..8301692
--- /dev/null
@@ -0,0 +1,63 @@
+From f9d9dc92d75f8910e3cd5fdcbea72e505cdf3493 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 5 Jul 2017 19:03:36 -0700
+Subject: [PATCH 2/2] Set visibility of global symbols used in ARM specific
+ assembly file to internal
+
+Taken from
+http://sources.debian.net/src/mpeg2dec/0.5.1-7/debian/patches/60_arm-private-symbols.patch/
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libmpeg2/motion_comp_arm_s.S | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/libmpeg2/motion_comp_arm_s.S b/libmpeg2/motion_comp_arm_s.S
+index f6c3d7d..c921f7c 100644
+--- a/libmpeg2/motion_comp_arm_s.S
++++ b/libmpeg2/motion_comp_arm_s.S
+@@ -23,7 +23,8 @@
+ @ ----------------------------------------------------------------
+       .align
+-      .global MC_put_o_16_arm
++      .global   MC_put_o_16_arm
++      .internal MC_put_o_16_arm
+ MC_put_o_16_arm:
+       @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height)
+       pld [r1]
+@@ -83,7 +84,8 @@ MC_put_o_16_arm_align_jt:
+ @ ----------------------------------------------------------------
+       .align
+-      .global MC_put_o_8_arm
++      .global   MC_put_o_8_arm
++      .internal MC_put_o_8_arm
+ MC_put_o_8_arm:
+       @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height)
+       pld [r1]
+@@ -152,7 +154,8 @@ MC_put_o_8_arm_align_jt:
+ .endm
+       .align
+-      .global MC_put_x_16_arm
++      .global   MC_put_x_16_arm
++      .internal MC_put_x_16_arm
+ MC_put_x_16_arm:
+       @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height)
+       pld [r1]
+@@ -244,7 +247,8 @@ MC_put_x_16_arm_align_jt:
+ @ ----------------------------------------------------------------
+       .align
+-      .global MC_put_x_8_arm
++      .global   MC_put_x_8_arm
++      .internal MC_put_x_8_arm
+ MC_put_x_8_arm:
+       @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height)
+       pld [r1]
+-- 
+2.13.2
+
index 8e995daa7caa28f8987bf38c56e01de63b2eaa9f..7711c2dc10981037cc6f7463ecb5a6851c4d8a23 100644 (file)
@@ -7,7 +7,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
                     file://include/mpeg2.h;beginline=1;endline=22;md5=7766f4fcb58f0f8413c49a746f2ab89b"
 
 SRC_URI = "http://libmpeg2.sourceforge.net/files/libmpeg2-${PV}.tar.gz \
-           file://altivec_h_needed.patch"
+           file://altivec_h_needed.patch \
+           file://0001-check-for-available-arm-optimizations.patch \
+           file://0002-Set-visibility-of-global-symbols-used-in-ARM-specifi.patch \
+           "
 
 S = "${WORKDIR}/libmpeg2-${PV}"