[ELF] Make SyntheticSection parameter order match InputSection
[llvm-project.git] / lld / test / ELF / local.s
blobf33afc74a9840be73879b1c82a4d298a3e6e0522
1 // REQUIRES: x86
2 // Check that symbol table is correctly populated with local symbols.
3 // RUN: llvm-mc -save-temp-labels -filetype=obj -triple=x86_64-pc-linux %s -o %t
4 // RUN: ld.lld %t -o %t1
5 // RUN: llvm-readobj --symbols -S %t1 | FileCheck %s
7 // Check that Info is equal to the number of local symbols.
8 // CHECK: Section {
9 // CHECK: Name: .symtab
10 // CHECK-NEXT: Type: SHT_SYMTAB
11 // CHECK-NEXT: Flags [
12 // CHECK-NEXT: ]
13 // CHECK-NEXT: Address:
14 // CHECK-NEXT: Offset:
15 // CHECK-NEXT: Size:
16 // CHECK-NEXT: Link:
17 // CHECK-NEXT: Info: 6
19 // CHECK: Symbols [
20 // CHECK-NEXT: Symbol {
21 // CHECK-NEXT: Name:
22 // CHECK-NEXT: Value: 0x0
23 // CHECK-NEXT: Size: 0
24 // CHECK-NEXT: Binding: Local
25 // CHECK-NEXT: Type: None
26 // CHECK-NEXT: Other: 0
27 // CHECK-NEXT: Section: Undefined
28 // CHECK-NEXT: }
29 // CHECK-NEXT: Symbol {
30 // CHECK-NEXT: Name: blah
31 // CHECK-NEXT: Value:
32 // CHECK-NEXT: Size: 0
33 // CHECK-NEXT: Binding: Local
34 // CHECK-NEXT: Type: None
35 // CHECK-NEXT: Other: 0
36 // CHECK-NEXT: Section: .text
37 // CHECK-NEXT: }
38 // CHECK-NEXT: Symbol {
39 // CHECK-NEXT: Name: foo
40 // CHECK-NEXT: Value:
41 // CHECK-NEXT: Size: 0
42 // CHECK-NEXT: Binding: Local
43 // CHECK-NEXT: Type: None
44 // CHECK-NEXT: Other: 0
45 // CHECK-NEXT: Section: .text
46 // CHECK-NEXT: }
47 // CHECK-NEXT: Symbol {
48 // CHECK-NEXT: Name: goo
49 // CHECK-NEXT: Value:
50 // CHECK-NEXT: Size: 0
51 // CHECK-NEXT: Binding: Local
52 // CHECK-NEXT: Type: None
53 // CHECK-NEXT: Other: 0
54 // CHECK-NEXT: Section: .text
55 // CHECK-NEXT: }
56 // CHECK-NEXT: Symbol {
57 // CHECK-NEXT: Name: abs
58 // CHECK-NEXT: Value:
59 // CHECK-NEXT: Size: 0
60 // CHECK-NEXT: Binding: Local
61 // CHECK-NEXT: Type: None
62 // CHECK-NEXT: Other: 0
63 // CHECK-NEXT: Section: Absolute
64 // CHECK-NEXT: }
65 // CHECK-NEXT: Symbol {
66 // CHECK-NEXT: Name: .Labs
67 // CHECK-NEXT: Value:
68 // CHECK-NEXT: Size: 0
69 // CHECK-NEXT: Binding: Local
70 // CHECK-NEXT: Type: None
71 // CHECK-NEXT: Other: 0
72 // CHECK-NEXT: Section: Absolute
73 // CHECK-NEXT: }
74 // CHECK-NEXT: Symbol {
75 // CHECK-NEXT: Name: _start
76 // CHECK-NEXT: Value:
77 // CHECK-NEXT: Size: 0
78 // CHECK-NEXT: Binding: Global
79 // CHECK-NEXT: Type: None
80 // CHECK-NEXT: Other: 0
81 // CHECK-NEXT: Section: .text
82 // CHECK-NEXT: }
83 // CHECK-NEXT: ]
85 .global _start
86 _start:
88 blah:
89 foo:
90 goo:
91 abs = 42
92 .Labs = 43