## This is a test for --dynamic/-D option. ## Test llvm-nm dumping ELF file with valid .dynsym section. # RUN: yaml2obj --docnum=1 %s -o %t1.o # RUN: llvm-nm --dynamic %t1.o | \ # RUN: FileCheck %s --match-full-lines --strict-whitespace --check-prefix DYNSYM # RUN: llvm-nm -D %t1.o | \ # RUN: FileCheck %s --match-full-lines --strict-whitespace --check-prefix DYNSYM # DYNSYM: U globalsym # DYNSYM-NEXT: U localsym1 # DYNSYM-NEXT:0000000000000000 n localsym2 # DYNSYM-EMPTY: --- !ELF FileHeader: Class: ELFCLASS64 Data: ELFDATA2LSB Type: ET_DYN Machine: EM_X86_64 Sections: - Name: section Type: SHT_PROGBITS DynamicSymbols: - Name: localsym1 Type: STT_OBJECT - Name: localsym2 Section: section - Name: globalsym Type: STT_OBJECT Binding: STB_GLOBAL ## Test llvm-nm dumping ELF file without a .dynsym section. # RUN: yaml2obj --docnum=2 %s -o %t2.o # RUN: llvm-nm --dynamic %t2.o 2>&1 | \ # RUN: FileCheck %s --match-full-lines --strict-whitespace -DFILE=%t2.o --check-prefix NO-SYMS # NO-SYMS:[[FILE]]: no symbols # NO-SYMS-EMPTY: --- !ELF FileHeader: Class: ELFCLASS64 Data: ELFDATA2LSB Type: ET_DYN Machine: EM_X86_64 ## Test llvm-nm dumping ELF file with an empty .dynsym section. # RUN: yaml2obj --docnum=3 %s -o %t3.o # RUN: llvm-nm --dynamic %t3.o 2>&1 | \ # RUN: FileCheck %s --match-full-lines --strict-whitespace -DFILE=%t3.o --check-prefix NO-SYMS --- !ELF FileHeader: Class: ELFCLASS64 Data: ELFDATA2LSB Type: ET_DYN Machine: EM_X86_64 Sections: - Name: .dynsym Type: SHT_DYNSYM Size: 0