File: sections-ext.test

package info (click to toggle)
llvm-toolchain-11 1%3A11.0.1-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 995,808 kB
  • sloc: cpp: 4,767,656; ansic: 760,916; asm: 477,436; python: 170,940; objc: 69,804; lisp: 29,914; sh: 23,855; f90: 18,173; pascal: 7,551; perl: 7,471; ml: 5,603; awk: 3,489; makefile: 2,573; xml: 915; cs: 573; fortran: 503; javascript: 452
file content (110 lines) | stat: -rw-r--r-- 4,026 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
## This is a test case for --section-symbols, --section-relocations and
## --section-data command line flags and their aliases.

# RUN: llvm-readobj -S --st --sr --sd %p/Inputs/trivial.obj.elf-i386

## Check the two-letter aliases above (--st, --sr, --sd) are equivalent to their
## full flag names.

# RUN: llvm-readobj -S --st %p/Inputs/trivial.obj.elf-i386 > %t.readobj-st-alias
# RUN: llvm-readobj -S --section-symbols %p/Inputs/trivial.obj.elf-i386 > %t.readobj-st-no-alias
# RUN: diff %t.readobj-st-alias %t.readobj-st-no-alias

# RUN: llvm-readobj -S --sr %p/Inputs/trivial.obj.elf-i386 > %t.readobj-sr-alias
# RUN: llvm-readobj -S --section-relocations %p/Inputs/trivial.obj.elf-i386 > %t.readobj-sr-no-alias
# RUN: diff %t.readobj-sr-alias %t.readobj-sr-no-alias

# RUN: llvm-readobj -S --sd %p/Inputs/trivial.obj.elf-i386 > %t.readobj-sd-alias
# RUN: llvm-readobj -S --section-data %p/Inputs/trivial.obj.elf-i386 > %t.readobj-sd-no-alias
# RUN: diff %t.readobj-sd-alias %t.readobj-sd-no-alias

# CHECK:      Sections [
# CHECK-NEXT:   Section {
# CHECK-NEXT:     Index: 0
# CHECK-NEXT:     Name:  (0)
# CHECK-NEXT:     Type: SHT_NULL (0x0)
# CHECK-NEXT:     Flags [ (0x0)
# CHECK-NEXT:     ]
# CHECK-NEXT:     Address: 0x0
# CHECK-NEXT:     Offset: 0x0
# CHECK-NEXT:     Size: 0
# CHECK-NEXT:     Link: 0
# CHECK-NEXT:     Info: 0
# CHECK-NEXT:     AddressAlignment: 0
# CHECK-NEXT:     EntrySize: 0
# CHECK-NEXT:     Relocations [
# CHECK-NEXT:     ]
# CHECK-NEXT:     Symbols [
# CHECK-NEXT:     ]
# CHECK-NEXT:     SectionData (
# CHECK-NEXT:     )
# CHECK-NEXT:   }
# CHECK-NEXT:   Section {
# CHECK-NEXT:     Index: 1
# CHECK-NEXT:     Name: .text (5)
# CHECK-NEXT:     Type: SHT_PROGBITS (0x1)
# CHECK-NEXT:     Flags [ (0x6)
# CHECK-NEXT:       SHF_ALLOC (0x2)
# CHECK-NEXT:       SHF_EXECINSTR (0x4)
# CHECK-NEXT:     ]
# CHECK-NEXT:     Address: 0x0
# CHECK-NEXT:     Offset: 0x40
# CHECK-NEXT:     Size: 42
# CHECK-NEXT:     Link: 0
# CHECK-NEXT:     Info: 0
# CHECK-NEXT:     AddressAlignment: 16
# CHECK-NEXT:     EntrySize: 0
# CHECK-NEXT:     Relocations [
# CHECK-NEXT:     ]
# CHECK-NEXT:     Symbols [
# CHECK-NEXT:       Symbol {
# CHECK-NEXT:         Name: .text (0)
# CHECK-NEXT:         Value: 0x0
# CHECK-NEXT:         Size: 0
# CHECK-NEXT:         Binding: Local (0x0)
# CHECK-NEXT:         Type: Section (0x3)
# CHECK-NEXT:         Other: 0
# CHECK-NEXT:         Section: .text (0x1)
# CHECK-NEXT:       }
# CHECK-NEXT:       Symbol {
# CHECK-NEXT:         Name: main (12)
# CHECK-NEXT:         Value: 0x0
# CHECK-NEXT:         Size: 42
# CHECK-NEXT:         Binding: Global (0x1)
# CHECK-NEXT:         Type: Function (0x2)
# CHECK-NEXT:         Other: 0
# CHECK-NEXT:         Section: .text (0x1)
# CHECK-NEXT:       }
# CHECK-NEXT:     ]
# CHECK-NEXT:     SectionData (
# CHECK-NEXT:       0000: 5383EC08 E8000000 005B81C3 03000000  |S........[......|
# CHECK-NEXT:       0010: 8D830000 00008904 24E8FCFF FFFFE8FC  |........$.......|
# CHECK-NEXT:       0020: FFFFFF31 C083C408 5BC3               |...1....[.|
# CHECK-NEXT:     )
# CHECK-NEXT:   }
# CHECK-NEXT:   Section {
# CHECK-NEXT:     Index: 2
# CHECK-NEXT:     Name: .rel.text (1)
# CHECK-NEXT:     Type: SHT_REL (0x9)
# CHECK-NEXT:     Flags [ (0x0)
# CHECK-NEXT:     ]
# CHECK-NEXT:     Address: 0x0
# CHECK-NEXT:     Offset: 0x360
# CHECK-NEXT:     Size: 32
# CHECK-NEXT:     Link: 8
# CHECK-NEXT:     Info: 1
# CHECK-NEXT:     AddressAlignment: 4
# CHECK-NEXT:     EntrySize: 8
# CHECK-NEXT:     Relocations [
# CHECK-NEXT:       0xC R_386_GOTPC _GLOBAL_OFFSET_TABLE_ 0x0
# CHECK-NEXT:       0x12 R_386_GOTOFF .L.str 0x0
# CHECK-NEXT:       0x1A R_386_PLT32 puts 0x0
# CHECK-NEXT:       0x1F R_386_PLT32 SomeOtherFunction 0x0
# CHECK-NEXT:     ]
# CHECK-NEXT:     Symbols [
# CHECK-NEXT:     ]
# CHECK-NEXT:     SectionData (
# CHECK-NEXT:       0000: 0C000000 0A0A0000 12000000 09020000  |................|
# CHECK-NEXT:       0010: 1A000000 040B0000 1F000000 04090000  |................|
# CHECK-NEXT:     )
# CHECK-NEXT:   }