xref: /llvm-project/llvm/test/tools/llvm-symbolizer/split-debug.test (revision 2f75fda5dc2549e900916a04dbd27134a31d574c)
1fe6cbceeSFrancis Ricci#Source:
2fe6cbceeSFrancis Ricci##include <stdio.h>
3fe6cbceeSFrancis Ricci#static inline int inctwo (int *a) {
4fe6cbceeSFrancis Ricci#  printf ("%d\n",(*a)++);
5fe6cbceeSFrancis Ricci#  return (*a)++;
6fe6cbceeSFrancis Ricci#}
7fe6cbceeSFrancis Ricci#static inline int inc (int *a) {
8fe6cbceeSFrancis Ricci#  printf ("%d\n",inctwo(a));
9fe6cbceeSFrancis Ricci#  return (*a)++;
10fe6cbceeSFrancis Ricci#}
11fe6cbceeSFrancis Ricci#
12fe6cbceeSFrancis Ricci#
13fe6cbceeSFrancis Ricci#int main () {
14fe6cbceeSFrancis Ricci#  int x = 1;
15fe6cbceeSFrancis Ricci#  return inc(&x);
16fe6cbceeSFrancis Ricci#}
17fe6cbceeSFrancis Ricci#
18fe6cbceeSFrancis Ricci#Build as : clang -g -O2 addr.c
19fe6cbceeSFrancis Ricci
20fe6cbceeSFrancis RicciRUN: mkdir -p %t/.debug
21c5bae783SJordan RupprechtRUN: llvm-objcopy --keep-section=.debug_info %p/Inputs/addr.exe %t/.debug/addr
22fe6cbceeSFrancis RicciRUN: llvm-objcopy --strip-debug --add-gnu-debuglink=%t/.debug/addr %p/Inputs/addr.exe %t/addr.exe
23*2f75fda5SFangrui SongRUN: llvm-symbolizer --print-address --obj=%t/addr.exe 0x40054d | FileCheck %s
24fe6cbceeSFrancis Ricci
25fe6cbceeSFrancis Ricci#CHECK: 0x40054d
26fe6cbceeSFrancis Ricci#CHECK: {{[/\]+}}tmp{{[/\]+}}x.c:14:0
27