diff options
-rw-r--r-- | agent/tcf/services/dwarfcache.c | 2 | ||||
-rw-r--r-- | agent/tcf/services/symbols_elf.c | 14 | ||||
-rw-r--r-- | tests/test-dwarf/tcf/backend/backend.c | 4 |
3 files changed, 5 insertions, 15 deletions
diff --git a/agent/tcf/services/dwarfcache.c b/agent/tcf/services/dwarfcache.c index 7cd00ec2..d80bb55a 100644 --- a/agent/tcf/services/dwarfcache.c +++ b/agent/tcf/services/dwarfcache.c @@ -894,7 +894,7 @@ ObjectInfo * get_dwarf_children(ObjectInfo * obj) { dio_EnterSection(&sCompUnit->mDesc, sDebugSection, obj->mID - sDebugSection->addr); if (set_trap(&trap)) { U8_T end_pos = sCompUnit->mDesc.mUnitOffs + sCompUnit->mDesc.mUnitSize; - dio_ReadEntry(NULL, ~(U2_T)0); + dio_ReadEntry(NULL, ~(U2_T)0u); sParentObject = obj; sPrevSibling = NULL; while (dio_GetPos() < end_pos) { diff --git a/agent/tcf/services/symbols_elf.c b/agent/tcf/services/symbols_elf.c index 5435b87c..8c66ec46 100644 --- a/agent/tcf/services/symbols_elf.c +++ b/agent/tcf/services/symbols_elf.c @@ -1257,23 +1257,13 @@ void ini_symbols_lib(void) { /*************** Functions for retrieving symbol properties ***************************************/ static int unpack(const Symbol * sym) { - ELF_File * file = NULL; assert(sym->base == NULL); assert(!is_array_type_pseudo_symbol(sym)); assert(!is_cardinal_type_pseudo_symbol(sym)); assert(!is_constant_pseudo_symbol(sym)); assert(sym->obj == NULL || sym->obj->mTag != 0); - if (get_sym_context(sym->ctx, sym->frame, 0) < 0) return -1; - if (sym->obj != NULL) file = sym->obj->mCompUnit->mFile; - if (sym->tbl != NULL) file = sym->tbl->file; - if (file != NULL) { - DWARFCache * cache = (DWARFCache *)file->dwarf_dt_cache; - if (cache == NULL || cache->magic != DWARF_CACHE_MAGIC) { - errno = ERR_INV_CONTEXT; - return -1; - } - } - return 0; + assert(sym->obj == NULL || sym->obj->mCompUnit->mFile->dwarf_dt_cache != NULL); + return get_sym_context(sym->ctx, sym->frame, 0); } static U8_T get_default_lower_bound(ObjectInfo * obj) { diff --git a/tests/test-dwarf/tcf/backend/backend.c b/tests/test-dwarf/tcf/backend/backend.c index 9cf2a07b..ce30e0b5 100644 --- a/tests/test-dwarf/tcf/backend/backend.c +++ b/tests/test-dwarf/tcf/backend/backend.c @@ -415,6 +415,7 @@ static void loc_var_func(void * args, Symbol * sym) { if (member_class == SYM_CLASS_REFERENCE) { if (get_symbol_address(children[i], &offs) < 0) { if (get_symbol_offset(children[i], &offs) < 0) { +#if 0 int ok = 0; int err = errno; unsigned type_flags; @@ -422,12 +423,11 @@ static void loc_var_func(void * args, Symbol * sym) { error("get_symbol_flags"); } if (type_flags & SYM_FLAG_EXTERNAL) ok = 1; - /* if (!ok) { errno = err; error("get_symbol_offset"); } - */ +#endif } } } |