[OE-core] What do these warnings mean?

Phil Blundell pb at pbcl.net
Thu Feb 14 13:10:36 UTC 2013


On Thu, 2013-02-14 at 05:35 -0700, Gary Thomas wrote:
> WARNING: QA Issue: ELF binary 
> '/home/local/p82_soft/tmp/work/cortexa9-vfp-neon-amltd-linux-gnueabi/gst-plugins-bad/0.10.23-r3.ti1.6.4.3/packages-split/gst-plugins-bad-vp8/usr/lib/gstreamer-0.10/libgstvp8.so' 
> has relocations in .text
> WARNING: QA Issue: ELF binary '/home/local/p82_soft/tmp/work/cortexa9-vfp-neon-amltd-linux-gnueabi/libav/0.8.3-r0/packages-split/libavcodec/usr/lib/libavcodec.so.53.35.0' has 
> relocations in .text
> 
> Exactly what do these mean?  What do I do to get rid of them?

Generally they mean that some non-PIC code has leaked into a shared
library.  The most common way for that to happen is for a DSO final link
to accidentally pull in some members from a static library.  There are a
few other possible causes as well, mostly toolchain bugs or limitations
(you used to get this under some circumstances when enabling full unwind
tables on MIPS for example), but non-PIC code is the most likely one.

You can use readelf or objdump to inspect the relocation table for the
files in question.  In most cases there is a fairly obvious culprit,
e.g. an R_ARM_PC24 reloc with an incriminating function name. 

Having relocations in .text is undesirable because it wastes memory and
slows down program startup.  They can occasionally cause more severe
problems: for example, if were using SELinux then you might find that
your security policy didn't allow those binaries to be run at all.
(This was the default policy on Fedora for a while; I've no idea if it
still is.)

p.






More information about the Openembedded-core mailing list