[all-commits] [llvm/llvm-project] 4c49f9: [lld-macho] Handle non-extern symbols marked as pr...

Jez Ng via All-commits all-commits at lists.llvm.org
Fri Jun 18 13:36:46 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4c49f9ceafd6bdc261e0ee157a2ea0fa943d6921
      https://github.com/llvm/llvm-project/commit/4c49f9ceafd6bdc261e0ee157a2ea0fa943d6921
  Author: Jez Ng <jezng at fb.com>
  Date:   2021-06-18 (Fri, 18 Jun 2021)

  Changed paths:
    M lld/MachO/InputFiles.cpp
    A lld/test/MachO/local-private-extern.yaml

  Log Message:
  -----------
  [lld-macho] Handle non-extern symbols marked as private extern

Previously, we asserted that such a case was invalid, but in fact
`ld -r` can emit such symbols if the input contained a (true) private
extern, or if it contained a symbol started with "L".

Non-extern symbols marked as private extern are essentially equivalent
to regular TU-scoped symbols, so no new functionality is needed.

Reviewed By: #lld-macho, thakis

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


  Commit: 1d31fb8d122b1117cf20a9edc09812db8472e930
      https://github.com/llvm/llvm-project/commit/1d31fb8d122b1117cf20a9edc09812db8472e930
  Author: Jez Ng <jezng at fb.com>
  Date:   2021-06-18 (Fri, 18 Jun 2021)

  Changed paths:
    M lld/MachO/Driver.cpp
    M lld/MachO/Driver.h
    M lld/MachO/DriverUtils.cpp

  Log Message:
  -----------
  [lld-macho] Have path-related functions return std::string, not StringRef

findLibrary() returned a StringRef while findFramework & other helper
functions returned std::strings. Standardize on std::string.

(I initially tried making the helper functions all return StringRefs,
but I realized we shouldn't return input StringRefs since their
lifetimes would not be obvious from the calling code.)


Compare: https://github.com/llvm/llvm-project/compare/8fdd475c8563...1d31fb8d122b


More information about the All-commits mailing list