[gnome-continuous-yocto/gnomeostree-3.28-rocko: 6680/8267] mpeg2dec: Fix textrels QA errors on arm



commit 0a672a74085dc3e8a7949fae8d564bc6f7a70124
Author: Khem Raj <raj khem gmail com>
Date:   Wed Jul 5 19:10:00 2017 -0700

    mpeg2dec: Fix textrels QA errors on arm
    
    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]
    
    (From OE-Core rev: bbcc5322d3d0eb9e87e78ec47e71e29860af39d7)
    
    Signed-off-by: Khem Raj <raj khem gmail com>
    Signed-off-by: Ross Burton <ross burton intel com>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 ...001-check-for-available-arm-optimizations.patch |   55 +++++++++++++++++
 ...ity-of-global-symbols-used-in-ARM-specifi.patch |   63 ++++++++++++++++++++
 meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb |    5 +-
 3 files changed, 122 insertions(+), 1 deletions(-)
---
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
index 0000000..5bf68b3
--- /dev/null
+++ b/meta/recipes-multimedia/mpeg2dec/files/0001-check-for-available-arm-optimizations.patch
@@ -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
index 0000000..8301692
--- /dev/null
+++ b/meta/recipes-multimedia/mpeg2dec/files/0002-Set-visibility-of-global-symbols-used-in-ARM-specifi.patch
@@ -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
+
diff --git a/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb 
b/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb
index 8e995da..7711c2d 100644
--- a/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb
+++ b/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb
@@ -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}"
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]