diff options
author | Steven Wu <stevenwu@apple.com> | 2017-01-23 20:07:55 +0000 |
---|---|---|
committer | Steven Wu <stevenwu@apple.com> | 2017-01-23 20:07:55 +0000 |
commit | 5b54a42c0f1178dbb367866f92cd4efe88710bd6 (patch) | |
tree | 55464f3be2aa42cdf522652eb39e7969d85a5c24 /llvm/test/tools | |
parent | cddeb751a11ce5771bedaa36f04775fb0aa56212 (diff) | |
download | bcm5719-llvm-5b54a42c0f1178dbb367866f92cd4efe88710bd6.tar.gz bcm5719-llvm-5b54a42c0f1178dbb367866f92cd4efe88710bd6.zip |
Add LC_BUILD_VERSION load command
Summary:
Add a new load command LC_BUILD_VERSION. It is a generic version of
LC_*_VERSION_MIN load_command used on Apple platforms. Instead of having
a seperate load command for each platform, LC_BUILD_VERSION is recording
platform info as an enum. It also records SDK version, min_os, and tools
that used to build the binary.
rdar://problem/29781291
Reviewers: enderby
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D29044
llvm-svn: 292824
Diffstat (limited to 'llvm/test/tools')
-rw-r--r-- | llvm/test/tools/llvm-objdump/X86/invalid-macho-build-version.yaml | 44 | ||||
-rw-r--r-- | llvm/test/tools/llvm-objdump/X86/macho-build-version.yaml | 57 |
2 files changed, 101 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-objdump/X86/invalid-macho-build-version.yaml b/llvm/test/tools/llvm-objdump/X86/invalid-macho-build-version.yaml new file mode 100644 index 00000000000..a81bb2dea60 --- /dev/null +++ b/llvm/test/tools/llvm-objdump/X86/invalid-macho-build-version.yaml @@ -0,0 +1,44 @@ +# RUN: yaml2obj %s | not llvm-objdump -macho -private-headers - + +--- !mach-o +FileHeader: + magic: 0xFEEDFACF + cputype: 0x01000007 + cpusubtype: 0x00000003 + filetype: 0x00000004 + ncmds: 2 + sizeofcmds: 192 + flags: 0x00000000 + reserved: 0 +LoadCommands: + - cmd: LC_SEGMENT_64 + cmdsize: 152 + segname: __TEXT + vmaddr: 4294967296 + vmsize: 8192 + fileoff: 0 + filesize: 3099 + maxprot: 7 + initprot: 5 + nsects: 1 + flags: 0 + Sections: + - sectname: __text + segname: __TEXT + addr: 0x0000000100001160 + size: 3099 + offset: 0x00001160 + align: 4 + reloff: 0x00000000 + nreloc: 0 + flags: 0x80000400 + reserved1: 0x00000000 + reserved2: 0x00000000 + reserved3: 0x00000000 + - cmd: LC_BUILD_VERSION + cmdsize: 80 + platform: 2 + minos: 0x00080000 + sdk: 0x00090000 + ntools: 0 +... diff --git a/llvm/test/tools/llvm-objdump/X86/macho-build-version.yaml b/llvm/test/tools/llvm-objdump/X86/macho-build-version.yaml new file mode 100644 index 00000000000..acefb6956d1 --- /dev/null +++ b/llvm/test/tools/llvm-objdump/X86/macho-build-version.yaml @@ -0,0 +1,57 @@ +# RUN: yaml2obj %s | llvm-objdump -macho -private-headers - | FileCheck %s + +--- !mach-o +FileHeader: + magic: 0xFEEDFACF + cputype: 0x01000007 + cpusubtype: 0x00000003 + filetype: 0x00000004 + ncmds: 2 + sizeofcmds: 192 + flags: 0x00000000 + reserved: 0 +LoadCommands: + - cmd: LC_SEGMENT_64 + cmdsize: 152 + segname: __TEXT + vmaddr: 4294967296 + vmsize: 8192 + fileoff: 0 + filesize: 3099 + maxprot: 7 + initprot: 5 + nsects: 1 + flags: 0 + Sections: + - sectname: __text + segname: __TEXT + addr: 0x0000000100001160 + size: 3099 + offset: 0x00001160 + align: 4 + reloff: 0x00000000 + nreloc: 0 + flags: 0x80000400 + reserved1: 0x00000000 + reserved2: 0x00000000 + reserved3: 0x00000000 + - cmd: LC_BUILD_VERSION + cmdsize: 32 + platform: 2 + minos: 0x00080000 + sdk: 0x00090000 + ntools: 1 + Tools: + - tool: 1 + version: 0x00000000 +... + +CHECK: Load command 1 +CHECK-NEXT: cmd LC_BUILD_VERSION +CHECK-NEXT: cmdsize 32 +CHECK-NEXT: platform ios +CHECK-NEXT: sdk 9.0 +CHECK-NEXT: minos 8.0 +CHECK-NEXT: ntools 1 +CHECK-NEXT: tool clang +CHECK-NEXT: version n/a |