From 42bfa111d731278ff40f9ce45298e65a373c2064 Mon Sep 17 00:00:00 2001 From: Ed Maste Date: Tue, 30 Dec 2014 01:27:18 +0000 Subject: Import elftoolchain rev 3136 From svn.code.sf.net/p/elftoolchain/code/trunk --- libdwarf/libdwarf_abbrev.c | 6 ++++-- libdwarf/libdwarf_info.c | 5 +++-- libdwarf/libdwarf_init.c | 9 ++------- 3 files changed, 9 insertions(+), 11 deletions(-) (limited to 'libdwarf') diff --git a/libdwarf/libdwarf_abbrev.c b/libdwarf/libdwarf_abbrev.c index f4a395df0360..abcc2fda9580 100644 --- a/libdwarf/libdwarf_abbrev.c +++ b/libdwarf/libdwarf_abbrev.c @@ -27,7 +27,7 @@ #include "_libdwarf.h" -ELFTC_VCSID("$Id: libdwarf_abbrev.c 2070 2011-10-27 03:05:32Z jkoshy $"); +ELFTC_VCSID("$Id: libdwarf_abbrev.c 3136 2014-12-24 16:04:38Z kaiwang27 $"); int _dwarf_abbrev_add(Dwarf_CU cu, uint64_t entry, uint64_t tag, uint8_t children, @@ -180,7 +180,9 @@ _dwarf_abbrev_find(Dwarf_CU cu, uint64_t entry, Dwarf_Abbrev *abp, /* Load and search the abbrev table. */ ds = _dwarf_find_section(cu->cu_dbg, ".debug_abbrev"); - assert(ds != NULL); + if (ds == NULL) + return (DW_DLE_NO_ENTRY); + offset = cu->cu_abbrev_offset_cur; while (offset < ds->ds_size) { ret = _dwarf_abbrev_parse(cu->cu_dbg, cu, &offset, &ab, error); diff --git a/libdwarf/libdwarf_info.c b/libdwarf/libdwarf_info.c index 261bee6d933e..74765930aaed 100644 --- a/libdwarf/libdwarf_info.c +++ b/libdwarf/libdwarf_info.c @@ -27,7 +27,7 @@ #include "_libdwarf.h" -ELFTC_VCSID("$Id: libdwarf_info.c 3041 2014-05-18 15:11:03Z kaiwang27 $"); +ELFTC_VCSID("$Id: libdwarf_info.c 3136 2014-12-24 16:04:38Z kaiwang27 $"); int _dwarf_info_first_cu(Dwarf_Debug dbg, Dwarf_Error *error) @@ -153,7 +153,8 @@ _dwarf_info_load(Dwarf_Debug dbg, Dwarf_Bool load_all, Dwarf_Bool is_info, return (ret); offset = dbg->dbg_info_off; ds = dbg->dbg_info_sec; - assert(ds != NULL); + if (ds == NULL) + return (DW_DLE_NO_ENTRY); } else { if (dbg->dbg_types_loaded) return (ret); diff --git a/libdwarf/libdwarf_init.c b/libdwarf/libdwarf_init.c index 8e3fbbe5db36..b85c87c59af0 100644 --- a/libdwarf/libdwarf_init.c +++ b/libdwarf/libdwarf_init.c @@ -26,7 +26,7 @@ #include "_libdwarf.h" -ELFTC_VCSID("$Id: libdwarf_init.c 3061 2014-06-02 00:42:41Z kaiwang27 $"); +ELFTC_VCSID("$Id: libdwarf_init.c 3136 2014-12-24 16:04:38Z kaiwang27 $"); static int _dwarf_consumer_init(Dwarf_Debug dbg, Dwarf_Error *error) @@ -93,12 +93,7 @@ _dwarf_consumer_init(Dwarf_Debug dbg, Dwarf_Error *error) } dbg->dbg_section[cnt].ds_name = NULL; - if (_dwarf_find_section(dbg, ".debug_abbrev") == NULL || - ((dbg->dbg_info_sec = _dwarf_find_section(dbg, ".debug_info")) == - NULL)) { - DWARF_SET_ERROR(dbg, error, DW_DLE_DEBUG_INFO_NULL); - return (DW_DLE_DEBUG_INFO_NULL); - } + dbg->dbg_info_sec = _dwarf_find_section(dbg, ".debug_info"); /* Try to find the optional DWARF4 .debug_types section. */ dbg->dbg_types_sec = _dwarf_find_next_types_section(dbg, NULL); -- cgit v1.2.3