components/gdb/patches/gdb.gdb.sparc-tdep.h-2.patch
author Drew Fisher <drew.fisher@oracle.com>
Thu, 23 Mar 2017 08:04:21 -0700
changeset 7801 0dc67d04f8bb
parent 7461 fae95a5b122f
permissions -rw-r--r--
25772305 problem in SERVICE/NOVA
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7461
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
     1
Support for target descriptions layered on top of sparc32/sparc64
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
     2
which describe more registers than native ones.
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
     3
Pseudo registers always come after the real registers.
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
     4
One more step forward to modernize sparc tdep's.
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
     5
Submitted to upstream as:
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
     6
https://sourceware.org/bugzilla/show_bug.cgi?id=20936
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
     7
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
     8
--- gdb-7.11/gdb/sparc-tdep.h.orig	2016-11-13 21:25:35.998594039 -0800
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
     9
+++ gdb-7.11/gdb/sparc-tdep.h	2016-11-13 21:26:09.714151047 -0800
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    10
@@ -20,6 +20,12 @@
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    11
 #ifndef SPARC_TDEP_H
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    12
 #define SPARC_TDEP_H 1
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    13
 
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    14
+#define SPARC_CORE_REGISTERS                      \
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    15
+  "g0", "g1", "g2", "g3", "g4", "g5", "g6", "g7", \
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    16
+  "o0", "o1", "o2", "o3", "o4", "o5", "sp", "o7", \
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    17
+  "l0", "l1", "l2", "l3", "l4", "l5", "l6", "l7", \
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    18
+  "i0", "i1", "i2", "i3", "i4", "i5", "fp", "i7"
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    19
+
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    20
 struct frame_info;
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    21
 struct gdbarch;
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    22
 struct regcache;
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    23
@@ -57,6 +63,12 @@
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    24
   int pc_regnum;
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    25
   int npc_regnum;
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    26
 
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    27
+  /* Register names specific for architecture (sparc32 vs. sparc64) */
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    28
+  const char **fpu_register_names;
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    29
+  size_t fpu_registers_num;
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    30
+  const char **cp0_register_names;
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    31
+  size_t cp0_registers_num;
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    32
+
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    33
   /* Register sets.  */
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    34
   const struct regset *gregset;
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    35
   size_t sizeof_gregset;
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    36
@@ -141,8 +153,11 @@
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    37
   SPARC32_NPC_REGNUM,		/* %npc */
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    38
   SPARC32_FSR_REGNUM,		/* %fsr */
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    39
   SPARC32_CSR_REGNUM,		/* %csr */
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    40
+};
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    41
 
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    42
-  /* Pseudo registers.  */
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    43
+/* Pseudo registers.  */
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    44
+enum sparc32_pseudo_regnum
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    45
+{
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    46
   SPARC32_D0_REGNUM,		/* %d0 */
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    47
   SPARC32_D30_REGNUM		/* %d30 */
fae95a5b122f 25120014 gdb does not support target descriptions layered on top of native one
Ivo Raisr <ivo.raisr@oracle.com>
parents:
diff changeset
    48
   = SPARC32_D0_REGNUM + 15