summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools/llvm-objcopy
diff options
context:
space:
mode:
authorAlexander Shaposhnikov <alexshap@fb.com>2019-10-24 17:35:10 -0700
committerAlexander Shaposhnikov <alexshap@fb.com>2019-10-25 11:42:29 -0700
commit074af2daf5f33b884088dc0200b1acb038bfcaec (patch)
tree83cc3438184ade22b9275083081592eac1560e13 /llvm/test/tools/llvm-objcopy
parentd4303b38616cada612cda70c2506c4ac70f66f45 (diff)
downloadbcm5719-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')
-rw-r--r--llvm/test/tools/llvm-objcopy/MachO/Inputs/min_iphoneos_version_lc.yaml15
-rw-r--r--llvm/test/tools/llvm-objcopy/MachO/Inputs/min_macos_version_lc.yaml15
-rw-r--r--llvm/test/tools/llvm-objcopy/MachO/Inputs/min_tvos_version_lc.yaml15
-rw-r--r--llvm/test/tools/llvm-objcopy/MachO/Inputs/min_watchos_version_lc.yaml15
-rw-r--r--llvm/test/tools/llvm-objcopy/MachO/min-version-load-commands.test20
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
OpenPOWER on IntegriCloud