[all-commits] [llvm/llvm-project] 544148: [lld-macho] -weak_{library, framework} should alway...

Jez Ng via All-commits all-commits at lists.llvm.org
Tue Dec 15 13:00:31 PST 2020


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 544148ae702ac3e94aa41b656e9f6d11b382f9f6
      https://github.com/llvm/llvm-project/commit/544148ae702ac3e94aa41b656e9f6d11b382f9f6
  Author: Jez Ng <jezng at fb.com>
  Date:   2020-12-15 (Tue, 15 Dec 2020)

  Changed paths:
    M lld/MachO/Driver.cpp
    M lld/MachO/DriverUtils.cpp
    M lld/MachO/InputFiles.cpp
    M lld/MachO/InputFiles.h
    M lld/test/MachO/invalid/duplicate-symbol.s
    M lld/test/MachO/weak-import.s

  Log Message:
  -----------
  [lld-macho] -weak_{library,framework} should always take priority

We were not setting forceWeakImport for file paths given by
`-weak_library` if we had already loaded the file. This diff fixes that
by having `loadDylib` return a cached DylibFile instance even if we have
already loaded that file.

We still avoid emitting multiple LC_LOAD_DYLIBs, but we achieve this by
making inputFiles a SetVector instead of relying on the `loadedDylibs`
cache.

Reviewed By: #lld-macho, smeenai

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


  Commit: 31845199094418173a3beadb786767b860bfda03
      https://github.com/llvm/llvm-project/commit/31845199094418173a3beadb786767b860bfda03
  Author: Jez Ng <jezng at fb.com>
  Date:   2020-12-15 (Tue, 15 Dec 2020)

  Changed paths:
    M lld/MachO/Arch/X86_64.cpp
    M lld/test/MachO/tlv-dylib.s
    M lld/test/MachO/tlv.s

  Log Message:
  -----------
  [lld-macho] Don't emit rebase opcodes for relocs in TLV sections

Their addresses are already encoded as section-relative offsets, so
there's no need to rebase them at runtime. {D85080} has some context
on the weirdness of TLV sections.

Fixes llvm.org/PR48491.

Reviewed By: #lld-macho, thakis

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


  Commit: 8a5e0688233636ac6f9a27fa57006cba9f67a945
      https://github.com/llvm/llvm-project/commit/8a5e0688233636ac6f9a27fa57006cba9f67a945
  Author: Jez Ng <jezng at fb.com>
  Date:   2020-12-15 (Tue, 15 Dec 2020)

  Changed paths:
    M lld/MachO/Driver.cpp
    M lld/MachO/Options.td
    M lld/test/MachO/sub-library.s

  Log Message:
  -----------
  [lld-macho] Support -sub_umbrella

>From what I can tell, it's essentially identical to
`-sub_library`, but it doesn't match files ending in ".dylib".

Reviewed By: #lld-macho, thakis

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


  Commit: 3aa8e071dd1ae7e9fb9e28fa9fcdb9f9fdb7aa06
      https://github.com/llvm/llvm-project/commit/3aa8e071dd1ae7e9fb9e28fa9fcdb9f9fdb7aa06
  Author: Jez Ng <jezng at fb.com>
  Date:   2020-12-15 (Tue, 15 Dec 2020)

  Changed paths:
    M lld/MachO/InputFiles.cpp
    M lld/test/MachO/implicit-dylibs.s

  Log Message:
  -----------
  [lld-macho] Add implicit dylib support for frameworks

{D93000} applied to frameworks. Partial fix for PR48511.

Reviewed By: #lld-macho, thakis

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


Compare: https://github.com/llvm/llvm-project/compare/caf4f2e372a7...3aa8e071dd1a


More information about the All-commits mailing list