106 lines · plain
1## Test the "-X" option.2## The option specifies the type of object file to examine.3 4# RUN: llvm-as -o %t32.bc %p/Inputs/bitcode-sym32.ll5# RUN: llvm-as -o %t64.bc %p/Inputs/bitcode-sym64.ll6 7# RUN: llvm-nm --format=just-symbols -X32 %t32.bc %t64.bc | \8# RUN: FileCheck %s -DFILE1=%t32.bc --check-prefixes=BITCODE32 --implicit-check-not={{.}}9# RUN: llvm-nm --format=just-symbols -X64 %t32.bc %t64.bc | \10# RUN: FileCheck %s -DFILE2=%t64.bc --check-prefixes=BITCODE64 --implicit-check-not={{.}}11# RUN: llvm-nm --format=just-symbols -X32_64 %t32.bc %t64.bc | \12# RUN: FileCheck %s -DFILE1=%t32.bc -DFILE2=%t64.bc --check-prefixes=BITCODE32,BITCODE6413# RUN: llvm-nm --format=just-symbols -Xany %t32.bc %t64.bc | \14# RUN: FileCheck %s -DFILE1=%t32.bc -DFILE2=%t64.bc --check-prefixes=BITCODE32,BITCODE6415 16# BITCODE32: [[FILE1]]:17# BITCODE32-NEXT: C3218# BITCODE32-NEXT: foo3219# BITCODE32-NEXT: undef_var3220 21# BITCODE64: [[FILE2]]:22# BITCODE64-NEXT: C6423# BITCODE64-NEXT: bar6424# BITCODE64-NEXT: static_var6425 26# RUN: yaml2obj --docnum=1 -DCLASS=ELFCLASS32 %s -o %t_elf32.o27# RUN: yaml2obj --docnum=1 -DCLASS=ELFCLASS64 %s -o %t_elf64.o28 29# RUN: llvm-nm --format=just-symbols -X32 %t_elf32.o %t_elf64.o | \30# RUN: FileCheck %s -DFILE32=%t_elf32.o --check-prefixes=ELF32 --implicit-check-not={{.}}31# RUN: llvm-nm --format=just-symbols -X64 %t_elf32.o %t_elf64.o | \32# RUN: FileCheck %s -DFILE64=%t_elf64.o --check-prefixes=ELF64 --implicit-check-not={{.}}33# RUN: llvm-nm --format=just-symbols -X32_64 %t_elf32.o %t_elf64.o | \34# RUN: FileCheck %s -DFILE32=%t_elf32.o -DFILE64=%t_elf64.o --check-prefixes=ELF32,ELF6435# RUN: llvm-nm --format=just-symbols -Xany %t_elf32.o %t_elf64.o | \36# RUN: FileCheck %s -DFILE32=%t_elf32.o -DFILE64=%t_elf64.o --check-prefixes=ELF32,ELF6437 38# ELF32: [[FILE32]]:39# ELF32-NEXT: ELFCLASS32_var40 41# ELF64: [[FILE64]]:42# ELF64-NEXT: ELFCLASS64_var43 44--- !ELF45FileHeader:46 Class: [[CLASS]]47 Data: ELFDATA2LSB48 Type: ET_REL49Symbols:50 - Name: [[CLASS]]_var51 52# RUN: yaml2obj --docnum=2 -DFLAG=0x1DF %s -o %t_xcoff32.o53# RUN: yaml2obj --docnum=2 -DFLAG=0x1F7 %s -o %t_xcoff64.o54# RUN: rm -f %t.a55# RUN: llvm-ar -q -c %t.a %t_xcoff32.o %t_xcoff64.o56 57# RUN: llvm-nm --format=just-symbols -X32 %t_xcoff32.o | \58# RUN: FileCheck --check-prefixes=XCOFF32 %s --implicit-check-not={{.}}59# RUN: llvm-nm --format=just-symbols -X32 %t.a | \60# RUN: FileCheck --check-prefixes=ARC32,XCOFF32 %s -DFILE=%basename_t --implicit-check-not={{.}}61# ARC32: [[FILE]].tmp_xcoff32.o:62# XCOFF32: var_0x1DF63 64# RUN: llvm-nm --format=just-symbols -X64 %t_xcoff64.o | \65# RUN: FileCheck --check-prefixes=XCOFF64 %s --implicit-check-not={{.}}66# RUN: llvm-nm --format=just-symbols -X64 %t.a | \67# RUN: FileCheck --check-prefixes=ARC64,XCOFF64 -DFILE=%basename_t %s --implicit-check-not={{.}}68# ARC64: [[FILE]].tmp_xcoff64.o:69# XCOFF64: var_0x1F770 71# RUN: llvm-nm --format=just-symbols %t_xcoff32.o %t_xcoff64.o | \72# RUN: FileCheck --check-prefixes=BOTH %s -DFILE32=%t_xcoff32.o -DFILE64=%t_xcoff64.o --match-full-lines73# RUN: llvm-nm --format=just-symbols -X32_64 %t_xcoff32.o %t_xcoff64.o | \74# RUN: FileCheck --check-prefixes=BOTH %s -DFILE32=%t_xcoff32.o -DFILE64=%t_xcoff64.o --match-full-lines75# RUN: llvm-nm --format=just-symbols -Xany %t_xcoff32.o %t_xcoff64.o | \76# RUN: FileCheck --check-prefixes=BOTH %s -DFILE32=%t_xcoff32.o -DFILE64=%t_xcoff64.o --match-full-lines77 78# BOTH: [[FILE32]]:79# BOTH-NEXT: var_0x1DF80# BOTH-EMPTY:81# BOTH-NEXT: [[FILE64]]:82# BOTH-NEXT: var_0x1F783 84# RUN: llvm-nm --format=just-symbols -X32_64 %t.a | \85# RUN: FileCheck --check-prefixes=ARCHIVE-BOTH -DFILE=%basename_t --match-full-lines %s86# RUN: llvm-nm --format=just-symbols -Xany %t.a | \87# RUN: FileCheck --check-prefixes=ARCHIVE-BOTH -DFILE=%basename_t --match-full-lines %s88 89# ARCHIVE-BOTH: [[FILE]].tmp_xcoff32.o:90# ARCHIVE-BOTH-NEXT: var_0x1DF{{[[:space:]]}}91# ARCHIVE-BOTH-NEXT: [[FILE]].tmp_xcoff64.o:92# ARCHIVE-BOTH-NEXT: var_0x1F793 94# RUN: llvm-nm --format=just-symbols -X64 %t_xcoff32.o | count 095# RUN: llvm-nm --format=just-symbols -X32 %t_xcoff64.o | count 096 97# RUN: not llvm-nm --format=just-symbols -X33 %t_xcoff32.o 2>&1 | FileCheck %s --check-prefixes=ERR98# ERR: error: : -X value should be one of: 32, 64, 32_64, (default) any99# ERR-NEXT: var_0x1DF100 101--- !XCOFF102FileHeader:103 MagicNumber: [[FLAG]]104Symbols:105 - Name: var_[[FLAG]]106