forked from OSchip/llvm-project
3fb120f12e
Summary: With Mach-O, there is a flag requirement discrepancy between working with universal binaries and thin binaries. Many flags that don't require the `-macho` flag (for example `-private-headers` and `-disassemble`) fail to work on universal binaries unless `-macho` is given. When this happens, the error message is unhelpful, stating: The file was not recognized as a valid object file. Which can lead to confusion. This change allows generic flags to be used on universal binaries with and without the `-macho` flag. This means flags that can be used for thin files can be used consistently with fat files too. To do this, the universal binary support within `ParseInputMachO()` is extracted into a new function. This new function is called directly from `DumpInput()` when the input binary is universal. Additionally the `-arch` flag validation in `ParseInputMachO()` was extracted to be reused. Reviewers: compnerd Reviewed By: compnerd Subscribers: keith, llvm-commits Differential Revision: https://reviews.llvm.org/D48702 llvm-svn: 338792 |
||
---|---|---|
.. | ||
Inputs | ||
coff-dis-internal.test | ||
coff-disassemble-export.test | ||
debug-info-fileinfo.test | ||
disasm-specific-funcs.test | ||
disassemble-code-data-mix.s | ||
disassemble-data.test | ||
disassemble-demangle.test | ||
disassembly-show-raw.test | ||
hex-displacement.test | ||
invalid-macho-build-version.yaml | ||
lit.local.cfg | ||
macho-archive-headers.test | ||
macho-build-version.yaml | ||
macho-cstring-dump.test | ||
macho-dis-no-leading-addr.test | ||
macho-dis-symname.test | ||
macho-disassembly-kextbundle.test | ||
macho-disassembly-stripped.test | ||
macho-dylib.test | ||
macho-image-info.test | ||
macho-indirect-symbols.test | ||
macho-info-plist-nofollow.test | ||
macho-info-plist.test | ||
macho-literal-pointers-i386.test | ||
macho-literal-pointers-x86_64.test | ||
macho-literals.test | ||
macho-nofirst-symbol-disassembly.test | ||
macho-nontext-disasm.test | ||
macho-objc-meta-data.test | ||
macho-preload-relocations.test | ||
macho-print-thread.test | ||
macho-private-header.test | ||
macho-private-headers.test | ||
macho-relocations.test | ||
macho-section-contents.test | ||
macho-section-headers.test | ||
macho-section.test | ||
macho-stub-nosyms-disassembly.test | ||
macho-symbol-table.test | ||
macho-symbolized-disassembly.test | ||
macho-symbolized-subtractor-i386.test | ||
macho-symbolized-subtractor.test | ||
macho-universal-x86_64.i386.test | ||
macho-unwind-info.test | ||
malformed-machos.test | ||
openbsd-headers.test | ||
out-of-section-sym.test | ||
phdrs.test | ||
section-index.s | ||
source-interleave-x86_64.ll | ||
start-stop-address.test | ||
stripped-shared.test | ||
stubbed-dylib.test | ||
truncated-section.test |