diff options
Diffstat (limited to 'runtime/staprun/symbols.c')
-rw-r--r-- | runtime/staprun/symbols.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/runtime/staprun/symbols.c b/runtime/staprun/symbols.c index c8758c37..49755c5e 100644 --- a/runtime/staprun/symbols.c +++ b/runtime/staprun/symbols.c @@ -92,8 +92,10 @@ static int get_sections(char *name, char *data_start, int datalen) strdata += strlen(secname) + 1; /* These sections are used a lot so keep the values handy */ - if (!strcmp(secname, ".data")) - mod->data = sec->addr; + if (!strcmp(secname, ".data") || !strncmp(secname, ".rodata", 7)) { + if (mod->data == 0 || sec->addr < mod->data) + mod->data = sec->addr; + } if (!strcmp(secname, ".text")) mod->text = sec->addr; if (!strcmp(secname, ".gnu.linkonce.this_module")) |