blob: 55783c8cb3c7c0f8f1c19902fd52e90d1bd23f02 [file] [log] [blame]
Jordan Rupprechtdbf552c2018-11-12 18:02:38 +00001RUN: llvm-readobj --symbols %p/Inputs/trivial.obj.coff-i386 \
Eric Christopher9cad53c2013-04-03 18:31:38 +00002RUN: | FileCheck %s -check-prefix COFF
Jordan Rupprechtdbf552c2018-11-12 18:02:38 +00003RUN: llvm-readobj --symbols %p/Inputs/trivial.obj.elf-i386 \
Eric Christopher9cad53c2013-04-03 18:31:38 +00004RUN: | FileCheck %s -check-prefix ELF
Jordan Rupprechtdbf552c2018-11-12 18:02:38 +00005RUN: llvm-readobj --symbols %p/Inputs/trivial.obj.wasm \
Sam Clegg135a4b82017-04-14 19:50:44 +00006RUN: | FileCheck %s -check-prefix WASM
Eric Christopher9cad53c2013-04-03 18:31:38 +00007
Jordan Rupprechtdbf552c2018-11-12 18:02:38 +00008# Check flag aliases produce identical output.
9RUN: llvm-readobj --symbols %p/Inputs/trivial.obj.elf-i386 > %t.symbols
10RUN: llvm-readobj --syms %p/Inputs/trivial.obj.elf-i386 > %t.syms
11RUN: cmp %t.symbols %t.syms
12RUN: llvm-readobj -t %p/Inputs/trivial.obj.elf-i386 > %t.t
13RUN: cmp %t.symbols %t.t
14RUN: llvm-readelf -s -elf-output-style LLVM %p/Inputs/trivial.obj.elf-i386 > %t.lowers
15RUN: cmp %t.symbols %t.lowers
16
Eric Christopher9cad53c2013-04-03 18:31:38 +000017COFF: Symbols [
18COFF-NEXT: Symbol {
Rui Ueyamaf078eff2014-03-18 23:37:53 +000019COFF-NEXT: Name: @comp.id
20COFF-NEXT: Value: 14766605
David Majnemerf4dc4562014-09-20 00:25:06 +000021COFF-NEXT: Section: IMAGE_SYM_ABSOLUTE (-1)
Rui Ueyamaf078eff2014-03-18 23:37:53 +000022COFF-NEXT: BaseType: Null (0x0)
23COFF-NEXT: ComplexType: Null (0x0)
24COFF-NEXT: StorageClass: Static (0x3)
25COFF-NEXT: AuxSymbolCount: 0
26COFF-NEXT: }
27COFF-NEXT: Symbol {
28COFF-NEXT: Name: @feat.00
29COFF-NEXT: Value: 2147484049
David Majnemerf4dc4562014-09-20 00:25:06 +000030COFF-NEXT: Section: IMAGE_SYM_ABSOLUTE (-1)
Rui Ueyamaf078eff2014-03-18 23:37:53 +000031COFF-NEXT: BaseType: Null (0x0)
32COFF-NEXT: ComplexType: Null (0x0)
33COFF-NEXT: StorageClass: Static (0x3)
34COFF-NEXT: AuxSymbolCount: 0
35COFF-NEXT: }
36COFF-NEXT: Symbol {
Eric Christopher9cad53c2013-04-03 18:31:38 +000037COFF-NEXT: Name: .text
38COFF-NEXT: Value: 0
39COFF-NEXT: Section: .text (1)
40COFF-NEXT: BaseType: Null (0x0)
41COFF-NEXT: ComplexType: Null (0x0)
42COFF-NEXT: StorageClass: Static (0x3)
43COFF-NEXT: AuxSymbolCount: 1
44COFF-NEXT: AuxSectionDef {
45COFF-NEXT: Length: 22
46COFF-NEXT: RelocationCount: 3
47COFF-NEXT: LineNumberCount: 0
48COFF-NEXT: Checksum: 0x0
49COFF-NEXT: Number: 1
50COFF-NEXT: Selection: 0x0
Eric Christopher9cad53c2013-04-03 18:31:38 +000051COFF-NEXT: }
52COFF-NEXT: }
53
54ELF: Symbols [
55ELF-NEXT: Symbol {
Rafael Espindola7c346c22013-06-05 20:33:54 +000056ELF-NEXT: Name: (0)
57ELF-NEXT: Value: 0x0
58ELF-NEXT: Size: 0
59ELF-NEXT: Binding: Local (0x0)
60ELF-NEXT: Type: None (0x0)
61ELF-NEXT: Other: 0
Rafael Espindolacfee7ef2014-03-24 05:00:34 +000062ELF-NEXT: Section: Undefined (0x0)
Rafael Espindola7c346c22013-06-05 20:33:54 +000063ELF-NEXT: }
64ELF-NEXT: Symbol {
Eric Christopher9cad53c2013-04-03 18:31:38 +000065ELF-NEXT: Name: trivial.ll (1)
66ELF-NEXT: Value: 0x0
67ELF-NEXT: Size: 0
68ELF-NEXT: Binding: Local (0x0)
69ELF-NEXT: Type: File (0x4)
70ELF-NEXT: Other: 0
Rafael Espindolacfee7ef2014-03-24 05:00:34 +000071ELF-NEXT: Section: Absolute (0xFFF1)
Eric Christopher9cad53c2013-04-03 18:31:38 +000072ELF-NEXT: }
73ELF-NEXT: Symbol {
74ELF-NEXT: Name: .L.str (39)
75ELF-NEXT: Value: 0x0
76ELF-NEXT: Size: 13
77ELF-NEXT: Binding: Local (0x0)
78ELF-NEXT: Type: Object (0x1)
79ELF-NEXT: Other: 0
80ELF-NEXT: Section: .rodata.str1.1 (0x5)
81ELF-NEXT: }
Sam Clegg135a4b82017-04-14 19:50:44 +000082
83WASM: Symbols [
84WASM-NEXT: Symbol {
Sam Clegg8bda5082017-07-10 20:43:26 +000085WASM-NEXT: Name: main
Sam Clegg6c899ba2018-02-23 05:08:34 +000086WASM-NEXT: Type: FUNCTION (0x0)
Sam Clegg847b9292019-02-07 02:35:22 +000087WASM-NEXT: Flags [ (0x0)
88WASM-NEXT: ]
Sam Cleggae28be32019-02-04 23:36:38 +000089WASM-NEXT: ElementIndex: 0x2
Sam Clegg135a4b82017-04-14 19:50:44 +000090WASM-NEXT: }
Sam Clegg6c899ba2018-02-23 05:08:34 +000091WASM-NEXT: Symbol {
92WASM-NEXT: Name: .L.str
93WASM-NEXT: Type: DATA (0x1)
Sam Clegg847b9292019-02-07 02:35:22 +000094WASM-NEXT: Flags [ (0x2)
95WASM-NEXT: BINDING_LOCAL (0x2)
96WASM-NEXT: ]
Sam Cleggae28be32019-02-04 23:36:38 +000097WASM-NEXT: Offset: 0x0
98WASM-NEXT: Segment: 0x0
99WASM-NEXT: Size: 0xD
Sam Clegg6c899ba2018-02-23 05:08:34 +0000100WASM-NEXT: }
Nicholas Wilsonf6be8e82018-03-01 15:55:59 +0000101WASM-NEXT: Symbol {
102WASM-NEXT: Name: puts
103WASM-NEXT: Type: FUNCTION (0x0)
Sam Clegg847b9292019-02-07 02:35:22 +0000104WASM-NEXT: Flags [ (0x10)
105WASM-NEXT: UNDEFINED (0x10)
106WASM-NEXT: ]
Sam Cleggae28be32019-02-04 23:36:38 +0000107WASM-NEXT: Module: env
108WASM-NEXT: ElementIndex: 0x0
Nicholas Wilsonf6be8e82018-03-01 15:55:59 +0000109WASM-NEXT: }
110WASM-NEXT: Symbol {
Heejin Ahn756b50e2018-11-07 01:58:50 +0000111WASM-NEXT: Name: .LSomeOtherFunction_bitcast
112WASM-NEXT: Type: FUNCTION (0x0)
Sam Clegg847b9292019-02-07 02:35:22 +0000113WASM-NEXT: Flags [ (0x2)
114WASM-NEXT: BINDING_LOCAL (0x2)
115WASM-NEXT: ]
Sam Cleggae28be32019-02-04 23:36:38 +0000116WASM-NEXT: ElementIndex: 0x3
Heejin Ahn756b50e2018-11-07 01:58:50 +0000117WASM-NEXT: }
118WASM-NEXT: Symbol {
Nicholas Wilsonf6be8e82018-03-01 15:55:59 +0000119WASM-NEXT: Name: SomeOtherFunction
120WASM-NEXT: Type: FUNCTION (0x0)
Sam Clegg847b9292019-02-07 02:35:22 +0000121WASM-NEXT: Flags [ (0x10)
122WASM-NEXT: UNDEFINED (0x10)
123WASM-NEXT: ]
Sam Cleggae28be32019-02-04 23:36:38 +0000124WASM-NEXT: Module: env
125WASM-NEXT: ElementIndex: 0x1
Nicholas Wilsonf6be8e82018-03-01 15:55:59 +0000126WASM-NEXT: }
Sam Clegg135a4b82017-04-14 19:50:44 +0000127WASM-NEXT: ]