All of lore.kernel.org
 help / color / mirror / Atom feed
From: sujith h <sujith.h@gmail.com>
To: Phil Blundell <pb@pbcl.net>
Cc: Sujith Haridasan <Sujith_Haridasan@mentor.com>,
	OE-core <openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH] x264: add textrel to INSANE_SKIP to skip the warning
Date: Wed, 21 Sep 2016 13:44:19 +0530	[thread overview]
Message-ID: <CADyYWLm2xZrc4PGUo4fpFjf+Lb7Wuz457DWzdnTRRFn9HwNDjw@mail.gmail.com> (raw)
In-Reply-To: <1473934030.3329.337.camel@pbcl.net>

[-- 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 --]

  reply	other threads:[~2016-09-21  8:14 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
2016-09-21  9:17     ` Phil Blundell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CADyYWLm2xZrc4PGUo4fpFjf+Lb7Wuz457DWzdnTRRFn9HwNDjw@mail.gmail.com \
    --to=sujith.h@gmail.com \
    --cc=Sujith_Haridasan@mentor.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=pb@pbcl.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.