OSDN Git Service

[llvm-objcopy] Add e_machine validity check for reserved section indexes
[android-x86/external-llvm.git] / test / tools / llvm-objcopy / common-symbol.test
1 # RUN: yaml2obj %s > %t
2 # RUN: llvm-objcopy %t %t2
3 # RUN: llvm-readobj -symbols %t2 | FileCheck %s
4
5 !ELF
6 FileHeader:
7   Class:           ELFCLASS64
8   Data:            ELFDATA2LSB
9   Type:            ET_EXEC
10   Machine:         EM_HEXAGON
11 Symbols:
12   Global:
13     - Name:     test
14       Index:    SHN_COMMON
15       Value:    0x1234
16     - Name:     test2
17       Index:    SHN_HEXAGON_SCOMMON
18       Value:    0x1235
19     - Name:     test3
20       Index:    SHN_HEXAGON_SCOMMON_2
21       Value:    0x1236
22     - Name:     test4
23       Index:    SHN_HEXAGON_SCOMMON_4
24       Value:    0x1237
25     - Name:     test5
26       Index:    SHN_HEXAGON_SCOMMON_8
27       Value:    0x1238
28
29 #CHECK:     Symbols [
30 #CHECK-NEXT:   Symbol {
31 #CHECK-NEXT:    Name:
32 #CHECK-NEXT:    Value: 0x0
33 #CHECK-NEXT:    Size: 0
34 #CHECK-NEXT:    Binding: Local (0x0)
35 #CHECK-NEXT:    Type: None (0x0)
36 #CHECK-NEXT:    Other: 0
37 #CHECK-NEXT:    Section: Undefined (0x0)
38 #CHECK-NEXT:  }
39 #CHECK-NEXT:  Symbol {
40 #CHECK-NEXT:    Name: test
41 #CHECK-NEXT:    Value: 0x1234
42 #CHECK-NEXT:    Size: 0
43 #CHECK-NEXT:    Binding: Global (0x1)
44 #CHECK-NEXT:    Type: None (0x0)
45 #CHECK-NEXT:    Other: 0
46 #CHECK-NEXT:    Section: Common (0xFFF2)
47 #CHECK-NEXT:  }
48 #CHECK-NEXT:  Symbol {
49 #CHECK-NEXT:    Name: test2
50 #CHECK-NEXT:    Value: 0x1235
51 #CHECK-NEXT:    Size: 0
52 #CHECK-NEXT:    Binding: Global (0x1)
53 #CHECK-NEXT:    Type: None (0x0)
54 #CHECK-NEXT:    Other: 0
55 #CHECK-NEXT:    Section: Processor Specific (0xFF00)
56 #CHECK-NEXT:  }
57 #CHECK-NEXT:  Symbol {
58 #CHECK-NEXT:    Name: test3
59 #CHECK-NEXT:    Value: 0x1236
60 #CHECK-NEXT:    Size: 0
61 #CHECK-NEXT:    Binding: Global (0x1)
62 #CHECK-NEXT:    Type: None (0x0)
63 #CHECK-NEXT:    Other: 0
64 #CHECK-NEXT:    Section: Processor Specific (0xFF02)
65 #CHECK-NEXT:  }
66 #CHECK-NEXT:  Symbol {
67 #CHECK-NEXT:    Name: test4
68 #CHECK-NEXT:    Value: 0x1237
69 #CHECK-NEXT:    Size: 0
70 #CHECK-NEXT:    Binding: Global (0x1)
71 #CHECK-NEXT:    Type: None (0x0)
72 #CHECK-NEXT:    Other: 0
73 #CHECK-NEXT:    Section: Processor Specific (0xFF03)
74 #CHECK-NEXT:  }
75 #CHECK-NEXT:  Symbol {
76 #CHECK-NEXT:    Name: test5
77 #CHECK-NEXT:    Value: 0x1238
78 #CHECK-NEXT:    Size: 0
79 #CHECK-NEXT:    Binding: Global (0x1)
80 #CHECK-NEXT:    Type: None (0x0)
81 #CHECK-NEXT:    Other: 0
82 #CHECK-NEXT:    Section: Processor Specific (0xFF04)
83 #CHECK-NEXT:  }
84 #CHECK-NEXT:]