ref-manual: Updates to ELF binary QA warning

Fixes [YOCTO #7630]

Apparently the text relocation being done here can cause runtime
performance issues.  I documented a potential work-around for the
issue and provided a cross-reference link to an external site for
more general information about text relocation at runtime.

Reported-by: Laszlo Papp <lpapp@kde.org>
(From yocto-docs rev: f7f611a6668b6cd2ee3928ad44c72dbbe5307c38)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Scott Rifenbark
2015-04-20 07:55:41 -07:00
committed by Richard Purdie
parent 0c7340105e
commit 4a90b6b0d9
2 changed files with 7 additions and 6 deletions

View File

@@ -1697,7 +1697,11 @@
<listitem><para><emphasis><filename>textrel:</filename></emphasis>
Checks for ELF binaries that contain relocations in their
<filename>.text</filename> sections, which can result in a
performance impact at runtime.</para></listitem>
performance impact at runtime.
See the explanation for the
<link linkend='qa-issue-textrel'><filename>ELF binary</filename></link>
message for more information regarding runtime performance issues.
</para></listitem>
<listitem><para><emphasis><filename>unsafe-references-in-binaries:</filename></emphasis>
Reports when a binary installed in
<filename>${base_libdir}</filename>,

View File

@@ -467,8 +467,8 @@ can be found then it should be implemented. I can't find one at the moment.
</para>
<para>
Typically, the way to solve this performance issue is to
add "-fPIC" to the compiler command-line options.
Typically, the way to solve this performance issue is
to add "-fPIC" to the compiler command-line options.
For example, given software that reads
<link linkend='var-CFLAGS'><filename>CFLAGS</filename></link>
when you build it, you can add the following to your
@@ -476,9 +476,6 @@ can be found then it should be implemented. I can't find one at the moment.
<literallayout class='monospaced'>
CFLAGS_append = " -fPIC "
</literallayout>
</para>
<para>
For more information on text relocations at runtime, see
<ulink url='http://www.akkadia.org/drepper/textrelocs.html'></ulink>.
</para>