* Bringing over SKY PKE disassembler feature from sky branch.
[deliverable/binutils-gdb.git] / gdb / cxux-nat.c
index 52a4eb352d00b071efc313dcdd8109a802486ab1..2ed1430ea4bf43e2da62c33d7ec04f2a1a2922e9 100644 (file)
@@ -15,7 +15,7 @@ GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
-Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 
 #include "defs.h"
 #include "frame.h"
@@ -39,7 +39,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #include <sys/ioctl.h>
 #include <fcntl.h>
 #include <sys/file.h>
-#include <sys/stat.h>
+#include "gdb_stat.h"
 
 #include "symtab.h"
 #include "setjmp.h"
@@ -54,11 +54,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #define PSR_OFFSET  (PT_PSR  * sizeof(int))
 #define FPSR_OFFSET (PT_FPSR * sizeof(int))
 #define FPCR_OFFSET (PT_FPCR * sizeof(int))
-#else  /* _CX_UX */
-/* define offsets to the pc instruction offsets in ptrace_user struct */
-#define SXIP_OFFSET ((char *)&u.pt_sigframe.dg_sigframe.sc_sxip - (char *)&u)
-#define SNIP_OFFSET ((char *)&u.pt_sigframe.dg_sigframe.sc_snip - (char *)&u)
-#define SFIP_OFFSET ((char *)&u.pt_sigframe.dg_sigframe.sc_sfip - (char *)&u)
 
 #define XREGADDR(r) (((char *)&u.pt_x0-(char *)&u) + \
                      ((r)-X0_REGNUM)*sizeof(X_REGISTER_RAW_TYPE))
@@ -397,9 +392,11 @@ add_shared_symbol_files ()
         the symbols the user actually gets. */
       lm = lms.l_prev;
     }
-}
 
-int target_is_m88110;
+  /* Getting new symbols may change our opinion about what is
+     frameless.  */
+  reinit_frame_cache ();
+}
 
 #if defined(_ES_MP)
 
@@ -498,3 +495,29 @@ supply_fpregset (fpregsetp)
 }
 
 #endif /* _ES_MP */
+
+#ifdef _CX_UX
+
+#include <sys/regset.h>
+
+unsigned int m88k_harris_core_register_addr(int regno, int reg_ptr)
+{
+   unsigned int word_offset;
+
+   switch (regno) {
+    case PSR_REGNUM  : word_offset = R_PSR;  break;
+    case FPSR_REGNUM : word_offset = R_FPSR; break;
+    case FPCR_REGNUM : word_offset = R_FPCR; break;
+    case SXIP_REGNUM : word_offset = R_XIP;  break;
+    case SNIP_REGNUM : word_offset = R_NIP;  break;
+    case SFIP_REGNUM : word_offset = R_FIP;  break;
+    default :
+      if (regno <= FP_REGNUM) 
+            word_offset = regno;
+      else 
+            word_offset = ((regno - X0_REGNUM) * 4) + R_X0;
+   }
+   return (word_offset * 4);
+}
+
+#endif /* _CX_UX */
This page took 0.025014 seconds and 4 git commands to generate.