summaryrefslogtreecommitdiffstats
path: root/lld/docs
Commit message (Collapse)AuthorAgeFilesLines
...
* lld-link: Mention comdat selection work in the 9.0.0 wip release notesNico Weber2019-02-181-0/+3
| | | | | | Differential Revision: https://reviews.llvm.org/D58301 llvm-svn: 354241
* [WebAssembly] Refactor handling of weak undefined functions. NFC.Sam Clegg2019-02-071-0/+12
| | | | | | | | | | Also add to the docs. This is refactor in preparation for https://reviews.llvm.org/D57909 Differential Revision: https://reviews.llvm.org/D57920 llvm-svn: 353478
* [WebAssembly] Improve docs for wasm linkerSam Clegg2019-02-071-6/+29
| | | | | | Differential Revision: https://reviews.llvm.org/D57913 llvm-svn: 353451
* docs: add missingkeyfunction to doctree, fix titleHans Wennborg2019-02-072-2/+3
| | | | llvm-svn: 353399
* [ELF] Default to --no-allow-shlib-undefined for executablesFangrui Song2019-02-021-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This follows the ld.bfd/gold behavior. The error check is useful as it captures a common type of ld.so undefined symbol errors as link-time errors: // a.cc => a.so (not linked with -z defs) void f(); // f is undefined void g() { f(); } // b.cc => executable with a DT_NEEDED entry on a.so void g(); int main() { g(); } // ld.so errors when g() is executed (lazy binding) or when the program is started (-z now) // symbol lookup error: ... undefined symbol: f Reviewers: ruiu, grimar, pcc, espindola Reviewed By: ruiu Subscribers: llvm-commits, emaste, arichardson Tags: #llvm Differential Revision: https://reviews.llvm.org/D57569 llvm-svn: 352943
* Fix some sphinx doc errors.James Y Knight2019-02-011-0/+8
| | | | llvm-svn: 352887
* Adjust documentation for git migration.James Y Knight2019-01-292-28/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes most references to the paths: llvm.org/svn/ llvm.org/git/ llvm.org/viewvc/ github.com/llvm-mirror/ github.com/llvm-project/ reviews.llvm.org/diffusion/ to instead point to https://github.com/llvm/llvm-project. This is *not* a trivial substitution, because additionally, all the checkout instructions had to be migrated to instruct users on how to use the monorepo layout, setting LLVM_ENABLE_PROJECTS instead of checking out various projects into various subdirectories. I've attempted to not change any scripts here, only documentation. The scripts will have to be addressed separately. Additionally, I've deleted one document which appeared to be outdated and unneeded: lldb/docs/building-with-debug-llvm.txt Differential Revision: https://reviews.llvm.org/D57330 llvm-svn: 352514
* Update the file headers across all of the LLVM projects in the monorepoChandler Carruth2019-01-191-2/+3
| | | | | | | | | | | | | | | | | to reflect the new license. We understand that people may be surprised that we're moving the header entirely to discuss the new license. We checked this carefully with the Foundation's lawyer and we believe this is the correct approach. Essentially, all code in the project is now made available by the LLVM project under our new license, so you will see that the license headers include that license only. Some of our contributors have contributed code under our old license, and accordingly, we have retained a copy of our old license notice in the top-level files in each project and repository. llvm-svn: 351636
* [ELF] Implement option to force PIC compatible ThunksPeter Smith2019-01-161-0/+2
| | | | | | | | | | | | | | | | | By default LLD will generate position independent Thunks when the --pie or --shared option is used. Reference to absolute addresses is permitted in other cases. For some embedded systems position independent thunks are needed for code that executes before the MMU has been set up. The option --pic-veneer is used by ld.bfd to force position independent thunks. The patch adds --pic-veneer as the option is needed for the Linux kernel on Arm. fixes pr39886 Differential Revision: https://reviews.llvm.org/D55505 llvm-svn: 351326
* Bump the trunk version to 9.0.0svnHans Wennborg2019-01-162-42/+9
| | | | llvm-svn: 351320
* lld/include/lld/Core/TODO.txtNico Weber2019-01-144-22/+18
| | | | | | | | | | | - fix minor grammar stuff (I'm not a native speaker either, but it's hopefully a net improvement) - mention that lld/coff is used in production - update AArch64, ARM to production quality - remove lld/include/lld/Core/TODO.txt which looks outdated Differential Revision: https://reviews.llvm.org/D56600 llvm-svn: 351030
* Add a release note about MSP430 support.Rui Ueyama2019-01-111-0/+2
| | | | llvm-svn: 350975
* [docs] Add a known limitation to the comment about lld supporting GCC/MinGW ↵Martin Storsjo2019-01-051-1/+4
| | | | | | | | object files. NFC. Differential Revision: https://reviews.llvm.org/D56335 llvm-svn: 350465
* keymethod -> keyfunctionFangrui Song2018-12-211-1/+1
| | | | | | Pointed out by ruiu in rLLD349969 llvm-svn: 349974
* key method -> key functionFangrui Song2018-12-212-11/+11
| | | | | | | | The latter is what is actually called in the ABI http://itanium-cxx-abi.github.io/cxx-abi/abi.html#vague-vtable Pointed out by rsmith llvm-svn: 349969
* Add a doc for missing key function and an error message referencing the doc.Rui Ueyama2018-12-211-0/+84
| | | | | | | | | | | | | | | | Summary: This is a common error, and because many people don't know what the key function is, it is sometimes very confusing. The doc was originally written by Brooks Moses and slightly edited by me. Reviewers: MaskRay, espindola Subscribers: emaste, llvm-commits, arichardson Differential Revision: https://reviews.llvm.org/D55968 llvm-svn: 349941
* [WebAssembly] Update docsSam Clegg2018-11-292-20/+93
| | | | | | | | | This is an reland of rL343155 which got reverted because of a sphinx failure on the buildbot. Differential Revision: https://reviews.llvm.org/D54982 llvm-svn: 347830
* [ELF] - Implement -z nodefaultlibGeorge Rimar2018-11-271-0/+4
| | | | | | | | | | | | | | | | | | | | This is https://bugs.llvm.org//show_bug.cgi?id=38978 Spec says that: "Objects may be built with the -z nodefaultlib option to suppress any search of the default locations at runtime. Use of this option implies that all the dependencies of an object can be located using its runpaths. Without this option, which is the most common case, no matter how you augment the runtime linker's library search path, its last element is always /usr/lib for 32-bit objects and /usr/lib/64 for 64-bit objects." The patch implements this option. Differential revision: https://reviews.llvm.org/D54577 llvm-svn: 347647
* [LLD][ELF] - Fix mistype. NFC.George Rimar2018-11-231-1/+1
| | | | llvm-svn: 347485
* [WebAssembly] Initial support for shared objects (-shared)Sam Clegg2018-11-152-0/+10
| | | | | | | | | | | | Based on the initial spec proposal: https://github.com/WebAssembly/tool-conventions/blob/master/DynamicLinking.md The llvm/codegen side of this is still missing but I believe this change is still worth landing as an incremental step Differential Revision: https://reviews.llvm.org/D54249 llvm-svn: 346918
* Add an entry to the release notes.Rui Ueyama2018-10-091-0/+3
| | | | llvm-svn: 344062
* [docs] Mention some notable feature in the release notesMartin Storsjo2018-10-051-0/+15
| | | | | | Differential Revision: https://reviews.llvm.org/D52908 llvm-svn: 343878
* ReleaseNotes: remove superfluous 's' in 'can promotes'Ed Maste2018-10-041-1/+1
| | | | llvm-svn: 343820
* Introduce a flag to warn when ifunc symbols are used with text relocations.Ali Tamur2018-10-021-0/+11
| | | | | | | | | | | | | | | | | 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
* Add an explanation about cross linking.Rui Ueyama2018-10-011-2/+17
| | | | | | Differential Revision: https://reviews.llvm.org/D52567 llvm-svn: 343495
* Fix typo in LLD man pageJames Henderson2018-10-011-1/+1
| | | | llvm-svn: 343449
* Revert "[WebAssembly] Update docs"Sam Clegg2018-09-272-84/+18
| | | | | | | | | | This change reverts rL343155. It broke the builtbot, even though it works for me locally: http://lab.llvm.org:8011/builders/lld-sphinx-docs/builds/26336 Must be a sphinx version issue I guess. llvm-svn: 343156
* [WebAssembly] Update docsSam Clegg2018-09-272-18/+84
| | | | | | Differential Revision: https://reviews.llvm.org/D52048 llvm-svn: 343155
* Update a --help message and add -execute-only to the man page.Rui Ueyama2018-09-251-0/+3
| | | | llvm-svn: 343032
* [ELF] - Add -z global option to manual.George Rimar2018-09-251-0/+6
| | | | | | | This was requested during review of D49374, but for some unknown reason was not in the final commit. llvm-svn: 342954
* Correct RISC-V link in release notesEd Maste2018-09-241-1/+1
| | | | llvm-svn: 342887
* Update release notes.Rui Ueyama2018-09-211-1/+9
| | | | llvm-svn: 342754
* Update release notes.Rui Ueyama2018-09-211-2/+6
| | | | llvm-svn: 342748
* lld: add -z interpose supportEd Maste2018-09-141-1/+7
| | | | | | | | | | | -z interpose sets the DF_1_INTERPOSE flag, marking the object as an interposer. Via FreeBSD PR 230604, linking Valgrind with lld failed. Differential Revision: https://reviews.llvm.org/D52094 llvm-svn: 342239
* ReleaseNotes: update links to use httpsHans Wennborg2018-09-101-2/+2
| | | | llvm-svn: 341788
* [docs] Add --print-icf-sections to ld.lld.1Fangrui Song2018-08-211-0/+2
| | | | llvm-svn: 340253
* Update docs version and clear release notes after 8.0.0 version bumpHans Wennborg2018-08-012-5/+5
| | | | llvm-svn: 338558
* windows_support.rst: Add links for downloadingHans Wennborg2018-07-311-0/+7
| | | | llvm-svn: 338363
* index.rst: pe/coff does support pdbs nowHans Wennborg2018-07-311-1/+1
| | | | llvm-svn: 338362
* [docs] Sort ld.lld.1 optionsFangrui Song2018-07-301-43/+43
| | | | | | | | | | Reviewers: ruiu Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D50022 llvm-svn: 338326
* [docs] Add missing options to ld.lld.1Fangrui Song2018-07-301-24/+30
| | | | | | Differential Revision: https://reviews.llvm.org/D49938 llvm-svn: 338320
* [docs] Update ld.lld.1Fangrui Song2018-07-301-2/+8
| | | | llvm-svn: 338275
* ELF: Implement --icf=safe using address-significance tables.Peter Collingbourne2018-07-181-0/+2
| | | | | | Differential Revision: https://reviews.llvm.org/D48146 llvm-svn: 337429
* Implement --{push,pop}-state.Rui Ueyama2018-05-311-0/+9
| | | | | | | | | | | | | | | | | | | | --push-state implemented in this patch saves the states of --as-needed, --whole-archive and --static. It saves less number of flags than GNU linkers. Since even GNU linkers save different flags, no one seems to care about the details. In this patch, I tried to save the minimal number of flags to not complicate the implementation and the siutation. I'm not personally happy about adding the --{push,pop}-state flags though. That options seem too hacky to me. However, gcc started using the options since GCC 8 when GNU ld is available at the build time. Therefore, lld is no longer a drop-in replacmenet for GNU linker for that machine without supporting the flags. Fixes https://bugs.llvm.org/show_bug.cgi?id=34567 Differential Revision: https://reviews.llvm.org/D47542 llvm-svn: 333646
* [WebAssembly] Remove final -wasm component of target triple. NFC.Sam Clegg2018-05-101-1/+1
| | | | | | This has been the default for a while now. llvm-svn: 332009
* Add -warn-backrefs (r329636) to lld's man pageEd Maste2018-04-291-1/+10
| | | | llvm-svn: 331133
* Update man page for long opts that accept = after r326506Ed Maste2018-03-021-7/+7
| | | | | | | | | | | Also remove the space between --lto-O and value, as the option with a space is not accepted at present. Leave --opt-remarks-filename as it does not currently accept the = form. llvm.org/pr36563 llvm-svn: 326536
* Correct man page description for --section-startEd Maste2018-03-011-1/+1
| | | | | | | | | The argument is section=address, not just address. (For compatibility with GNU linkers we need to, but do not yet, accept --section-start=section=address.) llvm-svn: 326463
* Where possible use --long-opt=value in lld man pageEd Maste2018-03-011-20/+20
| | | | | | | | | | | | | | We intend to maintain compatibility with GNU ld, and in the GNU world long options are conventionally specified as --long-option=value. For whatever reason GNU ld.bfd accepts both --long-option value and --long-option=value, but documents the former. Follow suit. Some lld long options do not accept the = form; this is probably a bug to be fixed (along with a man page update). Reported by Ingo Schwarze, for --entry. llvm-svn: 326459
* Correct markup and nits in ld.lld man pageEd Maste2018-03-011-38/+40
| | | | | | Patch by Ingo Schwarze llvm-svn: 326446
OpenPOWER on IntegriCloud