Page MenuHomeFreeBSD

D38419.id116712.diff
No OneTemporary

D38419.id116712.diff

diff --git a/contrib/elftoolchain/readelf/readelf.c b/contrib/elftoolchain/readelf/readelf.c
--- a/contrib/elftoolchain/readelf/readelf.c
+++ b/contrib/elftoolchain/readelf/readelf.c
@@ -5840,7 +5840,8 @@
Dwarf_Addr base0;
Dwarf_Half attr;
Dwarf_Signed attr_count, cnt;
- Dwarf_Unsigned off, bytecnt;
+ Dwarf_Unsigned bytecnt;
+ Dwarf_Off off;
int i, j, ret;
if ((ret = dwarf_attrlist(die, &attr_list, &attr_count, &de)) !=
@@ -5857,11 +5858,12 @@
}
if (attr != DW_AT_ranges)
continue;
- if (dwarf_formudata(attr_list[i], &off, &de) != DW_DLV_OK) {
- warnx("dwarf_formudata failed: %s", dwarf_errmsg(de));
+ if (dwarf_global_formref(attr_list[i], &off, &de) != DW_DLV_OK) {
+ warnx("dwarf_global_formref failed: %s",
+ dwarf_errmsg(de));
continue;
}
- if (dwarf_get_ranges(re->dbg, (Dwarf_Off) off, &ranges, &cnt,
+ if (dwarf_get_ranges(re->dbg, off, &ranges, &cnt,
&bytecnt, &de) != DW_DLV_OK)
continue;
base0 = base;
@@ -5900,6 +5902,8 @@
warnx("dwarf_siblingof: %s", dwarf_errmsg(de));
else if (ret == DW_DLV_OK)
dump_dwarf_ranges_foreach(re, ret_die, base);
+
+ dwarf_dealloc(re->dbg, die, DW_DLA_DIE);
}
static void

File Metadata

Mime Type
text/plain
Expires
Mon, Feb 9, 1:15 PM (18 h, 15 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28582693
Default Alt Text
D38419.id116712.diff (1 KB)

Event Timeline