[OE-core] [RFC] libgcrypt.so.20.0.1' has relocations in .text [textrel]
Andrea Adami
andrea.adami at gmail.com
Sat Jul 26 21:30:22 UTC 2014
On Sat, Jul 26, 2014 at 6:33 PM, Khem Raj <raj.khem at gmail.com> wrote:
> On Fri, Jul 25, 2014 at 3:21 PM, Andrea Adami <andrea.adami at gmail.com> wrote:
>> Hi, somehow this QA is repeatedly here:
>>
>> andrea at mizar:/oe/oe-core/build$ bitbake core-image-base
>> Loading cache: 100% |###########################################| ETA: 00:00:00
>> Loaded 2519 entries from dependency cache.
>> Parsing recipes: 100% |#########################################| Time: 00:00:07
>> Parsing of 2066 .bb files complete (2065 cached, 1 parsed). 2519
>> targets, 115 skipped, 0 masked, 0 errors.
>> NOTE: Resolving any missing task queue dependencies
>>
>> Build Configuration:
>> BB_VERSION = "1.23.1"
>> BUILD_SYS = "x86_64-linux"
>> NATIVELSBSTRING = "Ubuntu-14.04"
>> TARGET_SYS = "arm-oe-linux-gnueabi"
>> MACHINE = "poodle"
>> DISTRO = "nodistro"
>> DISTRO_VERSION = "nodistro.0"
>> TUNE_FEATURES = "arm armv5 thumb dsp"
>> TARGET_FPU = "soft"
>> meta = "master:188545ba82119d75f80dde322a73712ce1f0f762"
>> meta-initramfs = "master:1060b4a157c5854f071f0dd7b48d55faeef3f818"
>> meta-handheld = "master:b61b450a0639aaac6f17ec4656950e28545c90e0"
>> meta-oe
>> meta-networking = "master:1060b4a157c5854f071f0dd7b48d55faeef3f818"
>> meta-opie = "master:369016695601cea46915fe47de1d86d31dd9acd7"
>>
>> NOTE: Preparing runqueue
>> NOTE: Executing SetScene Tasks
>> NOTE: Executing RunQueue Tasks
>> NOTE: validating kernel config, see log.do_kernel_configcheck for details
>> WARNING: QA Issue: ELF binary
>> '/oe/oe-core/build/tmp-eglibc/work/armv5te-oe-linux-gnueabi/libgcrypt/1.6.1-r0/packages-split/libgcrypt/usr/lib/libgcrypt.so.20.0.1'
>> has relocations in .text [textrel]
>> NOTE: Tasks Summary: Attempted 2368 tasks of which 1071 didn't need to
>> be rerun and all succeeded.
>>
>> A quick inspection of the configurations shows th elibs are compiled
>> -fPIC -DPIC so one common cause seems ruled out.
>>
>> But I'm confused after reading
>> http://lists.gnupg.org/pipermail/gnupg-devel/2014-January/028163.html
>>
>
> Generally you use -fpic thats sufficient and optimal in most cases and
> on most architectures, in some cases when GOT is really larger than
> ABI limits you can use -fPIC it makes difference on architectures like
> ppc
> where it will use 3 instructions to access larger GOT whereas -fpic
> will use 1 instruction.
>
> For this case it could be that there is some assembly file which is
> not getting the right flags, try adding --enable-noexecstack thru
> EXTRA_OECONF and see if that helps.
>
>
Thanks for the hint but that doesn't help.
I think we have a bug in the check in insane.bbclass: it matches
TEXTREL 0x00000000
in the output of objdump -p
andrea at mizar:/oe/oe-core/build$ ./arm-oe-linux-gnueabi-objdump -p
./libgcrypt.so.20.0.1
./libgcrypt.so.20.0.1: file format elf32-littlearm
Program Header:
0x70000001 off 0x00091450 vaddr 0x00091450 paddr 0x00091450 align 2**2
filesz 0x00000008 memsz 0x00000008 flags r--
LOAD off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**15
filesz 0x0009145c memsz 0x0009145c flags r-x
LOAD off 0x0009145c vaddr 0x0009945c paddr 0x0009945c align 2**15
filesz 0x00004618 memsz 0x00004904 flags rw-
DYNAMIC off 0x00091a28 vaddr 0x00099a28 paddr 0x00099a28 align 2**2
filesz 0x00000110 memsz 0x00000110 flags rw-
NOTE off 0x000000f4 vaddr 0x000000f4 paddr 0x000000f4 align 2**2
filesz 0x00000024 memsz 0x00000024 flags r--
STACK off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**4
filesz 0x00000000 memsz 0x00000000 flags rwx
Dynamic Section:
NEEDED libgpg-error.so.0
NEEDED libcap.so.2
NEEDED libc.so.6
SONAME libgcrypt.so.20
INIT 0x00004c00
FINI 0x00073660
INIT_ARRAY 0x0009945c
INIT_ARRAYSZ 0x00000004
FINI_ARRAY 0x00099460
FINI_ARRAYSZ 0x00000004
GNU_HASH 0x00000118
STRTAB 0x00001ce0
SYMTAB 0x00000b70
STRSZ 0x000010d7
SYMENT 0x00000010
PLTGOT 0x00099b38
PLTRELSZ 0x00000238
PLTREL 0x00000011
JMPREL 0x000049c8
REL 0x00003040
RELSZ 0x00001988
RELENT 0x00000008
TEXTREL 0x00000000
VERDEF 0x00002fe8
VERDEFNUM 0x00000002
VERNEED 0x00003020
VERNEEDNUM 0x00000001
VERSYM 0x00002db8
RELCOUNT 0x00000329
Version definitions:
1 0x01 0x0f84f3d0 libgcrypt.so.20
2 0x00 0x0e5e9c66 GCRYPT_1.6
Version References:
required from libc.so.6:
0x0d696914 0x00 03 GLIBC_2.4
private flags = 5000202: [Version5 EABI] [soft-float ABI] [has entry point]
andrea at mizar:/oe/oe-core/build$
>> Worth opening a bug?
>>
>> Cheers
>>
>> Andrea
>> --
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core at lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
More information about the Openembedded-core
mailing list