[all-commits] [llvm/llvm-project] a03318: [lld-macho] Stricter Bitcode Symbol Resolution

kyulee-com via All-commits all-commits at lists.llvm.org
Tue Aug 22 12:03:54 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a033184abb80b84c1fa6c2bc6a915c24f56b40f1
      https://github.com/llvm/llvm-project/commit/a033184abb80b84c1fa6c2bc6a915c24f56b40f1
  Author: Kyungwoo Lee <kyulee at meta.com>
  Date:   2023-08-22 (Tue, 22 Aug 2023)

  Changed paths:
    M lld/MachO/InputFiles.cpp
    M lld/MachO/InputFiles.h
    M lld/MachO/LTO.cpp
    M lld/MachO/SymbolTable.cpp
    A lld/test/MachO/symbol-resolution-error.ll
    A lld/test/MachO/symbol-resolution-warning.ll

  Log Message:
  -----------
  [lld-macho] Stricter Bitcode Symbol Resolution

LLD resolves symbols before performing LTO compilation, assuming that the symbols in question are resolved by the resulting object files from LTO. However, there is a scenario where the prevailing symbols might be resolved incorrectly due to specific assembly symbols not appearing in the symbol table of the bitcode. This patch deals with such a scenario by generating an error instead of silently allowing a mis-linkage.
If a prevailing symbol is resolved through post-loaded archives via LC linker options, a warning will now be issued.

Reviewed By: #lld-macho, thevinster

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




More information about the All-commits mailing list