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

Side by Side Diff: gdb/mn10300-tdep.c

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/mipsread.c ('k') | gdb/monitor.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 /* Target-dependent code for the Matsushita MN10300 for GDB, the GNU debugger. 1 /* Target-dependent code for the Matsushita MN10300 for GDB, the GNU debugger.
2 2
3 Copyright (C) 1996-2005, 2007-2012 Free Software Foundation, Inc. 3 Copyright (C) 1996-2005, 2007-2012 Free Software Foundation, Inc.
4 4
5 This file is part of GDB. 5 This file is part of GDB.
6 6
7 This program is free software; you can redistribute it and/or modify 7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by 8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3 of the License, or 9 the Free Software Foundation; either version 3 of the License, or
10 (at your option) any later version. 10 (at your option) any later version.
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 _("Cannot extract return value %d bytes long."), len); 226 _("Cannot extract return value %d bytes long."), len);
227 } 227 }
228 228
229 /* Determine, for architecture GDBARCH, how a return value of TYPE 229 /* Determine, for architecture GDBARCH, how a return value of TYPE
230 should be returned. If it is supposed to be returned in registers, 230 should be returned. If it is supposed to be returned in registers,
231 and READBUF is non-zero, read the appropriate value from REGCACHE, 231 and READBUF is non-zero, read the appropriate value from REGCACHE,
232 and copy it into READBUF. If WRITEBUF is non-zero, write the value 232 and copy it into READBUF. If WRITEBUF is non-zero, write the value
233 from WRITEBUF into REGCACHE. */ 233 from WRITEBUF into REGCACHE. */
234 234
235 static enum return_value_convention 235 static enum return_value_convention
236 mn10300_return_value (struct gdbarch *gdbarch, struct type *func_type, 236 mn10300_return_value (struct gdbarch *gdbarch, struct value *function,
237 struct type *type, struct regcache *regcache, 237 struct type *type, struct regcache *regcache,
238 gdb_byte *readbuf, const gdb_byte *writebuf) 238 gdb_byte *readbuf, const gdb_byte *writebuf)
239 { 239 {
240 if (mn10300_use_struct_convention (type)) 240 if (mn10300_use_struct_convention (type))
241 return RETURN_VALUE_STRUCT_CONVENTION; 241 return RETURN_VALUE_STRUCT_CONVENTION;
242 242
243 if (readbuf) 243 if (readbuf)
244 mn10300_extract_return_value (gdbarch, type, regcache, readbuf); 244 mn10300_extract_return_value (gdbarch, type, regcache, readbuf);
245 if (writebuf) 245 if (writebuf)
246 mn10300_store_return_value (gdbarch, type, regcache, writebuf); 246 mn10300_store_return_value (gdbarch, type, regcache, writebuf);
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
380 /* Analyze the prologue to determine where registers are saved, 380 /* Analyze the prologue to determine where registers are saved,
381 the end of the prologue, etc. The result of this analysis is 381 the end of the prologue, etc. The result of this analysis is
382 returned in RESULT. See struct mn10300_prologue above for more 382 returned in RESULT. See struct mn10300_prologue above for more
383 information. */ 383 information. */
384 static void 384 static void
385 mn10300_analyze_prologue (struct gdbarch *gdbarch, 385 mn10300_analyze_prologue (struct gdbarch *gdbarch,
386 CORE_ADDR start_pc, CORE_ADDR limit_pc, 386 CORE_ADDR start_pc, CORE_ADDR limit_pc,
387 struct mn10300_prologue *result) 387 struct mn10300_prologue *result)
388 { 388 {
389 enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); 389 enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
390 CORE_ADDR pc, next_pc; 390 CORE_ADDR pc;
391 int rn; 391 int rn;
392 pv_t regs[MN10300_MAX_NUM_REGS]; 392 pv_t regs[MN10300_MAX_NUM_REGS];
393 struct pv_area *stack; 393 struct pv_area *stack;
394 struct cleanup *back_to; 394 struct cleanup *back_to;
395 CORE_ADDR after_last_frame_setup_insn = start_pc; 395 CORE_ADDR after_last_frame_setup_insn = start_pc;
396 int am33_mode = AM33_MODE (gdbarch); 396 int am33_mode = AM33_MODE (gdbarch);
397 397
398 memset (result, 0, sizeof (*result)); 398 memset (result, 0, sizeof (*result));
399 result->gdbarch = gdbarch; 399 result->gdbarch = gdbarch;
400 400
(...skipping 653 matching lines...) Expand 10 before | Expand all | Expand 10 after
1054 1054
1055 do_cleanups (back_to); 1055 do_cleanups (back_to);
1056 } 1056 }
1057 1057
1058 /* Function: skip_prologue 1058 /* Function: skip_prologue
1059 Return the address of the first inst past the prologue of the function. */ 1059 Return the address of the first inst past the prologue of the function. */
1060 1060
1061 static CORE_ADDR 1061 static CORE_ADDR
1062 mn10300_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc) 1062 mn10300_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
1063 { 1063 {
1064 char *name; 1064 const char *name;
1065 CORE_ADDR func_addr, func_end; 1065 CORE_ADDR func_addr, func_end;
1066 struct mn10300_prologue p; 1066 struct mn10300_prologue p;
1067 1067
1068 /* Try to find the extent of the function that contains PC. */ 1068 /* Try to find the extent of the function that contains PC. */
1069 if (!find_pc_partial_function (pc, &name, &func_addr, &func_end)) 1069 if (!find_pc_partial_function (pc, &name, &func_addr, &func_end))
1070 return pc; 1070 return pc;
1071 1071
1072 mn10300_analyze_prologue (gdbarch, pc, func_end, &p); 1072 mn10300_analyze_prologue (gdbarch, pc, func_end, &p);
1073 return p.prologue_end; 1073 return p.prologue_end;
1074 } 1074 }
(...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after
1469 1469
1470 /* Provide a prototype to silence -Wmissing-prototypes. */ 1470 /* Provide a prototype to silence -Wmissing-prototypes. */
1471 extern initialize_file_ftype _initialize_mn10300_tdep; 1471 extern initialize_file_ftype _initialize_mn10300_tdep;
1472 1472
1473 void 1473 void
1474 _initialize_mn10300_tdep (void) 1474 _initialize_mn10300_tdep (void)
1475 { 1475 {
1476 gdbarch_register (bfd_arch_mn10300, mn10300_gdbarch_init, mn10300_dump_tdep); 1476 gdbarch_register (bfd_arch_mn10300, mn10300_gdbarch_init, mn10300_dump_tdep);
1477 } 1477 }
1478 1478
OLDNEW
« no previous file with comments | « gdb/mipsread.c ('k') | gdb/monitor.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698