diff options
author | Alexander Shaposhnikov <alexshap@fb.com> | 2019-10-24 17:35:10 -0700 |
---|---|---|
committer | Alexander Shaposhnikov <alexshap@fb.com> | 2019-10-25 11:42:29 -0700 |
commit | 074af2daf5f33b884088dc0200b1acb038bfcaec (patch) | |
tree | 83cc3438184ade22b9275083081592eac1560e13 /llvm/test/tools/llvm-objcopy | |
parent | d4303b38616cada612cda70c2506c4ac70f66f45 (diff) | |
download | bcm5719-llvm-074af2daf5f33b884088dc0200b1acb038bfcaec.tar.gz bcm5719-llvm-074af2daf5f33b884088dc0200b1acb038bfcaec.zip |
[llvm-objcopy][MachO] Add support for min os version load commands
Add support for min os version load commands.
Test plan: make check-all
Differential revision: https://reviews.llvm.org/D69419
Diffstat (limited to 'llvm/test/tools/llvm-objcopy')
5 files changed, 80 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-objcopy/MachO/Inputs/min_iphoneos_version_lc.yaml b/llvm/test/tools/llvm-objcopy/MachO/Inputs/min_iphoneos_version_lc.yaml new file mode 100644 index 00000000000..2ed4ebaa3be --- /dev/null +++ b/llvm/test/tools/llvm-objcopy/MachO/Inputs/min_iphoneos_version_lc.yaml @@ -0,0 +1,15 @@ +--- !mach-o +FileHeader: + magic: 0xFEEDFACE + cputype: 0x0000000C + cpusubtype: 0x00000009 + filetype: 0x00000001 + ncmds: 1 + sizeofcmds: 16 + flags: 0x00002000 +LoadCommands: + - cmd: LC_VERSION_MIN_IPHONEOS + cmdsize: 16 + version: 327680 + sdk: 0 +... diff --git a/llvm/test/tools/llvm-objcopy/MachO/Inputs/min_macos_version_lc.yaml b/llvm/test/tools/llvm-objcopy/MachO/Inputs/min_macos_version_lc.yaml new file mode 100644 index 00000000000..7787d54c260 --- /dev/null +++ b/llvm/test/tools/llvm-objcopy/MachO/Inputs/min_macos_version_lc.yaml @@ -0,0 +1,15 @@ +--- !mach-o +FileHeader: + magic: 0xFEEDFACE + cputype: 0x0000000C + cpusubtype: 0x00000009 + filetype: 0x00000001 + ncmds: 1 + sizeofcmds: 16 + flags: 0x00002000 +LoadCommands: + - cmd: LC_VERSION_MIN_MACOSX + cmdsize: 16 + version: 327680 + sdk: 0 +... diff --git a/llvm/test/tools/llvm-objcopy/MachO/Inputs/min_tvos_version_lc.yaml b/llvm/test/tools/llvm-objcopy/MachO/Inputs/min_tvos_version_lc.yaml new file mode 100644 index 00000000000..64eb77bc8c5 --- /dev/null +++ b/llvm/test/tools/llvm-objcopy/MachO/Inputs/min_tvos_version_lc.yaml @@ -0,0 +1,15 @@ +--- !mach-o +FileHeader: + magic: 0xFEEDFACE + cputype: 0x0000000C + cpusubtype: 0x00000009 + filetype: 0x00000001 + ncmds: 1 + sizeofcmds: 16 + flags: 0x00002000 +LoadCommands: + - cmd: LC_VERSION_MIN_TVOS + cmdsize: 16 + version: 327680 + sdk: 0 +... diff --git a/llvm/test/tools/llvm-objcopy/MachO/Inputs/min_watchos_version_lc.yaml b/llvm/test/tools/llvm-objcopy/MachO/Inputs/min_watchos_version_lc.yaml new file mode 100644 index 00000000000..27f1c78d85b --- /dev/null +++ b/llvm/test/tools/llvm-objcopy/MachO/Inputs/min_watchos_version_lc.yaml @@ -0,0 +1,15 @@ +--- !mach-o +FileHeader: + magic: 0xFEEDFACE + cputype: 0x0000000C + cpusubtype: 0x00000009 + filetype: 0x00000001 + ncmds: 1 + sizeofcmds: 16 + flags: 0x00002000 +LoadCommands: + - cmd: LC_VERSION_MIN_WATCHOS + cmdsize: 16 + version: 327680 + sdk: 0 +... diff --git a/llvm/test/tools/llvm-objcopy/MachO/min-version-load-commands.test b/llvm/test/tools/llvm-objcopy/MachO/min-version-load-commands.test new file mode 100644 index 00000000000..42dce2e192c --- /dev/null +++ b/llvm/test/tools/llvm-objcopy/MachO/min-version-load-commands.test @@ -0,0 +1,20 @@ +## This test verifies that llvm-objcopy correctly handles min os version load commands. +## We use separate input files since one binary is not allowed to contain more than one +## load command of this type (LC_VERSION_MIN_IPHONEOS, LC_VERSION_MIN_MACOSX, +## LC_VERSION_MIN_TVOS, LC_VERSION_MIN_WATCHOS). + +# RUN: yaml2obj %p/Inputs/min_iphoneos_version_lc.yaml > %t.iphoneos +# RUN: llvm-objcopy %t.iphoneos %t.iphoneos.copy +# RUN: cmp %t.iphoneos %t.iphoneos.copy + +# RUN: yaml2obj %p/Inputs/min_macos_version_lc.yaml > %t.macos +# RUN: llvm-objcopy %t.macos %t.macos.copy +# RUN: cmp %t.macos %t.macos.copy + +# RUN: yaml2obj %p/Inputs/min_tvos_version_lc.yaml > %t.tvos +# RUN: llvm-objcopy %t.tvos %t.tvos.copy +# RUN: cmp %t.tvos %t.tvos.copy + +# RUN: yaml2obj %p/Inputs/min_watchos_version_lc.yaml > %t.watchos +# RUN: llvm-objcopy %t.watchos %t.watchos.copy +# RUN: cmp %t.watchos %t.watchos.copy |