OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [insight/] [gdb/] [testsuite/] [gdb.trace/] [actions.c] - Blame information for rev 1767

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 578 markom
/*
2
 * Test program for trace action commands
3
 */
4
 
5
static char   gdb_char_test;
6
static short  gdb_short_test;
7
static long   gdb_long_test;
8
static char   gdb_arr_test[25];
9
static struct GDB_STRUCT_TEST
10
{
11
  char   c;
12
  short  s;
13
  long   l;
14
  int    bfield : 11;   /* collect bitfield */
15
  char   arr[25];
16
  struct GDB_STRUCT_TEST *next;
17
} gdb_struct1_test, gdb_struct2_test, *gdb_structp_test, **gdb_structpp_test;
18
 
19
static union GDB_UNION_TEST
20
{
21
  char   c;
22
  short  s;
23
  long   l;
24
  int    bfield : 11;   /* collect bitfield */
25
  char   arr[4];
26
  union GDB_UNION_TEST *next;
27
} gdb_union1_test;
28
 
29
void gdb_recursion_test (int, int, int, int,  int,  int,  int);
30
 
31
void gdb_recursion_test (int depth,
32
                         int q1,
33
                         int q2,
34
                         int q3,
35
                         int q4,
36
                         int q5,
37
                         int q6)
38
{       /* gdb_recursion_test line 0 */
39
  int q = q1;                                           /* gdbtestline 1 */
40
 
41
  q1 = q2;                                              /* gdbtestline 2 */
42
  q2 = q3;                                              /* gdbtestline 3 */
43
  q3 = q4;                                              /* gdbtestline 4 */
44
  q4 = q5;                                              /* gdbtestline 5 */
45
  q5 = q6;                                              /* gdbtestline 6 */
46
  q6 = q;                                               /* gdbtestline 7 */
47
  if (depth--)                                          /* gdbtestline 8 */
48
    gdb_recursion_test (depth, q1, q2, q3, q4, q5, q6); /* gdbtestline 9 */
49
}
50
 
51
 
52
unsigned long   gdb_c_test( unsigned long *parm )
53
 
54
{
55
   char *p = "gdb_c_test";
56
   char *ridiculously_long_variable_name_with_equally_long_string_assignment;
57
   register long local_reg = 7;
58
   static unsigned long local_static, local_static_sizeof;
59
   long local_long;
60
   unsigned long *stack_ptr;
61
   unsigned long end_of_stack;
62
 
63
   ridiculously_long_variable_name_with_equally_long_string_assignment =
64
     "ridiculously long variable name with equally long string assignment";
65
   local_static = 9;
66
   local_static_sizeof = sizeof (struct GDB_STRUCT_TEST);
67
   local_long = local_reg + 1;
68
   stack_ptr  = (unsigned long *) &local_long;
69
   end_of_stack =
70
     (unsigned long) &stack_ptr + sizeof(stack_ptr) + sizeof(end_of_stack) - 1;
71
 
72
   gdb_char_test   = gdb_struct1_test.c = (char)   ((long) parm[1] & 0xff);
73
   gdb_short_test  = gdb_struct1_test.s = (short)  ((long) parm[2] & 0xffff);
74
   gdb_long_test   = gdb_struct1_test.l = (long)   ((long) parm[3] & 0xffffffff);
75
   gdb_union1_test.l = (long) parm[4];
76
   gdb_arr_test[0] = gdb_struct1_test.arr[0] = (char) ((long) parm[1] & 0xff);
77
   gdb_arr_test[1] = gdb_struct1_test.arr[1] = (char) ((long) parm[2] & 0xff);
78
   gdb_arr_test[2] = gdb_struct1_test.arr[2] = (char) ((long) parm[3] & 0xff);
79
   gdb_arr_test[3] = gdb_struct1_test.arr[3] = (char) ((long) parm[4] & 0xff);
80
   gdb_arr_test[4] = gdb_struct1_test.arr[4] = (char) ((long) parm[5] & 0xff);
81
   gdb_arr_test[5] = gdb_struct1_test.arr[5] = (char) ((long) parm[6] & 0xff);
82
   gdb_struct1_test.bfield = 144;
83
   gdb_struct1_test.next = &gdb_struct2_test;
84
   gdb_structp_test      = &gdb_struct1_test;
85
   gdb_structpp_test     = &gdb_structp_test;
86
 
87
   gdb_recursion_test (3, (long) parm[1], (long) parm[2], (long) parm[3],
88
                       (long) parm[4], (long) parm[5], (long) parm[6]);
89
 
90
   gdb_char_test = gdb_short_test = gdb_long_test = 0;
91
   gdb_structp_test  = (void *) 0;
92
   gdb_structpp_test = (void *) 0;
93
   memset ((char *) &gdb_struct1_test, 0, sizeof (gdb_struct1_test));
94
   memset ((char *) &gdb_struct2_test, 0, sizeof (gdb_struct2_test));
95
   local_static_sizeof = 0;
96
   local_static = 0;
97
   return ( (unsigned long) 0 );
98
}
99
 
100
static void gdb_asm_test (void)
101
{
102
}
103
 
104
static void begin ()    /* called before anything else */
105
{
106
}
107
 
108
static void end ()      /* called after everything else */
109
{
110
}
111
 
112
int
113
main (argc, argv, envp)
114
     int argc;
115
     char *argv[], **envp;
116
{
117
  int i;
118
  unsigned long myparms[10];
119
 
120
#ifdef usestubs
121
  set_debug_traps ();
122
  breakpoint ();
123
#endif
124
 
125
  begin ();
126
  for (i = 0; i < sizeof (myparms) / sizeof (myparms[0]); i++)
127
    myparms[i] = i;
128
 
129
  gdb_c_test (&myparms[0]);
130
 
131
  end ();
132
  return 0;
133
}
134
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.