Modify altivec-regs.exp testcase for AIX
authorAditya Vidyadhar Kamath <Aditya.Kamath1@ibm.com>
Mon, 6 Mar 2023 07:31:34 +0000 (01:31 -0600)
committerUlrich Weigand <ulrich.weigand@de.ibm.com>
Tue, 7 Mar 2023 09:54:53 +0000 (10:54 +0100)
On AIX, the debugger cannot access vector registers before they
are first used by the inferior.  Hence we change the test case
such that some vector registers are accessed by the variable 'x' in AIX
and other targets are not affected as a consequence of the same.

gdb/testsuite/gdb.arch/altivec-regs.c
gdb/testsuite/gdb.arch/altivec-regs.exp

index 8f3b729fe3f54de121ea92ebf025b5fa13470dd8..1411f15e3583ac1b6a6fff96a04bea2054a6777d 100644 (file)
@@ -20,12 +20,18 @@ main ()
   vector unsigned int z; 
   int a;
 
+  #ifdef _AIX
+  /* On AIX, the debugger cannot access vector registers before they
+     are first used by the inferior.  Perform such an access here.  */
+  x = ((vector unsigned int) vec_splat_u8 (0));
+  #endif
+
   /* This line may look unnecessary but we do need it, because we want to
      have a line to do a next over (so that gdb refetches the registers)
      and we don't want the code to change any vector registers.
      The splat operations below modify the VRs,i
      so we don't want to execute them yet.  */
-  a = 9;
+  a = 9; /* start here */
   x = ((vector unsigned int) vec_splat_u8 (-2));
   y = ((vector unsigned int) vec_splat_u8 (1));
        
index 6cc32aeff22a4d12d7392522b22255e20c50be68..b771a4df76f41129bd0e0db8e39f0ccfb43fae59 100644 (file)
@@ -52,6 +52,9 @@ if {![runto_main]} {
     return 0
 }
 
+gdb_breakpoint [gdb_get_line_number "start here"]
+gdb_continue_to_breakpoint "start here"
+
 gdb_test "set print frame-arguments all"
 
 # set all the registers integer portions to 1