llvm-project/lld/docs
Fangrui Song c0065f1182 [ELF] Default to --no-fortran-common
D86142 introduced --fortran-common and defaulted it to true (matching GNU ld
but deviates from gold/macOS ld64). The default state was motivated by transparently
supporting some FORTRAN 77 programs (Fortran 90 deprecated common blocks).
Now I think it again. I believe we made a mistake to change the default:

* this is a weird and legacy rule, though the breakage is very small
* --fortran-common introduced complexity to parallel symbol resolution and will slow down it
* --fortran-common more likely causes issues when users mix COMMON and
  STB_GLOBAL definitions (see https://github.com/llvm/llvm-project/issues/48570 and
  https://maskray.me/blog/2022-02-06-all-about-common-symbols).
  I have seen several issues in our internal projects and Android.
  On the other hand, --no-fortran-common is safer since
  COMMON/STB_GLOBAL have the same semantics related to archive member extraction.

Therefore I think we should switch back, not punishing the common uage.
A platform wanting --fortran-common can implement ld.lld as a shell script
wrapper around `lld -flavor gnu --fortran-common "$@"`.

Reviewed By: ikudrin, sfertile

Differential Revision: https://reviews.llvm.org/D122450
2022-03-30 09:12:09 -07:00
..
ELF [ELF] Support (TYPE=<value>) to customize the output section type 2022-02-17 12:10:58 -08:00
_static
_templates [lld][docs] Update _templates/indexsidebar.html after Bugzilla->GitHub issue migration 2021-12-30 13:34:45 -08:00
llvm-theme
CMakeLists.txt
NewLLD.rst Doc: Links should use https 2020-03-22 22:49:33 +01:00
Partitions.rst
README.txt
ReleaseNotes.rst [ELF] Default to --no-fortran-common 2022-03-30 09:12:09 -07:00
WebAssembly.rst [lld][WebAssembly] Add --unresolved-symbols=import-dynamic 2022-03-15 15:10:21 -07:00
conf.py [docs] Remove hard-coded version numbers from sphinx configs 2022-02-01 23:14:12 -08:00
error_handling_script.rst [lld] Provide a hook to customize undefined symbols error handling 2020-11-09 13:28:48 +01:00
hello.png
index.rst [ELF] Hint -z nostart-stop-gc for __start_ undefined references 2021-12-02 11:58:25 -08:00
ld.lld.1 [ELF] Add -z pack-relative-relocs 2022-03-10 19:54:21 -08:00
make.bat
missingkeyfunction.rst
partitions.dot
partitions.svg
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.

See sphinx_intro.rst for more details.