From 89fb5e3ff3873ad07cced405b4e4d305ec82f94e Mon Sep 17 00:00:00 2001 From: msnyder Date: Fri, 8 Dec 2000 20:12:36 +0000 Subject: [PATCH] 2000-12-08 Michael Snyder * dwarf2read.c (DWARF2_REG_TO_REGNUM): New macro. Provide default definition. Will be used to translate between the compiler's register numbering and GDB's (for register variables etc). (new_symbol): Use DWARF2_REG_TO_REGNUM to translate register ids. --- gdb/ChangeLog | 4 ++++ gdb/dwarf2read.c | 12 ++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 3a9447891f..e2f5772832 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,9 @@ 2000-12-08 Michael Snyder + * dwarf2read.c (DWARF2_REG_TO_REGNUM): New macro. Provide default + definition. Will be used to translate between the compiler's + register numbering and GDB's (for register variables etc). + (new_symbol): Use DWARF2_REG_TO_REGNUM to translate register ids. * alpha-tdep.c: Fix typo in comment. * dbxread.c: Fix typo in comment. * fr30-tdep.c: Fix typo: newline missing after comment. diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index cb123efb3d..8a0513d72c 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -43,6 +43,10 @@ #include "gdb_string.h" #include +#ifndef DWARF2_REG_TO_REGNUM +#define DWARF2_REG_TO_REGNUM(REG) (REG) +#endif + #if 0 /* .debug_info header for a compilation unit Because of alignment constraints, this structure has padding and cannot @@ -4201,11 +4205,13 @@ new_symbol (struct die_info *die, struct type *type, struct objfile *objfile, else if (isreg) { SYMBOL_CLASS (sym) = LOC_REGISTER; + SYMBOL_VALUE (sym) = + DWARF2_REG_TO_REGNUM (SYMBOL_VALUE (sym)); } else if (offreg) { SYMBOL_CLASS (sym) = LOC_BASEREG; - SYMBOL_BASEREG (sym) = basereg; + SYMBOL_BASEREG (sym) = DWARF2_REG_TO_REGNUM (basereg); } else if (islocal) { @@ -4247,6 +4253,8 @@ new_symbol (struct die_info *die, struct type *type, struct objfile *objfile, if (isreg) { SYMBOL_CLASS (sym) = LOC_REGPARM; + SYMBOL_VALUE (sym) = + DWARF2_REG_TO_REGNUM (SYMBOL_VALUE (sym)); } else if (offreg) { @@ -4259,7 +4267,7 @@ new_symbol (struct die_info *die, struct type *type, struct objfile *objfile, else { SYMBOL_CLASS (sym) = LOC_BASEREG_ARG; - SYMBOL_BASEREG (sym) = basereg; + SYMBOL_BASEREG (sym) = DWARF2_REG_TO_REGNUM (basereg); } } else -- 2.11.0