On Thu, Sep 15, 2016 at 3:37 PM, Phil Blundell wrote:
> On Thu, 2016-09-15 at 12:22 +0530, Sujith H wrote:
> > From: Fahad Usman
> >
> > 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=sof