@@ -37,31 +37,31 @@ static struct blaze_symbolizer *symbolizer;
37
37
38
38
static void print_frame (const char * name , uintptr_t input_addr , uintptr_t addr , uint64_t offset , const blaze_symbolize_code_info * code_info )
39
39
{
40
- // If we have an input address we have a new symbol.
41
- if (input_addr != 0 ) {
42
- printf ("%016lx: %s @ 0x%lx+0x%lx" , input_addr , name , addr , offset );
43
- if (code_info != NULL && code_info -> dir != NULL && code_info -> file != NULL ) {
44
- printf (" %s/%s:%u\n" , code_info -> dir , code_info -> file , code_info -> line );
45
- } else if (code_info != NULL && code_info -> file != NULL ) {
46
- printf (" %s:%u\n" , code_info -> file , code_info -> line );
47
- } else {
48
- printf ("\n" );
49
- }
50
- } else {
51
- printf ("%16s %s" , "" , name );
52
- if (code_info != NULL && code_info -> dir != NULL && code_info -> file != NULL ) {
53
- printf ("@ %s/%s:%u [inlined]\n" , code_info -> dir , code_info -> file , code_info -> line );
54
- } else if (code_info != NULL && code_info -> file != NULL ) {
55
- printf ("@ %s:%u [inlined]\n" , code_info -> file , code_info -> line );
56
- } else {
57
- printf ("[inlined]\n" );
58
- }
59
- }
40
+ /* If we have an input address we have a new symbol. */
41
+ if (input_addr != 0 ) {
42
+ printf ("%016lx: %s @ 0x%lx+0x%lx" , input_addr , name , addr , offset );
43
+ if (code_info != NULL && code_info -> dir != NULL && code_info -> file != NULL ) {
44
+ printf (" %s/%s:%u\n" , code_info -> dir , code_info -> file , code_info -> line );
45
+ } else if (code_info != NULL && code_info -> file != NULL ) {
46
+ printf (" %s:%u\n" , code_info -> file , code_info -> line );
47
+ } else {
48
+ printf ("\n" );
49
+ }
50
+ } else {
51
+ printf ("%16s %s" , "" , name );
52
+ if (code_info != NULL && code_info -> dir != NULL && code_info -> file != NULL ) {
53
+ printf ("@ %s/%s:%u [inlined]\n" , code_info -> dir , code_info -> file , code_info -> line );
54
+ } else if (code_info != NULL && code_info -> file != NULL ) {
55
+ printf ("@ %s:%u [inlined]\n" , code_info -> file , code_info -> line );
56
+ } else {
57
+ printf ("[inlined]\n" );
58
+ }
59
+ }
60
60
}
61
61
62
62
static void show_stack_trace (__u64 * stack , int stack_sz , pid_t pid )
63
63
{
64
- const struct blaze_symbolize_inlined_fn * inlined ;
64
+ const struct blaze_symbolize_inlined_fn * inlined ;
65
65
const struct blaze_syms * syms ;
66
66
const struct blaze_sym * sym ;
67
67
int i , j ;
@@ -73,15 +73,17 @@ static void show_stack_trace(__u64 *stack, int stack_sz, pid_t pid)
73
73
.type_size = sizeof (src ),
74
74
.pid = pid ,
75
75
};
76
+
76
77
syms = blaze_symbolize_process_abs_addrs (symbolizer , & src , (const uintptr_t * )stack , stack_sz );
77
78
} else {
78
79
struct blaze_symbolize_src_kernel src = {
79
80
.type_size = sizeof (src ),
80
81
};
82
+
81
83
syms = blaze_symbolize_kernel_abs_addrs (symbolizer , & src , (const uintptr_t * )stack , stack_sz );
82
84
}
83
85
84
- if (syms == NULL ) {
86
+ if (! syms ) {
85
87
printf (" failed to symbolize addresses: %s\n" , blaze_err_str (blaze_err_last ()));
86
88
return ;
87
89
}
@@ -92,13 +94,13 @@ static void show_stack_trace(__u64 *stack, int stack_sz, pid_t pid)
92
94
continue ;
93
95
}
94
96
95
- sym = & syms -> syms [i ];
96
- print_frame (sym -> name , stack [i ], sym -> addr , sym -> offset , & sym -> code_info );
97
+ sym = & syms -> syms [i ];
98
+ print_frame (sym -> name , stack [i ], sym -> addr , sym -> offset , & sym -> code_info );
97
99
98
- for (j = 0 ; j < sym -> inlined_cnt ; j ++ ) {
99
- inlined = & sym -> inlined [j ];
100
- print_frame (sym -> name , 0 , 0 , 0 , & inlined -> code_info );
101
- }
100
+ for (j = 0 ; j < sym -> inlined_cnt ; j ++ ) {
101
+ inlined = & sym -> inlined [j ];
102
+ print_frame (sym -> name , 0 , 0 , 0 , & inlined -> code_info );
103
+ }
102
104
}
103
105
104
106
blaze_syms_free (syms );
0 commit comments