All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] x264: add textrel to INSANE_SKIP to skip the warning
@ 2016-09-15  6:52 Sujith H
  2016-09-15 10:07 ` Phil Blundell
  0 siblings, 1 reply; 4+ messages in thread
From: Sujith H @ 2016-09-15  6:52 UTC (permalink / raw)
  To: openembedded-core; +Cc: Sujith Haridasan

From: Fahad Usman <fahad_usman@mentor.com>

This change help fix the warning message:

x264/r2491+gitAUTOINC+c8a773ebfc-r0/packages-split/x264/usr/lib/libx264.so.144' has relocations in .text [textrel]

Adding textrel to INSANE_SKIP resolves this issue.
This issue was observed in cyclone5 and imx6qsabresd BSP's.
So generalizing the patch.

Signed-off-by: Fahad Usman <fahad_usman@mentor.com>
Signed-off-by: Sujith Haridasan <Sujith_Haridasan@mentor.com>
---
 meta/recipes-multimedia/x264/x264_git.bb | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-multimedia/x264/x264_git.bb b/meta/recipes-multimedia/x264/x264_git.bb
index fa44f9c..393310f 100644
--- a/meta/recipes-multimedia/x264/x264_git.bb
+++ b/meta/recipes-multimedia/x264/x264_git.bb
@@ -48,6 +48,6 @@ do_install() {
     oe_runmake install DESTDIR=${D}
 }
 
-# PIC can't be enabled for 32-bit x86
-INSANE_SKIP_${PN}_append_x86 = " textrel"
+# PIC can't be enabled for few BSP's
+INSANE_SKIP_${PN}_append = " textrel"
 
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] x264: add textrel to INSANE_SKIP to skip the warning
  2016-09-15  6:52 [PATCH] x264: add textrel to INSANE_SKIP to skip the warning Sujith H
@ 2016-09-15 10:07 ` Phil Blundell
  2016-09-21  8:14   ` sujith h
  0 siblings, 1 reply; 4+ messages in thread
From: Phil Blundell @ 2016-09-15 10:07 UTC (permalink / raw)
  To: Sujith H, openembedded-core; +Cc: Sujith Haridasan

On Thu, 2016-09-15 at 12:22 +0530, Sujith H wrote:
> From: Fahad Usman <fahad_usman@mentor.com>
> 
> This change help fix the warning message:
> 
> x264/r2491+gitAUTOINC+c8a773ebfc-r0/packages-
> split/x264/usr/lib/libx264.so.144' has relocations in .text [textrel]
> 
> Adding textrel to INSANE_SKIP resolves this issue.

This is a poor commit message.  Adding textrel to INSANE_SKIP prevents
the check from being done, so it is fairly self-evident that it will
suppress the corresponding warning message.  Please add an explanation
of why this is an appropriate thing to do, i.e. why the textrels are
present and why you can't get rid of them by other means.

In particular please clarify whether you want to do this because the
textrels are absolutely unavoidable for some reason on your
architecture, or just because you think this is a good trade-off for
performance.  If the latter then I think the change probably belongs in
a distro or BSP layer not in oe-core.

p.



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] x264: add textrel to INSANE_SKIP to skip the warning
  2016-09-15 10:07 ` Phil Blundell
@ 2016-09-21  8:14   ` sujith h
  2016-09-21  9:17     ` Phil Blundell
  0 siblings, 1 reply; 4+ messages in thread
From: sujith h @ 2016-09-21  8:14 UTC (permalink / raw)
  To: Phil Blundell; +Cc: Sujith Haridasan, OE-core

