Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(167)

Side by Side Diff: gdb/arm-tdep.h

Issue 11969036: Merge GDB 7.5.1 (Closed) Base URL: http://git.chromium.org/native_client/nacl-gdb.git@master
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « gdb/arm-symbian-tdep.c ('k') | gdb/arm-tdep.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* Common target dependent code for GDB on ARM systems. 1 /* Common target dependent code for GDB on ARM systems.
2 Copyright (C) 2002-2003, 2007-2012 Free Software Foundation, Inc. 2 Copyright (C) 2002-2003, 2007-2012 Free Software Foundation, Inc.
3 3
4 This file is part of GDB. 4 This file is part of GDB.
5 5
6 This program is free software; you can redistribute it and/or modify 6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by 7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 3 of the License, or 8 the Free Software Foundation; either version 3 of the License, or
9 (at your option) any later version. 9 (at your option) any later version.
10 10
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 }; 64 };
65 65
66 /* Size of integer registers. */ 66 /* Size of integer registers. */
67 #define INT_REGISTER_SIZE 4 67 #define INT_REGISTER_SIZE 4
68 68
69 /* Say how long FP registers are. Used for documentation purposes and 69 /* Say how long FP registers are. Used for documentation purposes and
70 code readability in this header. IEEE extended doubles are 80 70 code readability in this header. IEEE extended doubles are 80
71 bits. DWORD aligned they use 96 bits. */ 71 bits. DWORD aligned they use 96 bits. */
72 #define FP_REGISTER_SIZE 12 72 #define FP_REGISTER_SIZE 12
73 73
74 /* Say how long VFP double precision registers are. Used for documentation
75 purposes and code readability. These are fixed at 64 bits. */
76 #define VFP_REGISTER_SIZE 8
77
74 /* Number of machine registers. The only define actually required 78 /* Number of machine registers. The only define actually required
75 is gdbarch_num_regs. The other definitions are used for documentation 79 is gdbarch_num_regs. The other definitions are used for documentation
76 purposes and code readability. */ 80 purposes and code readability. */
77 /* For 26 bit ARM code, a fake copy of the PC is placed in register 25 (PS) 81 /* For 26 bit ARM code, a fake copy of the PC is placed in register 25 (PS)
78 (and called PS for processor status) so the status bits can be cleared 82 (and called PS for processor status) so the status bits can be cleared
79 from the PC (register 15). For 32 bit ARM code, a copy of CPSR is placed 83 from the PC (register 15). For 32 bit ARM code, a copy of CPSR is placed
80 in PS. */ 84 in PS. */
81 #define NUM_FREGS 8 /* Number of floating point registers. */ 85 #define NUM_FREGS 8 /* Number of floating point registers. */
82 #define NUM_SREGS 2 /* Number of status registers. */ 86 #define NUM_SREGS 2 /* Number of status registers. */
83 #define NUM_GREGS 16 /* Number of general purpose registers. */ 87 #define NUM_GREGS 16 /* Number of general purpose registers. */
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 struct regset *gregset, *fpregset, *vfpregset; 197 struct regset *gregset, *fpregset, *vfpregset;
194 198
195 /* ISA-specific data types. */ 199 /* ISA-specific data types. */
196 struct type *arm_ext_type; 200 struct type *arm_ext_type;
197 struct type *neon_double_type; 201 struct type *neon_double_type;
198 struct type *neon_quad_type; 202 struct type *neon_quad_type;
199 203
200 /* Return the expected next PC if FRAME is stopped at a syscall 204 /* Return the expected next PC if FRAME is stopped at a syscall
201 instruction. */ 205 instruction. */
202 CORE_ADDR (*syscall_next_pc) (struct frame_info *frame); 206 CORE_ADDR (*syscall_next_pc) (struct frame_info *frame);
207
208 /* Parse swi insn args, sycall record. */
209 int (*arm_swi_record) (struct regcache *regcache);
203 }; 210 };
204 211
205 /* Structures used for displaced stepping. */ 212 /* Structures used for displaced stepping. */
206 213
207 /* The maximum number of temporaries available for displaced instructions. */ 214 /* The maximum number of temporaries available for displaced instructions. */
208 #define DISPLACED_TEMPS 16 215 #define DISPLACED_TEMPS 16
209 /* The maximum number of modified instructions generated for one single-stepped 216 /* The maximum number of modified instructions generated for one single-stepped
210 instruction, including the breakpoint (usually at the end of the instruction 217 instruction, including the breakpoint (usually at the end of the instruction
211 sequence) and any scratch words, etc. */ 218 sequence) and any scratch words, etc. */
212 #define DISPLACED_MODIFIED_INSNS 8 219 #define DISPLACED_MODIFIED_INSNS 8
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
323 struct displaced_step_closure *, 330 struct displaced_step_closure *,
324 CORE_ADDR, CORE_ADDR, struct regcache *); 331 CORE_ADDR, CORE_ADDR, struct regcache *);
325 332
326 /* Return the bit mask in ARM_PS_REGNUM that indicates Thumb mode. */ 333 /* Return the bit mask in ARM_PS_REGNUM that indicates Thumb mode. */
327 extern int arm_psr_thumb_bit (struct gdbarch *); 334 extern int arm_psr_thumb_bit (struct gdbarch *);
328 335
329 /* Is the instruction at the given memory address a Thumb or ARM 336 /* Is the instruction at the given memory address a Thumb or ARM
330 instruction? */ 337 instruction? */
331 extern int arm_pc_is_thumb (struct gdbarch *, CORE_ADDR); 338 extern int arm_pc_is_thumb (struct gdbarch *, CORE_ADDR);
332 339
340 extern int arm_process_record (struct gdbarch *gdbarch,
341 struct regcache *regcache, CORE_ADDR addr);
333 /* Functions exported from armbsd-tdep.h. */ 342 /* Functions exported from armbsd-tdep.h. */
334 343
335 /* Return the appropriate register set for the core section identified 344 /* Return the appropriate register set for the core section identified
336 by SECT_NAME and SECT_SIZE. */ 345 by SECT_NAME and SECT_SIZE. */
337 346
338 extern const struct regset * 347 extern const struct regset *
339 armbsd_regset_from_core_section (struct gdbarch *gdbarch, 348 armbsd_regset_from_core_section (struct gdbarch *gdbarch,
340 const char *sect_name, size_t sect_size); 349 const char *sect_name, size_t sect_size);
341 350
342 /* Target descriptions. */ 351 /* Target descriptions. */
343 extern struct target_desc *tdesc_arm_with_m; 352 extern struct target_desc *tdesc_arm_with_m;
344 extern struct target_desc *tdesc_arm_with_iwmmxt; 353 extern struct target_desc *tdesc_arm_with_iwmmxt;
345 extern struct target_desc *tdesc_arm_with_vfpv2; 354 extern struct target_desc *tdesc_arm_with_vfpv2;
346 extern struct target_desc *tdesc_arm_with_vfpv3; 355 extern struct target_desc *tdesc_arm_with_vfpv3;
347 extern struct target_desc *tdesc_arm_with_neon; 356 extern struct target_desc *tdesc_arm_with_neon;
348 357
349 #endif /* arm-tdep.h */ 358 #endif /* arm-tdep.h */
OLDNEW
« no previous file with comments | « gdb/arm-symbian-tdep.c ('k') | gdb/arm-tdep.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698