This is an archive of the discontinued LLVM Phabricator instance.

[LLD][DOCS][ELF]Add initial LLD LinkerScript docs page
ClosedPublic

Authored by psmith on Mar 10 2020, 7:00 AM.

Details

Summary

LLD implements Linker Scripts as they are described in the GNU ld manual. This description is far from a specification, with the only true reference the GNU ld implementation, which has undocumented behaviour that can vary from release to release. To make it easy for people to switch between linkers we try to follow GNU ld implementation details wherever possible. We reserve the right to make our own decisions where the undocumented GNU ld behaviour is not appropriate for LLD. We don't have a place to document these decisions and it can be difficult for users to find out this information.

This file is a statement of the LLD linker script implementation policy and will contain intentional deviations from GNU ld. The first patch that will add concrete details to this file is D75724

Diff Detail

Event Timeline

psmith created this revision.Mar 10 2020, 7:00 AM
Herald added a project: Restricted Project. · View Herald Transcript

Nice!

lld/docs/ELF/linker_script.rst
7

index.rst uses a different formar of URL:

`Getting Started with the LLVM System
<http://llvm.org/docs/GettingStarted.html>`

(I just do not know is it important or not, I guess it can be)

psmith updated this revision to Diff 249393.Mar 10 2020, 8:29 AM

Thanks for spotting that. I've used the same style as the other file. I've checked the resulting html and link works.

MaskRay accepted this revision.Mar 10 2020, 10:16 AM
MaskRay added inline comments.
lld/docs/ELF/linker_script.rst
7

Missing a trailing _

See https://docutils.sourceforge.io/docs/user/rst/quickref.html#external-hyperlink-targets

Configure with -DLLVM_ENABLE_SPHINX=on, then ninja -C /path/to/build docs-lld-html.

It currently fails for me probably because of the version problem:

Theme error:
An error happened in rendering the page index.
Reason: TemplateNotFound()
ninja: build stopped: subcommand failed.
This revision is now accepted and ready to land.Mar 10 2020, 10:16 AM
This revision was automatically updated to reflect the committed changes.