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>
This commit is contained in:
Khem Raj
2017-07-05 19:10:00 -07:00
committed by Richard Purdie
parent 23df57b150
commit 0a672a7408
3 changed files with 122 additions and 1 deletions

View File

@@ -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

View File

@@ -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

View 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}"