From: Keith Smiley Date: Sat, 29 Jan 2022 04:06:51 +0000 (-0800) Subject: [llvm-objcopy][MachO] Ignore LC_LINKER_OPTION when redefining symbols X-Git-Tag: upstream/15.0.7~18361 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7a836ba3c5f2bdbd8b802a205f21b477ef91963d;p=platform%2Fupstream%2Fllvm.git [llvm-objcopy][MachO] Ignore LC_LINKER_OPTION when redefining symbols Previously you would get this error: ``` error: unsupported load command (cmd=0x2d) ``` If the binary you were redefining the symbols of contained a LC_LINKER_OPTION load command. This command does not need to be changed when redefining symbols so we can ignore it like many others. Differential Revision: https://reviews.llvm.org/D118526 --- diff --git a/llvm/test/tools/llvm-objcopy/MachO/redefine-symbol.s b/llvm/test/tools/llvm-objcopy/MachO/redefine-symbol.s index 82d20ca..5919c93 100644 --- a/llvm/test/tools/llvm-objcopy/MachO/redefine-symbol.s +++ b/llvm/test/tools/llvm-objcopy/MachO/redefine-symbol.s @@ -43,6 +43,7 @@ # RUN: llvm-objcopy --strip-symbol _ba --redefine-sym _foo=_ba %t %t.noba # RUN: llvm-readobj --symbols %t.noba | FileCheck %s --check-prefix=NOTSTRIPPED +.linker_option "-lc" .globl _func _func: diff --git a/llvm/tools/llvm-objcopy/MachO/MachOLayoutBuilder.cpp b/llvm/tools/llvm-objcopy/MachO/MachOLayoutBuilder.cpp index 3cac774..6b731ab 100644 --- a/llvm/tools/llvm-objcopy/MachO/MachOLayoutBuilder.cpp +++ b/llvm/tools/llvm-objcopy/MachO/MachOLayoutBuilder.cpp @@ -417,6 +417,7 @@ Error MachOLayoutBuilder::layoutTail(uint64_t Offset) { case MachO::LC_SUB_UMBRELLA: case MachO::LC_SUB_CLIENT: case MachO::LC_SUB_LIBRARY: + case MachO::LC_LINKER_OPTION: // Nothing to update. break; default: