diff options
author | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-03-25 23:55:58 +0000 |
---|---|---|
committer | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-03-25 23:55:58 +0000 |
commit | 3bd0fd118d11767a1a5d37320372a39802b4b206 (patch) | |
tree | 116a2aa7bcae407598a96351eac711d5ff348dbb | |
parent | 633b2fc9d738ff11b28f2cd85abb73fbc85ee091 (diff) |
temporaly change/add to debug on powerpc64-linux
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45417 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | addr2line.c | 6 | ||||
-rw-r--r-- | vm_dump.c | 18 |
2 files changed, 15 insertions, 9 deletions
diff --git a/addr2line.c b/addr2line.c index 4a5a24df84..0b48278f75 100644 --- a/addr2line.c +++ b/addr2line.c @@ -571,11 +571,17 @@ fill_lines(int num_traces, void **traces, char **syms, int check_debuglink, char *strtab = file + strtab_shdr->sh_offset; ElfW(Sym) *symtab = (ElfW(Sym) *)(file + symtab_shdr->sh_offset); int symtab_count = (int)(symtab_shdr->sh_size / sizeof(ElfW(Sym))); +#ifdef __powerpc64__ + kprintf("\n= %s %lx\n",lines[offset].path,lines[offset].base_addr); +#endif for (j = 0; j < symtab_count; j++) { ElfW(Sym) *sym = &symtab[j]; int type = ELF_ST_TYPE(sym->st_info); intptr_t saddr = (intptr_t)sym->st_value + current_line->base_addr; if (type != STT_FUNC) continue; +#ifdef __powerpc64__ + kprintf("%s %lx %lx\n",strtab + sym->st_name,sym->st_value,sym->st_size); +#endif for (i = offset; i < num_traces; i++) { intptr_t d = (intptr_t)traces[i] - saddr; if (lines[i].line != -1) @@ -819,15 +819,6 @@ rb_vm_bugreport(void) fputs("\n", stderr); } -#if HAVE_BACKTRACE || defined(_WIN32) - fprintf(stderr, "-- C level backtrace information " - "-------------------------------------------\n"); - rb_print_backtrace(); - - - fprintf(stderr, "\n"); -#endif /* HAVE_BACKTRACE */ - if (other_runtime_info || vm) { fprintf(stderr, "-- Other runtime information " "-----------------------------------------------\n\n"); @@ -907,5 +898,14 @@ rb_vm_bugreport(void) fprintf(stderr, "\n"); } #endif /* __FreeBSD__ */ +#if HAVE_BACKTRACE || defined(_WIN32) + fprintf(stderr, "-- C level backtrace information " + "-------------------------------------------\n"); + rb_print_backtrace(); + + + fprintf(stderr, "\n"); +#endif /* HAVE_BACKTRACE */ + } } |