blob: b96ae9018dae1e50050f4eb1e7aef73c3425e624 [file] [log] [blame]
; RUN: rm -rf %t
; RUN: mkdir -p %t
; RUN: cd %t
; RUN: echo -e "1\n401120-40113b:1\n1\n40112f->401110:1" > %t.prof
; Test --load-function-from-symbol=0
; RUN: llvm-profgen --format=text --unsymbolized-profile=%t.prof --binary=%S/Inputs/missing-dwarf.exe --output=%t1 --fill-zero-for-all-funcs --show-detailed-warning --use-offset=0 --load-function-from-symbol=0 2>&1 | FileCheck %s --check-prefix=CHECK-NO-LOAD-SYMTAB
; CHECK-NO-LOAD-SYMTAB: warning: Loading of DWARF info completed, but no binary functions have been retrieved.
; Test --load-function-from-symbol=1
; RUN: llvm-profgen --format=text --unsymbolized-profile=%t.prof --binary=%S/Inputs/missing-dwarf.exe --output=%t2 --fill-zero-for-all-funcs --show-detailed-warning --use-offset=0 --load-function-from-symbol=1
; RUN: FileCheck %s --input-file %t2 --check-prefix=CHECK-LOAD-SYMTAB
; CHECK-LOAD-SYMTAB: main:2:1
; CHECK-LOAD-SYMTAB-NEXT: 1: 1
; CHECK-LOAD-SYMTAB-NEXT: 2: 1 foo:1
; CHECK-LOAD-SYMTAB-NEXT: !CFGChecksum: 281479271677951
; CHECK-LOAD-SYMTAB-NEXT: foo:0:0
; CHECK-LOAD-SYMTAB-NEXT: 1: 0
; CHECK-LOAD-SYMTAB-NEXT: !CFGChecksum: 4294967295
; Build instructions:
; missing-dwarf.o: clang -gsplit-dwarf=split -fdebug-compilation-dir=. test.c -fdebug-info-for-profiling -fpseudo-probe-for-profiling -O0 -g -o missing-dwarf.o -c
; missing-dwarf.exe: clang -fdebug-compilation-dir=. missing-dwarf.o -o missing-dwarf.exe -fdebug-info-for-profiling -fpseudo-probe-for-profiling -O0 -g
; Source code:
int foo() {
return 1;
}
int main() {
foo();
return 0;
}