diff options
-rw-r--r-- | bfd/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/dwarf2.c | 12 |
2 files changed, 13 insertions, 5 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 2cf36f4..bb6b9f2 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2020-04-16 Alan Modra <amodra@gmail.com> + + PR 25827 + * dwarf2.c (scan_unit_for_symbols): Wrap overlong lines. Don't + strdup(0). + 2020-04-15 Fangrui Song <maskray@google.com> PR binutils/24613 diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c index 3ee753d..48b1bdc 100644 --- a/bfd/dwarf2.c +++ b/bfd/dwarf2.c @@ -3379,18 +3379,20 @@ scan_unit_for_symbols (struct comp_unit *unit) { struct varinfo * spec_var; - spec_var = lookup_var_by_offset (attr.u.val, unit->variable_table); + spec_var = lookup_var_by_offset (attr.u.val, + unit->variable_table); if (spec_var == NULL) { - _bfd_error_handler - (_("DWARF error: could not find variable specification at offset %lx"), - (unsigned long) attr.u.val); + _bfd_error_handler (_("DWARF error: could not find " + "variable specification " + "at offset %lx"), + (unsigned long) attr.u.val); break; } if (var->name == NULL) var->name = spec_var->name; - if (var->file == NULL) + if (var->file == NULL && spec_var->file != NULL) var->file = strdup (spec_var->file); if (var->line == 0) var->line = spec_var->line; |