[PATCH] D93263: [lld-macho] Implement option: -undefined TREATMENT

Nico Weber via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Jan 9 18:03:47 PST 2021


thakis added a comment.

As far as I can tell, ld64 only accepts `-undefined warning` and `-undefined suppress` with `-flat_namespace` (which lld/MachO doesn't yet implement). That makes sense since with a flat namespace the undefineds can be found at dynamic link time, but with two-level lookup they can't since they containing framework isn't known (…right?).

Is it intentional that we deviate from ld64 here?

  % clang main.c -Wl,-undefined,suppress
  ld: can't use -undefined warning or suppress with -twolevel_namespace
  clang: error: linker command failed with exit code 1 (use -v to see invocation)
  % clang main.c -Wl,-undefined,warning
  ld: can't use -undefined warning or suppress with -twolevel_namespace
  clang: error: linker command failed with exit code 1 (use -v to see invocation)


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D93263/new/

https://reviews.llvm.org/D93263



More information about the llvm-commits mailing list