[ELF][test] Use llvm-readelf -l instead of llvm-readobj -l for some memory region tests

This commit is contained in:
Fangrui Song 2020-02-08 22:39:09 -08:00
parent aaddca1efd
commit 1732f50ee0
4 changed files with 25 additions and 144 deletions

View File

@ -1,5 +1,5 @@
# REQUIRES: x86
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
# RUN: llvm-mc -filetype=obj -triple=x86_64 %s -o %t.o
# RUN: echo "SECTIONS { \
# RUN: . = 0x1000; \
# RUN: .aaa : AT(0x2000) { *(.aaa) } \
@ -8,76 +8,14 @@
# RUN: .ddd : AT(0x4000) { *(.ddd) } \
# RUN: .eee 0x5000 : AT(0x5000) { *(.eee) } \
# RUN: }" > %t.script
# RUN: ld.lld %t --script %t.script -o %t2
# RUN: llvm-readobj -l %t2 | FileCheck %s
# RUN: ld.lld %t.o --script %t.script -o %t
# RUN: llvm-readelf -l %t | FileCheck %s
# CHECK: ProgramHeaders [
# CHECK-NEXT: ProgramHeader {
# CHECK-NEXT: Type: PT_LOAD
# CHECK-NEXT: Offset: 0x1000
# CHECK-NEXT: VirtualAddress: 0x1000
# CHECK-NEXT: PhysicalAddress: 0x2000
# CHECK-NEXT: FileSize: 16
# CHECK-NEXT: MemSize: 16
# CHECK-NEXT: Flags [
# CHECK-NEXT: PF_R
# CHECK-NEXT: PF_X
# CHECK-NEXT: ]
# CHECK-NEXT: Alignment:
# CHECK-NEXT: }
# CHECK-NEXT: ProgramHeader {
# CHECK-NEXT: Type: PT_LOAD
# CHECK-NEXT: Offset: 0x1010
# CHECK-NEXT: VirtualAddress: 0x1010
# CHECK-NEXT: PhysicalAddress: 0x3000
# CHECK-NEXT: FileSize: 8
# CHECK-NEXT: MemSize: 8
# CHECK-NEXT: Flags [
# CHECK-NEXT: PF_R
# CHECK-NEXT: PF_X
# CHECK-NEXT: ]
# CHECK-NEXT: Alignment: 4096
# CHECK-NEXT: }
# CHECK-NEXT: ProgramHeader {
# CHECK-NEXT: Type: PT_LOAD
# CHECK-NEXT: Offset: 0x1018
# CHECK-NEXT: VirtualAddress: 0x1018
# CHECK-NEXT: PhysicalAddress: 0x4000
# CHECK-NEXT: FileSize: 8
# CHECK-NEXT: MemSize: 8
# CHECK-NEXT: Flags [
# CHECK-NEXT: PF_R
# CHECK-NEXT: PF_X
# CHECK-NEXT: ]
# CHECK-NEXT: Alignment: 4096
# CHECK-NEXT: }
# CHECK-NEXT: ProgramHeader {
# CHECK-NEXT: Type: PT_LOAD
# CHECK-NEXT: Offset: 0x2000
# CHECK-NEXT: VirtualAddress: 0x5000
# CHECK-NEXT: PhysicalAddress: 0x5000
# CHECK-NEXT: FileSize: 9
# CHECK-NEXT: MemSize: 9
# CHECK-NEXT: Flags [
# CHECK-NEXT: PF_R
# CHECK-NEXT: PF_X
# CHECK-NEXT: ]
# CHECK-NEXT: Alignment: 4096
# CHECK-NEXT: }
# CHECK-NEXT: ProgramHeader {
# CHECK-NEXT: Type: PT_GNU_STACK
# CHECK-NEXT: Offset:
# CHECK-NEXT: VirtualAddress: 0x0
# CHECK-NEXT: PhysicalAddress: 0x0
# CHECK-NEXT: FileSize:
# CHECK-NEXT: MemSize:
# CHECK-NEXT: Flags [
# CHECK-NEXT: PF_R
# CHECK-NEXT: PF_W
# CHECK-NEXT: ]
# CHECK-NEXT: Alignment: 0
# CHECK-NEXT: }
# CHECK-NEXT: ]
# CHECK: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
# CHECK-NEXT: LOAD 0x001000 0x0000000000001000 0x0000000000002000 0x000010 0x000010 R E 0x1000
# CHECK-NEXT: LOAD 0x001010 0x0000000000001010 0x0000000000003000 0x000008 0x000008 R E 0x1000
# CHECK-NEXT: LOAD 0x001018 0x0000000000001018 0x0000000000004000 0x000008 0x000008 R E 0x1000
# CHECK-NEXT: LOAD 0x002000 0x0000000000005000 0x0000000000005000 0x000009 0x000009 R E 0x1000
.global _start
_start:

View File

