[all-commits] [llvm/llvm-project] 8f91f3: [LLD] Search archives for symbol defs to override ...

Sean Fertile via All-commits all-commits at lists.llvm.org
Mon Dec 7 07:10:34 PST 2020


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8f91f38148e84a1b3fd8b5a090e53ff5dd0258f5
      https://github.com/llvm/llvm-project/commit/8f91f38148e84a1b3fd8b5a090e53ff5dd0258f5
  Author: Sean Fertile <sd.fertile at gmail.com>
  Date:   2020-12-07 (Mon, 07 Dec 2020)

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/InputFiles.cpp
    M lld/ELF/InputFiles.h
    M lld/ELF/Options.td
    M lld/ELF/Symbols.cpp
    M lld/docs/ld.lld.1
    A lld/test/ELF/common-archive-lookup.s
    M lld/test/ELF/warn-backrefs.s

  Log Message:
  -----------
  [LLD] Search archives for symbol defs to override COMMON symbols.

This patch changes the archive handling to enable the semantics needed
for legacy FORTRAN common blocks and block data. When we have a COMMON
definition of a symbol and are including an archive, LLD will now
search the members for global/weak defintions to override the COMMON
symbol. The previous LLD behavior (where a member would only be included
if it satisifed some other needed symbol definition) can be re-enabled with the
option '-no-fortran-common'.

Differential Revision: https://reviews.llvm.org/D86142




More information about the All-commits mailing list