|
@@ -1475,14 +1475,15 @@ static int find_line_range_by_line(Dwarf_Die *sp_die, struct line_finder *lf)
|
|
|
|
|
|
static int line_range_inline_cb(Dwarf_Die *in_die, void *data)
|
|
|
{
|
|
|
- find_line_range_by_line(in_die, data);
|
|
|
+ int ret = find_line_range_by_line(in_die, data);
|
|
|
|
|
|
/*
|
|
|
* We have to check all instances of inlined function, because
|
|
|
* some execution paths can be optimized out depends on the
|
|
|
- * function argument of instances
|
|
|
+ * function argument of instances. However, if an error occurs,
|
|
|
+ * it should be handled by the caller.
|
|
|
*/
|
|
|
- return 0;
|
|
|
+ return ret < 0 ? ret : 0;
|
|
|
}
|
|
|
|
|
|
/* Search function definition from function name */
|