[MC] Adjust StringTableBuilder for linked Mach-O binaries
authorAlexander Shaposhnikov <alexshap@fb.com>
Fri, 23 Oct 2020 01:03:40 +0000 (18:03 -0700)
committerAlexander Shaposhnikov <alexshap@fb.com>
Fri, 23 Oct 2020 02:19:41 +0000 (19:19 -0700)
commit27e11d7120c0caa20a167b44ba29828446a525c0
treeca9615138ef03e6044aa0de385286c243e8e9a8c
parenta89297feb5770c5cd8253fcb976035b0a76deb83
[MC] Adjust StringTableBuilder for linked Mach-O binaries

LD64 emits string tables which start with a space and a zero byte.
This diff adjusts StringTableBuilder for linked Mach-O binaries to match LD64's behavior.

Test plan: make check-all

Differential revision: https://reviews.llvm.org/D89561
12 files changed:
llvm/include/llvm/MC/MCMachObjectWriter.h
llvm/include/llvm/MC/StringTableBuilder.h
llvm/lib/MC/StringTableBuilder.cpp
llvm/test/tools/llvm-objcopy/MachO/basic-big-endian-64-copy.test
llvm/test/tools/llvm-objcopy/MachO/basic-little-endian-64-copy.test
llvm/test/tools/llvm-objcopy/MachO/code_signature_lc.test
llvm/test/tools/llvm-objcopy/MachO/remove-swift-symbols.test
llvm/test/tools/llvm-objcopy/MachO/segments-vmsize.test
llvm/test/tools/llvm-objcopy/MachO/symbol-table.test
llvm/tools/llvm-objcopy/MachO/MachOLayoutBuilder.cpp
llvm/tools/llvm-objcopy/MachO/MachOLayoutBuilder.h
llvm/unittests/MC/StringTableBuilderTest.cpp