@ -1,7 +1,7 @@
# REQUIRES: x86
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %p/Inputs/at2.s -o %t.o
# RUN: ld.lld -o %t.exe %t.o --script %s
# RUN: llvm-readobj -l %t.exe | FileCheck %s
# RUN: llvm-readelf -l %t.exe | FileCheck %s
# RUN: llvm-objdump -section-headers %t.exe | FileCheck %s --check-prefix=SECTIONS
MEMORY {
@ -19,33 +19,9 @@ SECTIONS {
.bar3 : { *(.bar3) } > AW AT >RAM
}
# CHECK: ProgramHeaders [
# CHECK-NEXT: ProgramHeader {
# CHECK-NEXT: Type: PT_LOAD
# CHECK-NEXT: Offset: 0x1000
# CHECK-NEXT: VirtualAddress: 0x2000
# CHECK-NEXT: PhysicalAddress: 0x6000
# CHECK-NEXT: FileSize: 16
# CHECK-NEXT: MemSize: 16
# CHECK-NEXT: Flags [
# CHECK-NEXT: PF_R
# CHECK-NEXT: PF_X
# CHECK-NEXT: ]
# CHECK-NEXT: Alignment:
# CHECK-NEXT: }
# CHECK-NEXT: ProgramHeader {
# CHECK-NEXT: Type: PT_LOAD
# CHECK-NEXT: Offset: 0x2000
# CHECK-NEXT: VirtualAddress: 0x3000
# CHECK-NEXT: PhysicalAddress: 0x7000
# CHECK-NEXT: FileSize: 24
# CHECK-NEXT: MemSize: 24
# CHECK-NEXT: Flags [
# CHECK-NEXT: PF_R
# CHECK-NEXT: PF_W
# CHECK-NEXT: ]
# CHECK-NEXT: Alignment: 4096
# CHECK-NEXT: }
# CHECK: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
# CHECK-NEXT: LOAD 0x001000 0x0000000000002000 0x0000000000006000 0x000010 0x000010 R E 0x1000
# CHECK-NEXT: LOAD 0x002000 0x0000000000003000 0x0000000000007000 0x000018 0x000018 RW 0x1000
# SECTIONS: Sections:
# SECTIONS-NEXT: Idx Name Size VMA

View File

@ -1,26 +1,17 @@
# REQUIRES: x86
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
# RUN: llvm-mc -filetype=obj -triple=x86_64 %s -o %t.o
# RUN: echo "SECTIONS { \
# RUN: . = 0x1000; \
# RUN: .aaa : { *(.aaa) } \
# RUN: .bbb : AT(0x2008) { *(.bbb) } \
# RUN: .ccc : { *(.ccc) } \
# RUN: }" > %t.script
# RUN: ld.lld %t --script %t.script -o %t2
# RUN: llvm-readobj -l %t2 | FileCheck %s
# RUN: ld.lld %t.o --script %t.script -o %t
# RUN: llvm-readelf -l %t | FileCheck %s
# CHECK: Type: PT_LOAD
# CHECK-NEXT: Offset: 0x1000
# CHECK-NEXT: VirtualAddress: 0x1000
# CHECK-NEXT: PhysicalAddress: 0x1000
# CHECK-NEXT: FileSize: 8
# CHECK-NEXT: MemSize: 8
# CHECK: Type: PT_LOAD
# CHECK-NEXT: Offset: 0x1008
# CHECK-NEXT: VirtualAddress: 0x1008
# CHECK-NEXT: PhysicalAddress: 0x2008
# CHECK-NEXT: FileSize: 17
# CHECK-NEXT: MemSize: 17
# CHECK: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
# CHECK-NEXT: LOAD 0x001000 0x0000000000001000 0x0000000000001000 0x000008 0x000008 R E 0x1000
# CHECK-NEXT: LOAD 0x001008 0x0000000000001008 0x0000000000002008 0x000011 0x000011 R E 0x1000
.global _start
_start:

View File

@ -1,9 +1,13 @@
# REQUIRES: x86
# RUN: echo '.section .text,"ax"; .quad 0' > %t.s
# RUN: echo '.section .data,"aw"; .quad 0' >> %t.s
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %t.s -o %t
# RUN: ld.lld %t --script %s -o %t2
# RUN: llvm-readobj -l %t2 | FileCheck %s
# RUN: llvm-mc -filetype=obj -triple=x86_64 %t.s -o %t.o
# RUN: ld.lld %t.o --script %s -o %t
# RUN: llvm-readelf -l %t | FileCheck %s
# CHECK: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
# CHECK-NEXT: LOAD 0x001000 0x0000000000001000 0x0000000000001000 0x000008 0x000008 R E 0x1000
# CHECK-NEXT: LOAD 0x002000 0x0000000000002000 0x0000000000001008 0x000008 0x000008 RW 0x1000
MEMORY {
FLASH (rx) : ORIGIN = 0x1000, LENGTH = 0x100
@ -15,31 +19,3 @@ SECTIONS {
__etext = .;
.data : AT (__etext) { *(.data*) } > RAM
}
# CHECK: ProgramHeaders [
# CHECK-NEXT: ProgramHeader {
# CHECK-NEXT: Type: PT_LOAD
# CHECK-NEXT: Offset: 0x1000
# CHECK-NEXT: VirtualAddress: 0x1000
# CHECK-NEXT: PhysicalAddress: 0x1000
# CHECK-NEXT: FileSize: 8
# CHECK-NEXT: MemSize: 8
# CHECK-NEXT: Flags [
# CHECK-NEXT: PF_R
# CHECK-NEXT: PF_X
# CHECK-NEXT: ]
# CHECK-NEXT: Alignment:
# CHECK-NEXT: }
# CHECK-NEXT: ProgramHeader {
# CHECK-NEXT: Type: PT_LOAD
# CHECK-NEXT: Offset: 0x2000
# CHECK-NEXT: VirtualAddress: 0x2000
# CHECK-NEXT: PhysicalAddress: 0x1008
# CHECK-NEXT: FileSize: 8
# CHECK-NEXT: MemSize: 8
# CHECK-NEXT: Flags [
# CHECK-NEXT: PF_R
# CHECK-NEXT: PF_W
# CHECK-NEXT: ]
# CHECK-NEXT: Alignment:
# CHECK-NEXT: }