|
2 | 2 | // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o |
3 | 3 | // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %p/Inputs/merge.s -o %t2.o |
4 | 4 | // RUN: ld.lld %t.o %t2.o -o %t |
5 | | -// RUN: llvm-readobj -S --section-data --symbols %t | FileCheck %s |
| 5 | +// RUN: llvm-readelf -S -s -x .mysec %t | FileCheck %s |
6 | 6 | // RUN: llvm-objdump --no-print-imm-hex -d %t | FileCheck --check-prefix=DISASM %s |
7 | 7 |
|
| 8 | +// CHECK: Name Type Address Off Size ES Flg Lk Inf Al |
| 9 | +// CHECK: .mysec PROGBITS 0000000000200120 000120 000008 04 AM 0 0 4 |
| 10 | + |
| 11 | +// CHECK-DAG: 0000000000200124 0 NOTYPE LOCAL DEFAULT 1 bar |
| 12 | +// CHECK-DAG: 0000000000200124 0 NOTYPE LOCAL DEFAULT 1 zed |
| 13 | +// CHECK-DAG: 0000000000200124 0 NOTYPE LOCAL HIDDEN 1 foo |
| 14 | + |
| 15 | +// CHECK: Hex dump of section '.mysec': |
| 16 | +// CHECK-NEXT: 0x00200120 10000000 42000000 |
| 17 | + |
8 | 18 | .section .mysec,"aM",@progbits,4 |
9 | 19 | .align 4 |
10 | 20 | .global foo |
|
17 | 27 | zed: |
18 | 28 | .long 0x42 |
19 | 29 |
|
20 | | -// CHECK: Name: .mysec |
21 | | -// CHECK-NEXT: Type: SHT_PROGBITS |
22 | | -// CHECK-NEXT: Flags [ |
23 | | -// CHECK-NEXT: SHF_ALLOC |
24 | | -// CHECK-NEXT: SHF_MERGE |
25 | | -// CHECK-NEXT: ] |
26 | | -// CHECK-NEXT: Address: 0x200120 |
27 | | -// CHECK-NEXT: Offset: 0x120 |
28 | | -// CHECK-NEXT: Size: 8 |
29 | | -// CHECK-NEXT: Link: 0 |
30 | | -// CHECK-NEXT: Info: 0 |
31 | | -// CHECK-NEXT: AddressAlignment: 4 |
32 | | -// CHECK-NEXT: EntrySize: 4 |
33 | | -// CHECK-NEXT: SectionData ( |
34 | | -// CHECK-NEXT: 0000: 10000000 42000000 |
35 | | -// CHECK-NEXT: ) |
36 | | - |
37 | | - |
38 | | -// Address of the constant 0x10 = 0x200120 = 2097440 |
39 | | -// Address of the constant 0x42 = 0x200124 = 2097444 |
40 | | - |
41 | | -// CHECK: Symbols [ |
42 | | - |
43 | | -// CHECK: Name: bar |
44 | | -// CHECK-NEXT: Value: 0x200124 |
45 | | -// CHECK-NEXT: Size: 0 |
46 | | -// CHECK-NEXT: Binding: Loca |
47 | | -// CHECK-NEXT: Type: None |
48 | | -// CHECK-NEXT: Other: 0 |
49 | | -// CHECK-NEXT: Section: .mysec |
50 | | - |
51 | | -// CHECK: Name: zed |
52 | | -// CHECK-NEXT: Value: 0x200124 |
53 | | -// CHECK-NEXT: Size: 0 |
54 | | -// CHECK-NEXT: Binding: Local |
55 | | -// CHECK-NEXT: Type: None |
56 | | -// CHECK-NEXT: Other: 0 |
57 | | -// CHECK-NEXT: Section: .mysec |
58 | | - |
59 | | -// CHECK: Name: foo |
60 | | -// CHECK-NEXT: Value: 0x200124 |
61 | | -// CHECK-NEXT: Size: 0 |
62 | | -// CHECK-NEXT: Binding: Local |
63 | | -// CHECK-NEXT: Type: None |
64 | | -// CHECK-NEXT: Other [ (0x2) |
65 | | -// CHECK-NEXT: STV_HIDDEN |
66 | | -// CHECK-NEXT: ] |
67 | | -// CHECK-NEXT: Section: .mysec |
68 | | - |
69 | | - // CHECK: ] |
70 | | - |
71 | 30 | .text |
72 | 31 | .globl _start |
73 | 32 | _start: |
|
0 commit comments