[all-commits] [llvm/llvm-project] 3422f3: Reland "[mac/lld] Implement -why_load".

Nico Weber via All-commits all-commits at lists.llvm.org
Thu Dec 3 05:41:17 PST 2020


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3422f3cc6e5c8b4657297b5b7b898e5bfb60bbf5
      https://github.com/llvm/llvm-project/commit/3422f3cc6e5c8b4657297b5b7b898e5bfb60bbf5
  Author: Nico Weber <thakis at chromium.org>
  Date:   2020-12-03 (Thu, 03 Dec 2020)

  Changed paths:
    M lld/MachO/Config.h
    M lld/MachO/Driver.cpp
    M lld/MachO/Driver.h
    M lld/MachO/DriverUtils.cpp
    M lld/MachO/InputFiles.cpp
    M lld/MachO/Options.td
    A lld/test/MachO/why-load.s

  Log Message:
  -----------
  Reland "[mac/lld] Implement -why_load".

The problem was that `sym` became replaced in the call
to make<ObjFile> and referring to it afer that read memory that now
stored a different kind of symbol (a Defined instead of a LazySymbol).
Since this happens only once per archive, just copy the symbol to the
stack before make<ObjFile> and read the copy instead.

Originally reviewed at https://reviews.llvm.org/D92496




More information about the All-commits mailing list