summaryrefslogtreecommitdiffstats
path: root/backends
diff options
context:
space:
mode:
authorRoland McGrath <[email protected]>2007-04-25 03:09:33 +0000
committerRoland McGrath <[email protected]>2007-04-25 03:09:33 +0000
commit4be1524398af8e24011cfdfa77c66832f8654a56 (patch)
tree84d4745346b459516ec67743a1b86b47793f146f /backends
parent89d6b4c552a469482d2a358fb492d39eb22beb13 (diff)
2007-04-24 Roland McGrath <[email protected]>
* run-strip-test.sh: When we saved the debug info, test unstrip too.
Diffstat (limited to 'backends')
-rw-r--r--backends/ChangeLog9
-rw-r--r--backends/i386_regs.c4
-rw-r--r--backends/ppc_regs.c35
-rw-r--r--backends/x86_64_regs.c1
4 files changed, 43 insertions, 6 deletions
diff --git a/backends/ChangeLog b/backends/ChangeLog
index e9f34158..646e8110 100644
--- a/backends/ChangeLog
+++ b/backends/ChangeLog
@@ -1,3 +1,12 @@
+2007-04-22 Roland McGrath <[email protected]>
+
+ * ppc_regs.c (ppc_register_info): Use some names instead of sprNNN:
+ mq, xer, lr, ctr, dsisr, dar, dec, vrsave.
+ Set *BITS to 64 for FPU registers.
+
+ * i386_regs.c (i386_register_info): Set *BITS to 16 for fctrl, fstat.
+ * x86_64_regs.c (x86_64_register_info): Likewise for fcw, fsw.
+
2007-04-01 Roland McGrath <[email protected]>
* x86_64_regs.c (x86_64_register_info): Add more registers from newer
diff --git a/backends/i386_regs.c b/backends/i386_regs.c
index a63c5439..5cf0d810 100644
--- a/backends/i386_regs.c
+++ b/backends/i386_regs.c
@@ -1,5 +1,5 @@
/* Register names and numbers for i386 DWARF.
- Copyright (C) 2005, 2006 Red Hat, Inc.
+ Copyright (C) 2005, 2006, 2007 Red Hat, Inc.
This file is part of Red Hat elfutils.
Red Hat elfutils is free software; you can redistribute it and/or modify
@@ -125,8 +125,10 @@ i386_register_info (Ebl *ebl __attribute__ ((unused)),
break;
case 37:
+ *bits = 16;
return stpcpy (name, "fctrl") + 1 - name;
case 38:
+ *bits = 16;
return stpcpy (name, "fstat") + 1 - name;
case 39:
return stpcpy (name, "mxcsr") + 1 - name;
diff --git a/backends/ppc_regs.c b/backends/ppc_regs.c
index 3d47d3d0..4cf5abc6 100644
--- a/backends/ppc_regs.c
+++ b/backends/ppc_regs.c
@@ -1,5 +1,5 @@
/* Register names and numbers for PowerPC DWARF.
- Copyright (C) 2005, 2006 Red Hat, Inc.
+ Copyright (C) 2005, 2006, 2007 Red Hat, Inc.
This file is part of Red Hat elfutils.
Red Hat elfutils is free software; you can redistribute it and/or modify
@@ -53,7 +53,11 @@ ppc_register_info (Ebl *ebl __attribute__ ((unused)),
if (regno < 32 || regno == 64 || regno == 66)
*setname = "integer";
else if (regno < 64 || regno == 65)
- *setname = "FPU";
+ {
+ *setname = "FPU";
+ if (ebl->machine != EM_PPC64 && regno < 64)
+ *bits = 64;
+ }
else if (regno < 1124)
*setname = "privileged";
else
@@ -112,7 +116,25 @@ ppc_register_info (Ebl *ebl __attribute__ ((unused)),
namelen = 4;
break;
- case 100 ... 109:
+ case 101:
+ return stpcpy (name, "xer") + 1 - name;
+ case 108:
+ return stpcpy (name, "lr") + 1 - name;
+ case 109:
+ return stpcpy (name, "ctr") + 1 - name;
+ case 118:
+ return stpcpy (name, "dsisr") + 1 - name;
+ case 119:
+ return stpcpy (name, "dar") + 1 - name;
+ case 122:
+ return stpcpy (name, "dec") + 1 - name;
+ case 356:
+ return stpcpy (name, "vrsave") + 1 - name;
+ case 100:
+ if (*bits == 32)
+ return stpcpy (name, "mq") + 1 - name;
+
+ case 102 ... 107:
name[0] = 's';
name[1] = 'p';
name[2] = 'r';
@@ -120,7 +142,9 @@ ppc_register_info (Ebl *ebl __attribute__ ((unused)),
namelen = 4;
break;
- case 110 ... 199:
+ case 110 ... 117:
+ case 120 ... 121:
+ case 123 ... 199:
name[0] = 's';
name[1] = 'p';
name[2] = 'r';
@@ -129,7 +153,8 @@ ppc_register_info (Ebl *ebl __attribute__ ((unused)),
namelen = 5;
break;
- case 200 ... 999:
+ case 200 ... 355:
+ case 357 ... 999:
name[0] = 's';
name[1] = 'p';
name[2] = 'r';
diff --git a/backends/x86_64_regs.c b/backends/x86_64_regs.c
index c17af85e..cfa40508 100644
--- a/backends/x86_64_regs.c
+++ b/backends/x86_64_regs.c
@@ -165,6 +165,7 @@ x86_64_register_info (Ebl *ebl __attribute__ ((unused)),
return stpcpy (name, "mxcsr") + 1 - name;
case 65 ... 66:
+ *bits = 16;
name[0] = 'f';
name[1] = "cs"[regno - 65];
name[2] = 'w';