summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools/llvm-objcopy
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/tools/llvm-objcopy')
-rw-r--r--llvm/test/tools/llvm-objcopy/binary-no-paddr.test42
-rw-r--r--llvm/test/tools/llvm-objcopy/binary-paddr.test45
-rw-r--r--llvm/test/tools/llvm-objcopy/binary-segment-layout.test (renamed from llvm/test/tools/llvm-objcopy/basic-align-copy.test)13
-rw-r--r--llvm/test/tools/llvm-objcopy/two-seg-remove-end.test4
-rw-r--r--llvm/test/tools/llvm-objcopy/two-seg-remove-first.test4
-rw-r--r--llvm/test/tools/llvm-objcopy/two-seg-remove-third-sec.test4
6 files changed, 100 insertions, 12 deletions
diff --git a/llvm/test/tools/llvm-objcopy/binary-no-paddr.test b/llvm/test/tools/llvm-objcopy/binary-no-paddr.test
new file mode 100644
index 00000000000..4d2fba889c9
--- /dev/null
+++ b/llvm/test/tools/llvm-objcopy/binary-no-paddr.test
@@ -0,0 +1,42 @@
+# RUN: yaml2obj %s -o %t
+# RUN: llvm-objcopy -O binary %t %t2
+# RUN: od -t x2 -v %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 ]
+ Address: 0x1000
+ AddressAlign: 0x0000000000001000
+ Content: "c3c3c3c3"
+ - Name: .data
+ Type: SHT_PROGBITS
+ Flags: [ SHF_ALLOC ]
+ Address: 0x1004
+ AddressAlign: 0x0000000000000004
+ Content: "3232"
+ProgramHeaders:
+ - Type: PT_LOAD
+ Flags: [ PF_X, PF_R ]
+ VAddr: 0x1000
+ PAddr: 0x0000
+ Align: 0x1000
+ Sections:
+ - Section: .text
+ - Type: PT_LOAD
+ Flags: [ PF_R, PF_W ]
+ VAddr: 0x1004
+ PAddr: 0x0000
+ Align: 0x1000
+ Sections:
+ - Section: .data
+
+# CHECK: 0000000 c3c3 c3c3 3232
+# SIZE: 6
diff --git a/llvm/test/tools/llvm-objcopy/binary-paddr.test b/llvm/test/tools/llvm-objcopy/binary-paddr.test
new file mode 100644
index 00000000000..8bd7c1867a0
--- /dev/null
+++ b/llvm/test/tools/llvm-objcopy/binary-paddr.test
@@ -0,0 +1,45 @@
+# 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 ]
+ Address: 0x1000
+ AddressAlign: 0x0000000000001000
+ Content: "c3c3c3c3"
+ - Name: .data
+ Type: SHT_PROGBITS
+ Flags: [ SHF_ALLOC ]
+ Address: 0x2000
+ AddressAlign: 0x0000000000001000
+ Content: "3232"
+ProgramHeaders:
+ - Type: PT_LOAD
+ Flags: [ PF_X, PF_R ]
+ VAddr: 0x1000
+ PAddr: 0x1000
+ Align: 0x1000
+ Sections:
+ - Section: .text
+ - Type: PT_LOAD
+ Flags: [ PF_R, PF_W ]
+ VAddr: 0x2000
+ PAddr: 0x4000
+ Align: 0x1000
+ 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: 0030000 3232
+# SIZE: 12290
diff --git a/llvm/test/tools/llvm-objcopy/basic-align-copy.test b/llvm/test/tools/llvm-objcopy/binary-segment-layout.test
index 5904b043ec0..f38215f7d5e 100644
--- a/llvm/test/tools/llvm-objcopy/basic-align-copy.test
+++ b/llvm/test/tools/llvm-objcopy/binary-segment-layout.test
@@ -14,24 +14,25 @@ Sections:
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
AddressAlign: 0x0000000000001000
+ Address: 0x00
Content: "c3c3c3c3"
- Name: .data
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
- AddressAlign: 0x0000000000001000
+ AddressAlign: 0x0000000000000008
+ Address: 0x08
Content: "3232"
ProgramHeaders:
- Type: PT_LOAD
Flags: [ PF_X, PF_R ]
+ VAddr: 0x00
Sections:
- Section: .text
- Type: PT_LOAD
Flags: [ PF_R ]
+ VAddr: 0x08
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
+# CHECK: 0000000 c3c3 c3c3 0000 0000 3232
+# SIZE: 10
diff --git a/llvm/test/tools/llvm-objcopy/two-seg-remove-end.test b/llvm/test/tools/llvm-objcopy/two-seg-remove-end.test
index 9f625fb5f0b..f78a96410c1 100644
--- a/llvm/test/tools/llvm-objcopy/two-seg-remove-end.test
+++ b/llvm/test/tools/llvm-objcopy/two-seg-remove-end.test
@@ -48,8 +48,8 @@ ProgramHeaders:
- Section: .text2
- Type: PT_LOAD
Flags: [ PF_R ]
- VAddr: 0x1000
- PAddr: 0x1000
+ VAddr: 0x3000
+ PAddr: 0x3000
Sections:
- Section: .text3
- Section: .text4
diff --git a/llvm/test/tools/llvm-objcopy/two-seg-remove-first.test b/llvm/test/tools/llvm-objcopy/two-seg-remove-first.test
index 96b39ee3f79..7d0ffefbb81 100644
--- a/llvm/test/tools/llvm-objcopy/two-seg-remove-first.test
+++ b/llvm/test/tools/llvm-objcopy/two-seg-remove-first.test
@@ -48,8 +48,8 @@ ProgramHeaders:
- Section: .text2
- Type: PT_LOAD
Flags: [ PF_R ]
- VAddr: 0x1000
- PAddr: 0x1000
+ VAddr: 0x3000
+ PAddr: 0x3000
Sections:
- Section: .text3
- Section: .text4
diff --git a/llvm/test/tools/llvm-objcopy/two-seg-remove-third-sec.test b/llvm/test/tools/llvm-objcopy/two-seg-remove-third-sec.test
index ad7af7f1221..bedd4aac6ae 100644
--- a/llvm/test/tools/llvm-objcopy/two-seg-remove-third-sec.test
+++ b/llvm/test/tools/llvm-objcopy/two-seg-remove-third-sec.test
@@ -48,8 +48,8 @@ ProgramHeaders:
- Section: .text2
- Type: PT_LOAD
Flags: [ PF_R ]
- VAddr: 0x1000
- PAddr: 0x1000
+ VAddr: 0x3000
+ PAddr: 0x3000
Sections:
- Section: .text3
- Section: .text4
OpenPOWER on IntegriCloud