diff options
Diffstat (limited to 'llvm/test/tools/llvm-objcopy')
-rw-r--r-- | llvm/test/tools/llvm-objcopy/binary-no-paddr.test | 42 | ||||
-rw-r--r-- | llvm/test/tools/llvm-objcopy/binary-paddr.test | 45 | ||||
-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.test | 4 | ||||
-rw-r--r-- | llvm/test/tools/llvm-objcopy/two-seg-remove-first.test | 4 | ||||
-rw-r--r-- | llvm/test/tools/llvm-objcopy/two-seg-remove-third-sec.test | 4 |
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 |