aboutsummaryrefslogblamecommitdiffstats
path: root/main/gdb/s390x-use-elf-gdb_fpregset_t.patch
blob: 669021f0cbce24a27079dd8c49665a06c52fd46c (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14













                                                                        

                                                        
                             

                          
                                                                           






                                                                      

                                                                                     







                                                                          
                                                                                     







                                                                
                                                                                       



                                                                           
                                                                               

                 
                                               







                                                                    
                                                                                                































                                                                             
                                            







                                                
                                                                   







                                                                     
                                                                   







                                                                  
                                                                                     







                                                  
                                                                     







                                                                    
                                                                     







                                                                    
The s390 versions of fill_gregset / supply_gregset and fill_fpregset /
supply_fpregset declare the data structure to be filled or supplied from
as gregset_t and fpregset_t, respectively, instead of gdb_gregset_t and
gdb_fpregset_t.  This is incompatible with the declaration of these
functions in gregset.h.
gdb/ChangeLog:

	* s390-linux-nat.c (supply_gregset, fill_gregset, fetch_regs)
	(store_regs): Replace gregset_t by gdb_gregset_t.
	(supply_fpregset, fill_fpregset, fetch_fpregs, store_fpregs):
	Replace fpregset_t by gdb_fpregset_t.
Credit to Andreas Arnez at IBM

---

diff --git a/gdb/s390-linux-nat.c b/gdb/s390-linux-nat.c
index 2c60562..c48a35a 100644
--- a/gdb/s390-linux-nat.c
+++ b/gdb/s390-linux-nat.c
@@ -153,7 +153,7 @@ static s390_linux_nat_target the_s390_linux_nat_target;
    make them look like 32-bit registers.  */
 
 void
-supply_gregset (struct regcache *regcache, const gregset_t *regp)
+supply_gregset (struct regcache *regcache, const gdb_gregset_t *regp)
 {
 #ifdef __s390x__
   struct gdbarch *gdbarch = regcache->arch ();
@@ -164,7 +164,7 @@ supply_gregset (struct regcache *regcache, const gregset_t *regp)
       gdb_byte buf[4];
 
       regcache_supply_regset (&s390_64_gregset, regcache, -1,
-			      regp, sizeof (gregset_t));
+			      regp, sizeof (gdb_gregset_t));
       pswm = extract_unsigned_integer ((const gdb_byte *) regp
 				       + S390_PSWM_OFFSET, 8, byte_order);
       pswa = extract_unsigned_integer ((const gdb_byte *) regp
@@ -179,7 +179,7 @@ supply_gregset (struct regcache *regcache, const gregset_t *regp)
 #endif
 
   regcache_supply_regset (&s390_gregset, regcache, -1, regp,
-			  sizeof (gregset_t));
+			  sizeof (gdb_gregset_t));
 }
 
 /* Fill register REGNO (if it is a general-purpose register) in
@@ -187,14 +187,14 @@ supply_gregset (struct regcache *regcache, const gregset_t *regp)
    do this for all registers.  */
 
 void
-fill_gregset (const struct regcache *regcache, gregset_t *regp, int regno)
+fill_gregset (const struct regcache *regcache, gdb_gregset_t *regp, int regno)
 {
 #ifdef __s390x__
   struct gdbarch *gdbarch = regcache->arch ();
   if (gdbarch_ptr_bit (gdbarch) == 32)
     {
       regcache_collect_regset (&s390_64_gregset, regcache, regno,
-			       regp, sizeof (gregset_t));
+			       regp, sizeof (gdb_gregset_t));
 
       if (regno == -1
 	  || regno == S390_PSWM_REGNUM || regno == S390_PSWA_REGNUM)
@@ -231,26 +231,27 @@ fill_gregset (const struct regcache *regcache, gregset_t *regp, int regno)
 #endif
 
   regcache_collect_regset (&s390_gregset, regcache, regno, regp,
-			   sizeof (gregset_t));
+			   sizeof (gdb_gregset_t));
 }
 
 /* Fill GDB's register array with the floating-point register values
    in *REGP.  */
 void
-supply_fpregset (struct regcache *regcache, const fpregset_t *regp)
+supply_fpregset (struct regcache *regcache, const gdb_fpregset_t *regp)
 {
   regcache_supply_regset (&s390_fpregset, regcache, -1, regp,
-			  sizeof (fpregset_t));
+			  sizeof (gdb_fpregset_t));
 }
 
 /* Fill register REGNO (if it is a general-purpose register) in
    *REGP with the value in GDB's register array.  If REGNO is -1,
    do this for all registers.  */
 void
-fill_fpregset (const struct regcache *regcache, fpregset_t *regp, int regno)
+fill_fpregset (const struct regcache *regcache, gdb_fpregset_t *regp,
+	       int regno)
 {
   regcache_collect_regset (&s390_fpregset, regcache, regno, regp,
-			   sizeof (fpregset_t));
+			   sizeof (gdb_fpregset_t));
 }
 
 /* Find the TID for the current inferior thread to use with ptrace.  */
@@ -270,7 +271,7 @@ s390_inferior_tid (void)
 static void
 fetch_regs (struct regcache *regcache, int tid)
 {
-  gregset_t regs;
+  gdb_gregset_t regs;
   ptrace_area parea;
 
   parea.len = sizeof (regs);
@@ -279,7 +280,7 @@ fetch_regs (struct regcache *regcache, int tid)
   if (ptrace (PTRACE_PEEKUSR_AREA, tid, (long) &parea, 0) < 0)
     perror_with_name (_("Couldn't get registers"));
 
-  supply_gregset (regcache, (const gregset_t *) &regs);
+  supply_gregset (regcache, (const gdb_gregset_t *) &regs);
 }
 
 /* Store all valid general-purpose registers in GDB's register cache
@@ -287,7 +288,7 @@ fetch_regs (struct regcache *regcache, int tid)
 static void
 store_regs (const struct regcache *regcache, int tid, int regnum)
 {
-  gregset_t regs;
+  gdb_gregset_t regs;
   ptrace_area parea;
 
   parea.len = sizeof (regs);
@@ -307,7 +308,7 @@ store_regs (const struct regcache *regcache, int tid, int regnum)
 static void
 fetch_fpregs (struct regcache *regcache, int tid)
 {
-  fpregset_t fpregs;
+  gdb_fpregset_t fpregs;
   ptrace_area parea;
 
   parea.len = sizeof (fpregs);
@@ -316,7 +317,7 @@ fetch_fpregs (struct regcache *regcache, int tid)
   if (ptrace (PTRACE_PEEKUSR_AREA, tid, (long) &parea, 0) < 0)
     perror_with_name (_("Couldn't get floating point status"));
 
-  supply_fpregset (regcache, (const fpregset_t *) &fpregs);
+  supply_fpregset (regcache, (const gdb_fpregset_t *) &fpregs);
 }
 
 /* Store all valid floating-point registers in GDB's register cache
@@ -324,7 +325,7 @@ fetch_fpregs (struct regcache *regcache, int tid)
 static void
 store_fpregs (const struct regcache *regcache, int tid, int regnum)
 {
-  fpregset_t fpregs;
+  gdb_fpregset_t fpregs;
   ptrace_area parea;
 
   parea.len = sizeof (fpregs);