File: option-X.test

package info (click to toggle)
llvm-toolchain-15 1%3A15.0.6-4
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 1,554,644 kB
  • sloc: cpp: 5,922,452; ansic: 1,012,136; asm: 674,362; python: 191,568; objc: 73,855; f90: 42,327; lisp: 31,913; pascal: 11,973; javascript: 10,144; sh: 9,421; perl: 7,447; ml: 5,527; awk: 3,523; makefile: 2,520; xml: 885; cs: 573; fortran: 567
file content (111 lines) | stat: -rw-r--r-- 4,891 bytes parent folder | download
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
111
## Test the "-X" option.
## The option specifies the type of object file to examine.

# RUN: llvm-as -o %t32.bc %p/Inputs/bitcode-sym32.ll
# RUN: llvm-as -o %t64.bc %p/Inputs/bitcode-sym64.ll

# RUN: llvm-nm --format=just-symbols -X32 %t32.bc %t64.bc | \
# RUN:   FileCheck %s -DFILE1=%t32.bc --check-prefixes=BITCODE32 --implicit-check-not={{.}}
# RUN: llvm-nm --format=just-symbols -X64 %t32.bc %t64.bc | \
# RUN:   FileCheck %s -DFILE2=%t64.bc --check-prefixes=BITCODE64 --implicit-check-not={{.}}
# RUN: llvm-nm --format=just-symbols %t32.bc %t64.bc | \
# RUN:   FileCheck %s -DFILE1=%t32.bc -DFILE2=%t64.bc --check-prefixes=BITCODE32,BITCODE64
# RUN: llvm-nm --format=just-symbols -X32_64 %t32.bc %t64.bc | \
# RUN:   FileCheck %s -DFILE1=%t32.bc -DFILE2=%t64.bc --check-prefixes=BITCODE32,BITCODE64
# RUN: llvm-nm --format=just-symbols -Xany %t32.bc %t64.bc | \
# RUN:   FileCheck %s -DFILE1=%t32.bc -DFILE2=%t64.bc --check-prefixes=BITCODE32,BITCODE64

# BITCODE32:      [[FILE1]]:
# BITCODE32-NEXT: C32
# BITCODE32-NEXT: foo32
# BITCODE32-NEXT: undef_var32

# BITCODE64:      [[FILE2]]:
# BITCODE64-NEXT: C64
# BITCODE64-NEXT: bar64
# BITCODE64-NEXT: static_var64

# RUN: yaml2obj --docnum=1 -DCLASS=ELFCLASS32 %s -o %t_elf32.o
# RUN: yaml2obj --docnum=1 -DCLASS=ELFCLASS64 %s -o %t_elf64.o

# RUN: llvm-nm --format=just-symbols -X32 %t_elf32.o %t_elf64.o | \
# RUN:   FileCheck %s -DFILE32=%t_elf32.o --check-prefixes=ELF32 --implicit-check-not={{.}}
# RUN: llvm-nm --format=just-symbols -X64 %t_elf32.o %t_elf64.o | \
# RUN:   FileCheck %s -DFILE64=%t_elf64.o --check-prefixes=ELF64 --implicit-check-not={{.}}
# RUN: llvm-nm --format=just-symbols %t_elf32.o %t_elf64.o | \
# RUN:   FileCheck %s -DFILE32=%t_elf32.o -DFILE64=%t_elf64.o --check-prefixes=ELF32,ELF64
# RUN: llvm-nm --format=just-symbols -X32_64 %t_elf32.o %t_elf64.o | \
# RUN:   FileCheck %s -DFILE32=%t_elf32.o -DFILE64=%t_elf64.o --check-prefixes=ELF32,ELF64
# RUN: llvm-nm --format=just-symbols -Xany %t_elf32.o %t_elf64.o | \
# RUN:   FileCheck %s -DFILE32=%t_elf32.o -DFILE64=%t_elf64.o --check-prefixes=ELF32,ELF64

# ELF32:      [[FILE32]]:
# ELF32-NEXT: ELFCLASS32_var

# ELF64:      [[FILE64]]:
# ELF64-NEXT: ELFCLASS64_var

--- !ELF
FileHeader:
  Class:   [[CLASS]]
  Data:    ELFDATA2LSB
  Type:    ET_REL
