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

Side by Side Diff: gdb/remote-m32r-sdi.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/remote-fileio.c ('k') | gdb/remote-mips.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 /* Remote debugging interface for M32R/SDI. 1 /* Remote debugging interface for M32R/SDI.
2 2
3 Copyright (C) 2003-2012 Free Software Foundation, Inc. 3 Copyright (C) 2003-2012 Free Software Foundation, Inc.
4 4
5 Contributed by Renesas Technology Co. 5 Contributed by Renesas Technology Co.
6 Written by Kei Sakamoto <sakamoto.kei@renesas.com>. 6 Written by Kei Sakamoto <sakamoto.kei@renesas.com>.
7 7
8 This file is part of GDB. 8 This file is part of GDB.
9 9
10 This program is free software; you can redistribute it and/or modify 10 This program is free software; you can redistribute it and/or modify
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
174 if (c != '+') /* error */ 174 if (c != '+') /* error */
175 return -1; 175 return -1;
176 176
177 return 0; 177 return 0;
178 } 178 }
179 179
180 /* Send data to the target and check an ack packet. */ 180 /* Send data to the target and check an ack packet. */
181 static int 181 static int
182 send_data (void *buf, int len) 182 send_data (void *buf, int len)
183 { 183 {
184 int ret;
185
186 if (!sdi_desc) 184 if (!sdi_desc)
187 return -1; 185 return -1;
188 186
189 if (serial_write (sdi_desc, buf, len) != 0) 187 if (serial_write (sdi_desc, buf, len) != 0)
190 return -1; 188 return -1;
191 189
192 if (get_ack () == -1) 190 if (get_ack () == -1)
193 return -1; 191 return -1;
194 192
195 return len; 193 return len;
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after
445 443
446 inferior_ptid = null_ptid; 444 inferior_ptid = null_ptid;
447 delete_thread_silent (remote_m32r_ptid); 445 delete_thread_silent (remote_m32r_ptid);
448 return; 446 return;
449 } 447 }
450 448
451 /* Tell the remote machine to resume. */ 449 /* Tell the remote machine to resume. */
452 450
453 static void 451 static void
454 m32r_resume (struct target_ops *ops, 452 m32r_resume (struct target_ops *ops,
455 » ptid_t ptid, int step, enum target_signal sig) 453 » ptid_t ptid, int step, enum gdb_signal sig)
456 { 454 {
457 unsigned long pc_addr, bp_addr, ab_addr; 455 unsigned long pc_addr, bp_addr, ab_addr;
458 int ib_breakpoints; 456 int ib_breakpoints;
459 unsigned char buf[13]; 457 unsigned char buf[13];
460 int i; 458 int i;
461 459
462 if (remote_debug) 460 if (remote_debug)
463 { 461 {
464 if (step) 462 if (step)
465 fprintf_unfiltered (gdb_stdlog, "\nm32r_resume(step)\n"); 463 fprintf_unfiltered (gdb_stdlog, "\nm32r_resume(step)\n");
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after
700 698
701 static ptid_t 699 static ptid_t
702 m32r_wait (struct target_ops *ops, 700 m32r_wait (struct target_ops *ops,
703 ptid_t ptid, struct target_waitstatus *status, int options) 701 ptid_t ptid, struct target_waitstatus *status, int options)
704 { 702 {
705 static RETSIGTYPE (*prev_sigint) (); 703 static RETSIGTYPE (*prev_sigint) ();
706 unsigned long bp_addr, pc_addr; 704 unsigned long bp_addr, pc_addr;
707 int ib_breakpoints; 705 int ib_breakpoints;
708 long i; 706 long i;
709 unsigned char buf[13]; 707 unsigned char buf[13];
710 unsigned long val;
711 int ret, c; 708 int ret, c;
712 709
713 if (remote_debug) 710 if (remote_debug)
714 fprintf_unfiltered (gdb_stdlog, "m32r_wait()\n"); 711 fprintf_unfiltered (gdb_stdlog, "m32r_wait()\n");
715 712
716 status->kind = TARGET_WAITKIND_EXITED; 713 status->kind = TARGET_WAITKIND_EXITED;
717 status->value.sig = TARGET_SIGNAL_0; 714 status->value.sig = GDB_SIGNAL_0;
718 715
719 interrupted = 0; 716 interrupted = 0;
720 prev_sigint = signal (SIGINT, gdb_cntrl_c); 717 prev_sigint = signal (SIGINT, gdb_cntrl_c);
721 718
722 /* Wait for ready. */ 719 /* Wait for ready. */
723 buf[0] = SDI_WAIT_FOR_READY; 720 buf[0] = SDI_WAIT_FOR_READY;
724 if (serial_write (sdi_desc, buf, 1) != 0) 721 if (serial_write (sdi_desc, buf, 1) != 0)
725 error (_("Remote connection closed")); 722 error (_("Remote connection closed"));
726 723
727 while (1) 724 while (1)
728 { 725 {
729 c = serial_readchar (sdi_desc, SDI_TIMEOUT); 726 c = serial_readchar (sdi_desc, SDI_TIMEOUT);
730 if (c < 0) 727 if (c < 0)
731 error (_("Remote connection closed")); 728 error (_("Remote connection closed"));
732 729
733 if (c == '-') /* error */ 730 if (c == '-') /* error */
734 { 731 {
735 status->kind = TARGET_WAITKIND_STOPPED; 732 status->kind = TARGET_WAITKIND_STOPPED;
736 » status->value.sig = TARGET_SIGNAL_HUP; 733 » status->value.sig = GDB_SIGNAL_HUP;
737 return inferior_ptid; 734 return inferior_ptid;
738 } 735 }
739 else if (c == '+') /* stopped */ 736 else if (c == '+') /* stopped */
740 break; 737 break;
741 738
742 if (interrupted) 739 if (interrupted)
743 ret = serial_write (sdi_desc, "!", 1); /* packet to interrupt */ 740 ret = serial_write (sdi_desc, "!", 1); /* packet to interrupt */
744 else 741 else
745 ret = serial_write (sdi_desc, ".", 1); /* packet to wait */ 742 ret = serial_write (sdi_desc, ".", 1); /* packet to wait */
746 if (ret != 0) 743 if (ret != 0)
747 error (_("Remote connection closed")); 744 error (_("Remote connection closed"));
748 } 745 }
749 746
750 status->kind = TARGET_WAITKIND_STOPPED; 747 status->kind = TARGET_WAITKIND_STOPPED;
751 if (interrupted) 748 if (interrupted)
752 status->value.sig = TARGET_SIGNAL_INT; 749 status->value.sig = GDB_SIGNAL_INT;
753 else 750 else
754 status->value.sig = TARGET_SIGNAL_TRAP; 751 status->value.sig = GDB_SIGNAL_TRAP;
755 752
756 interrupted = 0; 753 interrupted = 0;
757 signal (SIGINT, prev_sigint); 754 signal (SIGINT, prev_sigint);
758 755
759 check_mmu_status (); 756 check_mmu_status ();
760 757
761 /* Recover parallel bit. */ 758 /* Recover parallel bit. */
762 if (last_pc_addr != 0xffffffff) 759 if (last_pc_addr != 0xffffffff)
763 { 760 {
764 buf[0] = SDI_WRITE_MEMORY; 761 buf[0] = SDI_WRITE_MEMORY;
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
878 875
879 /* Terminate the open connection to the remote debugger. 876 /* Terminate the open connection to the remote debugger.
880 Use this when you want to detach and do something else 877 Use this when you want to detach and do something else
881 with your gdb. */ 878 with your gdb. */
882 static void 879 static void
883 m32r_detach (struct target_ops *ops, char *args, int from_tty) 880 m32r_detach (struct target_ops *ops, char *args, int from_tty)
884 { 881 {
885 if (remote_debug) 882 if (remote_debug)
886 fprintf_unfiltered (gdb_stdlog, "m32r_detach(%d)\n", from_tty); 883 fprintf_unfiltered (gdb_stdlog, "m32r_detach(%d)\n", from_tty);
887 884
888 m32r_resume (ops, inferior_ptid, 0, TARGET_SIGNAL_0); 885 m32r_resume (ops, inferior_ptid, 0, GDB_SIGNAL_0);
889 886
890 /* Calls m32r_close to do the real work. */ 887 /* Calls m32r_close to do the real work. */
891 pop_target (); 888 pop_target ();
892 if (from_tty) 889 if (from_tty)
893 fprintf_unfiltered (gdb_stdlog, "Ending remote %s debugging\n", 890 fprintf_unfiltered (gdb_stdlog, "Ending remote %s debugging\n",
894 target_shortname); 891 target_shortname);
895 } 892 }
896 893
897 /* Return the id of register number REGNO. */ 894 /* Return the id of register number REGNO. */
898 895
(...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after
1218 { 1215 {
1219 struct cleanup *old_chain; 1216 struct cleanup *old_chain;
1220 asection *section; 1217 asection *section;
1221 bfd *pbfd; 1218 bfd *pbfd;
1222 bfd_vma entry; 1219 bfd_vma entry;
1223 char *filename; 1220 char *filename;
1224 int quiet; 1221 int quiet;
1225 int nostart; 1222 int nostart;
1226 struct timeval start_time, end_time; 1223 struct timeval start_time, end_time;
1227 unsigned long data_count; /* Number of bytes transferred to memory. */ 1224 unsigned long data_count; /* Number of bytes transferred to memory. */
1228 int ret;
1229 static RETSIGTYPE (*prev_sigint) (); 1225 static RETSIGTYPE (*prev_sigint) ();
1230 1226
1231 /* for direct tcp connections, we can do a fast binary download. */ 1227 /* for direct tcp connections, we can do a fast binary download. */
1232 quiet = 0; 1228 quiet = 0;
1233 nostart = 0; 1229 nostart = 0;
1234 filename = NULL; 1230 filename = NULL;
1235 1231
1236 while (*args != '\000') 1232 while (*args != '\000')
1237 { 1233 {
1238 char *arg; 1234 char *arg;
(...skipping 458 matching lines...) Expand 10 before | Expand all | Expand 10 after
1697 1693
1698 add_com ("use_ib_break", class_obscure, use_ib_breakpoints_command, 1694 add_com ("use_ib_break", class_obscure, use_ib_breakpoints_command,
1699 _("Set breakpoints by IB break.")); 1695 _("Set breakpoints by IB break."));
1700 add_com ("use_dbt_break", class_obscure, use_dbt_breakpoints_command, 1696 add_com ("use_dbt_break", class_obscure, use_dbt_breakpoints_command,
1701 _("Set breakpoints by dbt.")); 1697 _("Set breakpoints by dbt."));
1702 1698
1703 /* Yes, 42000 is arbitrary. The only sense out of it, is that it 1699 /* Yes, 42000 is arbitrary. The only sense out of it, is that it
1704 isn't 0. */ 1700 isn't 0. */
1705 remote_m32r_ptid = ptid_build (42000, 0, 42000); 1701 remote_m32r_ptid = ptid_build (42000, 0, 42000);
1706 } 1702 }
OLDNEW
« no previous file with comments | « gdb/remote-fileio.c ('k') | gdb/remote-mips.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698