aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJeff Law <law@gcc.gnu.org>1994-03-25 11:39:40 -0700
committerJeff Law <law@gcc.gnu.org>1994-03-25 11:39:40 -0700
commitfa6bc669de986da47de5c2fbcfc58d6eea864dd8 (patch)
tree756b13fc03782347f192539a378e14ac4efe9fa3 /gcc
parent0b931590a3a826f03c40ec3e5c485eb97ac4f3c4 (diff)
downloadgcc-fa6bc669de986da47de5c2fbcfc58d6eea864dd8.zip
gcc-fa6bc669de986da47de5c2fbcfc58d6eea864dd8.tar.gz
gcc-fa6bc669de986da47de5c2fbcfc58d6eea864dd8.tar.bz2
pa.h (DBX_REGISTER_NUMBER): Fix numerous bugs in handling of FP registers and the SAR register.
* pa.h (DBX_REGISTER_NUMBER): Fix numerous bugs in handling of FP registers and the SAR register. From-SVN: r6868
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/pa/pa.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h
index 105807c..99d1829 100644
--- a/gcc/config/pa/pa.h
+++ b/gcc/config/pa/pa.h
@@ -1668,9 +1668,20 @@ readonly_data () \
"%fr28", "%fr28R", "%fr29", "%fr29R", "%fr30", "%fr30R", "%fr31", "%fr31R",\
"SAR"}
-/* How to renumber registers for dbx and gdb. */
+/* How to renumber registers for dbx and gdb.
-#define DBX_REGISTER_NUMBER(REGNO) (REGNO)
+ Registers 0 - 31 remain unchanged.
+
+ Registers 32 - 43 are mapped to 72 - 94 (even numbers only)
+
+ Registers 44 - 100 are mapped to 72 - 128
+
+ Register 101 is mapped to 32. */
+
+#define DBX_REGISTER_NUMBER(REGNO) \
+ ((REGNO) <= 31 ? (REGNO) : \
+ ((REGNO) > 31 && (REGNO) <= 43 ? ((REGNO) - 32) * 2 + 72 : \
+ ((REGNO) > 43 && (REGNO) <= 100 ? (REGNO) + 28 : 32)))
/* This is how to output the definition of a user-level label named NAME,
such as the label on a static function or variable NAME. */