Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--agent/tcf/services/dwarfcache.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/agent/tcf/services/dwarfcache.c b/agent/tcf/services/dwarfcache.c
index 16272b7e..9e71e41a 100644
--- a/agent/tcf/services/dwarfcache.c
+++ b/agent/tcf/services/dwarfcache.c
@@ -868,7 +868,9 @@ static void load_addr_ranges(void) {
ELF_Section * size_sec = NULL;
ContextAddress addr = (ContextAddress)dio_ReadAddressX(&addr_sec, addr_size);
ContextAddress size = (ContextAddress)dio_ReadAddressX(&size_sec, addr_size);
- if (addr == 0 && size == 0) break;
+ /* GCC 4.1.2 can generate 'empty entries' at the
+ * beginning of the list ! */
+ if (addr == 0 && size == 0 && (dio_GetPos()==next)) break;
if (size == 0) continue;
add_addr_range(addr_sec, sCompUnit, addr, size);
}

Back to the top