[-- Attachment #1: Type: text/plain, Size: 8298 bytes --]

On Thu, Sep 15, 2016 at 3:37 PM, Phil Blundell <pb@pbcl.net> wrote:

> On Thu, 2016-09-15 at 12:22 +0530, Sujith H wrote:
> > From: Fahad Usman <fahad_usman@mentor.com>
> >
> > This change help fix the warning message:
> >
> > x264/r2491+gitAUTOINC+c8a773ebfc-r0/packages-
> > split/x264/usr/lib/libx264.so.144' has relocations in .text [textrel]
> >
> > Adding textrel to INSANE_SKIP resolves this issue.
>
> This is a poor commit message.  Adding textrel to INSANE_SKIP prevents
> the check from being done, so it is fairly self-evident that it will
> suppress the corresponding warning message.  Please add an explanation
> of why this is an appropriate thing to do, i.e. why the textrels are
> present and why you can't get rid of them by other means.
>
> In particular please clarify whether you want to do this because the
> textrels are absolutely unavoidable for some reason on your
> architecture, or just because you think this is a good trade-off for
> performance.  If the latter then I think the change probably belongs in
> a distro or BSP layer not in oe-core.
>

As per the reference from
http://www.yoctoproject.org/docs/current/ref-manual/ref-manual.html#qa-issue-textrel
I added CFLAGS_append = " -fPIC " in the recipe and tried to build x264.
Below is the result.


Loading cache: 100%
|##########################################################################################################################################################|
Time: 0:00:00
Loaded 1313 entries from dependency cache.
Parsing recipes: 100%
|########################################################################################################################################################|
Time: 0:00:02
Parsing of 877 .bb files complete (865 cached, 12 parsed). 1325 targets, 69
skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies

Build Configuration:
BB_VERSION        = "1.31.1"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "universal"
TARGET_SYS        = "arm-poky-linux-gnueabi"
MACHINE           = "cyclone5"
DISTRO            = "poky"
DISTRO_VERSION    = "2.1+snapshot-20160921"
TUNE_FEATURES     = "arm armv7a vfp  neon"
TARGET_FPU        = "softfp"
meta
meta-poky
meta-yocto-bsp    = "toaster-next:75927f8f6809b9b4696fc438b240bc7a3db561e2"
meta-altera       = "master:1bfc1ac36f28352a79a7ba98dc9d74608d76f1e6"

Initialising tasks: 100%
|#####################################################################################################################################################|
Time: 0:00:01
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
WARNING: x264-r2491+gitAUTOINC+c8a773ebfc-r0 do_package_qa: QA Issue: ELF
binary
'/home/sujith/poky-push/build-qemuarm/tmp/work/armv7a-neon-poky-linux-gnueabi/x264/r2491+gitAUTOINC+c8a773ebfc-r0/packages-split/x264/usr/lib/libx264.so.144'
has relocations in .text [textrel]
NOTE: Tasks Summary: Attempted 407 tasks of which 394 didn't need to be
rerun and all succeeded.

Summary: There was 1 WARNING message shown.

I have tried to debug the compile log where I found, there are .S files in
the source. Here is the small snippet of the compile log

arm-poky-linux-gnueabi-gcc  -march=armv7-a -mfpu=neon  -mfloat-abi=softfp
--sysroot=/home/sujith/poky-push/build-qemuarm/tmp/sysroots/cyclone5
-Wno-maybe-uninitialized -Wshadow -O3 -ffast-math  -O2 -pipe -g
-feliminate-unused-debug-types
-fdebug-prefix-map=/home/sujith/poky-push/build-qemuarm/tmp/work/armv7a-neon-poky-linux-gnueabi/x264/r2491+gitAUTOINC+c8a773ebfc-r0=/usr/src/debug/x264/r2491+gitAUTOINC+c8a773ebfc-r0
-fdebug-prefix-map=/home/sujith/poky-push/build-qemuarm/tmp/sysroots/x86_64-linux=
-fdebug-prefix-map=/home/sujith/poky-push/build-qemuarm/tmp/sysroots/cyclone5=
-fPIC  -Wall -I. -I.
--sysroot=/home/sujith/poky-push/build-qemuarm/tmp/sysroots/cyclone5
-std=gnu99 -fPIC -fomit-frame-pointer -fno-tree-vectorize   -c -o
encoder/slicetype-cl.o encoder/slicetype-cl.c
arm-poky-linux-gnueabi-gcc -I. -I. -c -DSTACK_ALIGNMENT=16 -DPIC
-DHIGH_BIT_DEPTH=0 -DBIT_DEPTH=8 -o common/arm/cpu-a.o common/arm/cpu-a.S
arm-poky-linux-gnueabi-gcc -I. -I. -c -DSTACK_ALIGNMENT=16 -DPIC
-DHIGH_BIT_DEPTH=0 -DBIT_DEPTH=8 -o common/arm/pixel-a.o
common/arm/pixel-a.S
arm-poky-linux-gnueabi-gcc -I. -I. -c -DSTACK_ALIGNMENT=16 -DPIC
-DHIGH_BIT_DEPTH=0 -DBIT_DEPTH=8 -o common/arm/mc-a.o common/arm/mc-a.S
arm-poky-linux-gnueabi-gcc -I. -I. -c -DSTACK_ALIGNMENT=16 -DPIC
-DHIGH_BIT_DEPTH=0 -DBIT_DEPTH=8 -o common/arm/dct-a.o common/arm/dct-a.S
arm-poky-linux-gnueabi-gcc -I. -I. -c -DSTACK_ALIGNMENT=16 -DPIC
-DHIGH_BIT_DEPTH=0 -DBIT_DEPTH=8 -o common/arm/quant-a.o
common/arm/quant-a.S
arm-poky-linux-gnueabi-gcc -I. -I. -c -DSTACK_ALIGNMENT=16 -DPIC
-DHIGH_BIT_DEPTH=0 -DBIT_DEPTH=8 -o common/arm/deblock-a.o
common/arm/deblock-a.S
arm-poky-linux-gnueabi-gcc -I. -I. -c -DSTACK_ALIGNMENT=16 -DPIC
-DHIGH_BIT_DEPTH=0 -DBIT_DEPTH=8 -o common/arm/predict-a.o
common/arm/predict-a.S
rm -f libx264.a
arm-poky-linux-gnueabi-gcc  -march=armv7-a -mfpu=neon  -mfloat-abi=softfp
--sysroot=/home/sujith/poky-push/build-qemuarm/tmp/sysroots/cyclone5 -o
libx264.so.144  common/mc.o common/predict.o common/pixel.o
common/macroblock.o common/frame.o common/dct.o common/cpu.o common/cabac.o
common/common.o common/osdep.o common/rectangle.o common/set.o
common/quant.o common/deblock.o common/vlc.o common/mvpred.o
common/bitstream.o encoder/analyse.o encoder/me.o encoder/ratecontrol.o
encoder/set.o encoder/macroblock.o encoder/cabac.o encoder/cavlc.o
encoder/encoder.o encoder/lookahead.o common/threadpool.o common/arm/mc-c.o
common/arm/predict-c.o common/opencl.o encoder/slicetype-cl.o
common/arm/cpu-a.o common/arm/pixel-a.o common/arm/mc-a.o
common/arm/dct-a.o common/arm/quant-a.o common/arm/deblock-a.o
common/arm/predict-a.o   -shared -Wl,-soname,libx264.so.144  -Wl,-Bsymbolic
-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed
--sysroot=/home/sujith/poky-push/build-qemuarm/tmp/sysroots/cyclone5 -lm
-lpthread -ldl

 Hence I tried to edit the config.mak to get the .S files compile with
-fPIC. Basically updated the ASFLAGS. But that didn't helped me either.
Also tried to add, TARGET_CC_ARCH += " -fPIC ". May be I am wrong with
TARGET_CC_ARCH one.

I have verified with the command eu-findtextrel shown below in the devshell:

[root@sujith git]# eu-findtextrel libx264.so.144
either the file containing the function 'x264_pixel_ssim_end4_neon' or the
file containing the function '$a' is not compiled with -fpic/-fPIC
either the file containing the function '$d' or the file containing the
function '$a' is not compiled with -fpic/-fPIC
either the file containing the function 'memcpy_aligned_8_8_neon' or the
file containing the function '$a' is not compiled with -fpic/-fPIC
either the file containing the function 'x264_zigzag_scan_4x4_frame_neon'
or the file containing the function '$a' is not compiled with -fpic/-fPIC
either the file containing the function 'x264_coeff_last64_neon' or the
file containing the function '$a' is not compiled with -fpic/-fPIC
either the file containing the function '$d' or the file containing the
function '$a' is not compiled with -fpic/-fPIC
either the file containing the function '$d' or the file containing the
function '$d' is not compiled with -fpic/-fPIC
either the file containing the function '$d' or the file containing the
function '$d' is not compiled with -fpic/-fPIC
either the file containing the function '$d' or the file containing the
function '$d' is not compiled with -fpic/-fPIC
either the file containing the function '$d' or the file containing the
function '$d' is not compiled with -fpic/-fPIC
[root@sujith git]#

The above mentioned functions are part of .S files. I am not sure how to
proceed with this. May be a helping hand would be appreciated to move
further.

Yes, of course I can update the commit message.

Fahad, any idea to share?


Thanks,
Sujith H



>
> p.
>
>


-- 
സുജിത് ഹരിദാസന്
Bangalore
<Project>Contributor to KDE project
<Project>Contributor to Yocto project
http://fci.wikia.com/wiki/Anti-DRM-Campaign
<Blog> http://sujithh.info
C-x C-c

[-- Attachment #2: Type: text/html, Size: 10030 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] x264: add textrel to INSANE_SKIP to skip the warning
  2016-09-21  8:14   ` sujith h
@ 2016-09-21  9:17     ` Phil Blundell
  0 siblings, 0 replies; 4+ messages in thread
From: Phil Blundell @ 2016-09-21  9:17 UTC (permalink / raw)
  To: sujith h; +Cc: Sujith Haridasan, OE-core

On Wed, 2016-09-21 at 13:44 +0530, sujith h wrote:
> 
> The above mentioned functions are part of .S files.

OK.  In that case, please just mention in the commit message that you
can't easily get rid of the TEXTRELs because they are coming from
assembler source files that would (I assume) need significant
modifications to work as PIC.  I think that's fine.

thanks

p.



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-09-21  9:17 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-15  6:52 [PATCH] x264: add textrel to INSANE_SKIP to skip the warning Sujith H
2016-09-15 10:07 ` Phil Blundell
2016-09-21  8:14   ` sujith h
2016-09-21  9:17     ` Phil Blundell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.