summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools/llvm-objcopy/basic-align-copy.test
diff options
context:
space:
mode:
authorPetr Hosek <phosek@chromium.org>2017-08-04 21:09:26 +0000
committerPetr Hosek <phosek@chromium.org>2017-08-04 21:09:26 +0000
commitc4df10e139a690e60cd332ac34491a4d358aa2c2 (patch)
tree94350218a24d7c09c253ca5a34b6a4951f220a57 /llvm/test/tools/llvm-objcopy/basic-align-copy.test
parent64426e3ba83b4dba8d802fb4e97643d17f556655 (diff)
downloadbcm5719-llvm-c4df10e139a690e60cd332ac34491a4d358aa2c2.tar.gz
bcm5719-llvm-c4df10e139a690e60cd332ac34491a4d358aa2c2.zip
Reland "[llvm][llvm-objcopy] Added support for outputting to binary in llvm-objcopy"
This change adds the "-O binary" flag which directs llvm-objcopy to output the object file to the same format as GNU objcopy does when given the flag "-O binary". This was done by splitting the Object class into two subclasses ObjectELF and ObjectBianry which each output a different format but relay on the same code to read in the Object in Object. Patch by Jake Ehrlich Differential Revision: https://reviews.llvm.org/D34480 llvm-svn: 310127
Diffstat (limited to 'llvm/test/tools/llvm-objcopy/basic-align-copy.test')
-rw-r--r--llvm/test/tools/llvm-objcopy/basic-align-copy.test37
1 files changed, 37 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-objcopy/basic-align-copy.test b/llvm/test/tools/llvm-objcopy/basic-align-copy.test
new file mode 100644
index 00000000000..5904b043ec0
--- /dev/null
+++ b/llvm/test/tools/llvm-objcopy/basic-align-copy.test
@@ -0,0 +1,37 @@
+# RUN: yaml2obj %s -o %t
+# RUN: llvm-objcopy -O binary %t %t2
+# RUN: od -t x2 %t2 | FileCheck %s
+# RUN: wc -c < %t2 | FileCheck %s --check-prefix=SIZE
+
+!ELF
+FileHeader:
+ Class: ELFCLASS64
+ Data: ELFDATA2LSB
+ Type: ET_EXEC
+ Machine: EM_X86_64
+Sections:
+ - Name: .text
+ Type: SHT_PROGBITS
+ Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
+ AddressAlign: 0x0000000000001000
+ Content: "c3c3c3c3"
+ - Name: .data
+ Type: SHT_PROGBITS
+ Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
+ AddressAlign: 0x0000000000001000
+ Content: "3232"
+ProgramHeaders:
+ - Type: PT_LOAD
+ Flags: [ PF_X, PF_R ]
+ Sections:
+ - Section: .text
+ - Type: PT_LOAD
+ Flags: [ PF_R ]
+ Sections:
+ - Section: .data
+
+# CHECK: 0000000 c3c3 c3c3 0000 0000 0000 0000 0000 0000
+# CHECK-NEXT: 0000020 0000 0000 0000 0000 0000 0000 0000 0000
+# CHECK-NEXT: *
+# CHECK-NEXT: 0010000 3232
+# SIZE: 4098
OpenPOWER on IntegriCloud