[yocto] Prelinking not working

Ayoub Zaki ayoub.zaki at googlemail.com
Sat Apr 22 13:44:38 PDT 2017


Hello all,

I'm trying to build an image with prelinked binaries to have better
start-up performance.
my target is a beaglebone-black default configured with hard-float-point
and a morty branch.

here are the steps I followed from the manual :

http://www.yoctoproject.org/docs/latest/mega-manual/mega-manual.html#ref-classes-image-prelink

1) in my image recipe included image prelink bbclass:

  inherit image-prelink

2) Added in my local.conf :

USER_CLASSES ?= "buildstats image-mklibs image-prelink"

3) Built my image !

wheninspecting a binary for example busybox there is no prelink section !

arm-poky-linux-readelf -S busybox
There are 28 section headers, starting at offset 0x84870:

Section Headers:
  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk
Inf Al
  [ 0]                   NULL            00000000 000000 000000 00      0
0  0
  [ 1] .interp           PROGBITS        00010134 000134 000019 00   A  0
0  1
  [ 2] .note.ABI-tag     NOTE            00010150 000150 000020 00   A  0
0  4
  [ 3] .note.gnu.build-i NOTE            00010170 000170 000024 00   A  0
0  4
  [ 4] .gnu.hash         GNU_HASH        00010194 000194 000f04 04   A  5
0  4
  [ 5] .dynsym           DYNSYM          00011098 001098 001400 10   A  6
1  4
  [ 6] .dynstr           STRTAB          00012498 002498 000a27 00   A  0
0  1
  [ 7] .gnu.version      VERSYM          00012ec0 002ec0 000280 02   A  5
0  2
  [ 8] .gnu.version_r    VERNEED         00013140 003140 000040 00   A  6
2  4
  [ 9] .rel.dyn          REL             00013180 003180 000048 08   A  5
0  4
  [10] .rel.plt          REL             000131c8 0031c8 000990 08  AI  5
 22  4
  [11] .init             PROGBITS        00013b58 003b58 00000c 00  AX  0
0  4
  [12] .plt              PROGBITS        00013b64 003b64 000e6c 04  AX  0
0  4
  [13] .text             PROGBITS        000149d0 0049d0 0703d4 00  AX  0
0  8
  [14] .fini             PROGBITS        00084da4 074da4 000008 00  AX  0
0  4
  [15] .rodata           PROGBITS        00084db0 074db0 00f201 00   A  0
0  8
  [16] .ARM.exidx        ARM_EXIDX       00093fb4 083fb4 000008 00  AL 13
0  4
  [17] .eh_frame         PROGBITS        00093fbc 083fbc 000004 00   A  0
0  4
  [18] .init_array       INIT_ARRAY      000a4000 084000 000004 04  WA  0
0  4
  [19] .fini_array       FINI_ARRAY      000a4004 084004 000004 04  WA  0
0  4
  [20] .jcr              PROGBITS        000a4008 084008 000004 00  WA  0
0  4
  [21] .dynamic          DYNAMIC         000a400c 08400c 0000f0 08  WA  6
0  4
  [22] .got              PROGBITS        000a40fc 0840fc 0004dc 04  WA  0
0  4
  [23] .data             PROGBITS        000a45d8 0845d8 000145 00  WA  0
0  4
  [24] .bss              NOBITS          000a4720 08471d 002250 00  WA  0
0  8
  [25] .ARM.attributes   ARM_ATTRIBUTES  00000000 08471d 00003d 00      0
0  1
  [26] .gnu_debuglink    PROGBITS        00000000 08475a 000014 00      0
0  1
  [27] .shstrtab         STRTAB          00000000 08476e 000100 00      0
0  1
Key to Flags:
  W (write), A (alloc), X (execute), M (merge), S (strings), I (info),
  L (link order), O (extra OS processing required), G (group), T (TLS),
  C (compressed), x (unknown), o (OS specific), E (exclude),

Any hints on how prelinking works in yocto ?

thank you !

best regards

Ayoub Zaki
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20170422/301ed249/attachment.html>


More information about the yocto mailing list