forked from OSchip/llvm-project
63830b2794
Summary: This patch adds a new flag, --warn-ifunc-textrel, to work around a glibc bug. When a code with ifunc symbols is used to produce an object file with text relocations, lld always succeeds. However, if that object file is linked using an old version of glibc, the resultant binary just crashes with segmentation fault when it is run (The bug is going to be corrected as of glibc 2.19). Since there is no way to tell beforehand what library the object file will be linked against in the future, there does not seem to be a fool-proof way for lld to give an error only in cases where the binary will crash. So, with this change (dated 2018-09-25), lld starts to give a warning, contingent on a new command line flag that does not have a gnu counter part. The default value for --warn-ifunc-textrel is false, so lld behaviour will not change unless the user explicitly asks lld to give a warning. Users that link with a glibc library with version 2.19 or newer, or does not use ifunc symbols, or does not generate object files with text relocations do not need to take any action. Other users may consider to start passing warn-ifunc-textrel to lld to get early warnings. Reviewers: ruiu, espindola Reviewed By: ruiu Subscribers: grimar, MaskRay, markj, emaste, arichardson, llvm-commits Differential Revision: https://reviews.llvm.org/D52430 llvm-svn: 343628 |
||
---|---|---|
.. | ||
_static | ||
_templates | ||
llvm-theme | ||
AtomLLD.rst | ||
CMakeLists.txt | ||
Driver.rst | ||
NewLLD.rst | ||
README.txt | ||
Readers.rst | ||
ReleaseNotes.rst | ||
WebAssembly.rst | ||
conf.py | ||
design.rst | ||
development.rst | ||
getting_started.rst | ||
hello.png | ||
index.rst | ||
ld.lld.1 | ||
make.bat | ||
open_projects.rst | ||
sphinx_intro.rst | ||
windows_support.rst |
README.txt
lld Documentation ================= The lld documentation is written using the Sphinx documentation generator. It is currently tested with Sphinx 1.1.3. We currently use the 'nature' theme and a Beaker inspired structure. To rebuild documents into html: [/lld/docs]> make html