libunwind: update to 1.8.1
[openadk.git] / package / gdb-microblaze / patches / patch-gdb_microblaze-tdep_h
blobd2cee77c76059558fc1d24981fd99fd42c3c7ac4
1 --- gdb-7.8.2.orig/gdb/microblaze-tdep.h        2015-01-15 11:58:12.000000000 +0100
2 +++ gdb-7.8.2/gdb/microblaze-tdep.h     2016-09-21 10:34:30.029222319 +0200
3 @@ -1,6 +1,6 @@
4  /* Target-dependent code for Xilinx MicroBlaze.
5  
6 -   Copyright (C) 2009-2014 Free Software Foundation, Inc.
7 +   Copyright (C) 2009-2013 Free Software Foundation, Inc.
8  
9     This file is part of GDB.
11 @@ -22,8 +22,22 @@
14  /* Microblaze architecture-specific information.  */
15 +struct microblaze_gregset
17 +   unsigned int gregs[32];
18 +   unsigned int fpregs[32];
19 +   unsigned int pregs[16];
20 +};
22  struct gdbarch_tdep
23  {
24 +  int dummy;           // declare something.
26 +  /* Register sets.  */
27 +  struct regset *gregset;
28 +  size_t sizeof_gregset;
29 +  struct regset *fpregset;
30 +  size_t sizeof_fpregset;
31  };
33  struct microblaze_frame_cache
34 @@ -42,7 +56,8 @@ struct microblaze_frame_cache
35    int fp_regnum;
37    /* Offsets to saved registers.  */
38 -  int register_offsets[57];    /* Must match MICROBLAZE_NUM_REGS.  */
39 +  int register_offsets[59];    /* Must match MICROBLAZE_NUM_REGS.  */
40 +  CORE_ADDR saved_sp;
42    /* Table of saved registers.  */
43    struct trad_frame_saved_reg *saved_regs;
44 @@ -66,11 +81,11 @@ enum microblaze_regnum
45    MICROBLAZE_R12_REGNUM,
46    MICROBLAZE_R13_REGNUM,
47    MICROBLAZE_R14_REGNUM,
48 -  MICROBLAZE_R15_REGNUM,
49 +  MICROBLAZE_R15_REGNUM, MICROBLAZE_PREV_PC_REGNUM = MICROBLAZE_R15_REGNUM,
50    MICROBLAZE_R16_REGNUM,
51    MICROBLAZE_R17_REGNUM,
52    MICROBLAZE_R18_REGNUM,
53 -  MICROBLAZE_R19_REGNUM,
54 +  MICROBLAZE_R19_REGNUM, MICROBLAZE_FP_REGNUM = MICROBLAZE_R19_REGNUM,
55    MICROBLAZE_R20_REGNUM,
56    MICROBLAZE_R21_REGNUM,
57    MICROBLAZE_R22_REGNUM,
58 @@ -107,7 +122,9 @@ enum microblaze_regnum
59    MICROBLAZE_RTLBX_REGNUM,
60    MICROBLAZE_RTLBSX_REGNUM,
61    MICROBLAZE_RTLBLO_REGNUM,
62 -  MICROBLAZE_RTLBHI_REGNUM
63 +  MICROBLAZE_RTLBHI_REGNUM,
64 +  MICROBLAZE_SLR_REGNUM,
65 +  MICROBLAZE_SHR_REGNUM
66  };
68  /* All registers are 32 bits.  */
69 @@ -115,6 +132,21 @@ enum microblaze_regnum
71  /* MICROBLAZE_BREAKPOINT defines the breakpoint that should be used.
72     Only used for native debugging.  */
73 -#define MICROBLAZE_BREAKPOINT {0xb9, 0xcc, 0x00, 0x60}
74 +#define MICROBLAZE_BREAKPOINT {0xba, 0x0c, 0x00, 0x18}
75 +#define MICROBLAZE_BREAKPOINT_LE {0x18, 0x00, 0x0c, 0xba}
77 +extern void microblaze_supply_gregset (const struct microblaze_gregset *gregset,
78 +                                    struct regcache *regcache,
79 +                                    int regnum, const void *gregs);
80 +extern void microblaze_collect_gregset (const struct microblaze_gregset *gregset,
81 +                                     const struct regcache *regcache,
82 +                                     int regnum, void *gregs);
83 +extern void microblaze_supply_fpregset (struct regcache *regcache,
84 +                                     int regnum, const void *fpregs);
85 +extern void microblaze_collect_fpregset (const struct regcache *regcache,
86 +                                      int regnum, void *fpregs);
88 +extern const struct regset * microblaze_regset_from_core_section (struct gdbarch *gdbarch,
89 +                                     const char *sect_name, size_t sect_size);
91  #endif /* microblaze-tdep.h */