Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--agent/tcf/services/dwarfcache.c2
-rw-r--r--agent/tcf/services/symbols_elf.c14
-rw-r--r--tests/test-dwarf/tcf/backend/backend.c4
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
}
}
}

Back to the top