diff --git a/llvm/test/tools/llvm-objcopy/MachO/discard-all.test b/llvm/test/tools/llvm-objcopy/MachO/discard-all.test --- a/llvm/test/tools/llvm-objcopy/MachO/discard-all.test +++ b/llvm/test/tools/llvm-objcopy/MachO/discard-all.test @@ -17,6 +17,10 @@ # RUN: llvm-strip -x %t # RUN: cmp %t2 %t +## FIXME: We should also check that we don't discard symbols that are referenced +## by the indirect symbol table. However, yaml2obj currently lacks support for +## the indirect symbol table. + # CHECK: Symbols [ # CHECK-NEXT: Symbol { # CHECK-NEXT: Name: _b (1) diff --git a/llvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp b/llvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp --- a/llvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp +++ b/llvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp @@ -361,9 +361,7 @@ return E; // Mark symbols to determine which symbols are still needed. - if (Config.StripAll) - markSymbols(Config, Obj); - + markSymbols(Config, Obj); updateAndRemoveSymbols(Config, Obj); if (Config.StripAll)