Symbols:
  - Name:    [[CLASS]]_var

# RUN: yaml2obj --docnum=2 -DFLAG=0x1DF %s -o %t_xcoff32.o
# RUN: yaml2obj --docnum=2 -DFLAG=0x1F7 %s -o %t_xcoff64.o
# RUN: rm -f %t.a
# RUN: llvm-ar -q -c %t.a %t_xcoff32.o %t_xcoff64.o

# RUN: llvm-nm --format=just-symbols -X32 %t_xcoff32.o | \
# RUN:   FileCheck --check-prefixes=XCOFF32 %s --implicit-check-not={{.}}
# RUN: llvm-nm --format=just-symbols -X32 %t.a | \
# RUN:   FileCheck --check-prefixes=ARC32,XCOFF32 %s -DFILE=%basename_t --implicit-check-not={{.}}
# ARC32:      [[FILE]].tmp_xcoff32.o:
# XCOFF32:      var_0x1DF

# RUN: llvm-nm --format=just-symbols -X64 %t_xcoff64.o | \
# RUN:   FileCheck --check-prefixes=XCOFF64 %s --implicit-check-not={{.}}
# RUN: llvm-nm --format=just-symbols -X64 %t.a | \
# RUN:   FileCheck --check-prefixes=ARC64,XCOFF64 -DFILE=%basename_t %s --implicit-check-not={{.}}
# ARC64:       [[FILE]].tmp_xcoff64.o:
# XCOFF64:       var_0x1F7

# RUN: llvm-nm --format=just-symbols %t_xcoff32.o %t_xcoff64.o | \
# RUN:   FileCheck --check-prefixes=BOTH %s -DFILE32=%t_xcoff32.o -DFILE64=%t_xcoff64.o --match-full-lines
# RUN: llvm-nm --format=just-symbols -X32_64 %t_xcoff32.o %t_xcoff64.o | \
# RUN:   FileCheck --check-prefixes=BOTH %s -DFILE32=%t_xcoff32.o -DFILE64=%t_xcoff64.o --match-full-lines
# RUN: llvm-nm --format=just-symbols -Xany %t_xcoff32.o %t_xcoff64.o | \
# RUN:   FileCheck --check-prefixes=BOTH %s -DFILE32=%t_xcoff32.o -DFILE64=%t_xcoff64.o --match-full-lines

# BOTH:        [[FILE32]]:
# BOTH-NEXT:   var_0x1DF
# BOTH-EMPTY:
# BOTH-NEXT:   [[FILE64]]:
# BOTH-NEXT:   var_0x1F7

# RUN: llvm-nm --format=just-symbols %t.a | \
# RUN:   FileCheck --check-prefixes=ARCHIVE-BOTH -DFILE=%basename_t --match-full-lines %s
# RUN: llvm-nm --format=just-symbols -X32_64 %t.a | \
# RUN:   FileCheck --check-prefixes=ARCHIVE-BOTH -DFILE=%basename_t --match-full-lines %s
# RUN: llvm-nm --format=just-symbols -Xany %t.a | \
# RUN:   FileCheck --check-prefixes=ARCHIVE-BOTH -DFILE=%basename_t --match-full-lines %s

# ARCHIVE-BOTH:      [[FILE]].tmp_xcoff32.o:
# ARCHIVE-BOTH-NEXT: var_0x1DF{{[[:space:]]}}
# ARCHIVE-BOTH-NEXT: [[FILE]].tmp_xcoff64.o:
# ARCHIVE-BOTH-NEXT: var_0x1F7

# RUN: llvm-nm --format=just-symbols -X64 %t_xcoff32.o | count 0
# RUN: llvm-nm --format=just-symbols -X32 %t_xcoff64.o | count 0

# RUN: not llvm-nm --format=just-symbols -X33 %t_xcoff32.o 2>&1 |  FileCheck %s --check-prefixes=ERR
# ERR:      error: : -X value should be one of: 32, 64, 32_64, (default) any
# ERR-NEXT: var_0x1DF

--- !XCOFF
FileHeader:
  MagicNumber:       [[FLAG]]
Symbols:
  - Name:            var_[[FLAG]]