From: "Kei Sakamoto" <sakamoto.kei@renesas.com>
To: <gdb-patches@sources.redhat.com>
Subject: Re: [RFA/m32r] Fix breakpoint bug of m32rsdi protocol
Date: Wed, 07 Jul 2004 05:38:00 -0000 [thread overview]
Message-ID: <021701c463e4$ab8749c0$5169910a@E5A02646> (raw)
In-Reply-To: <020801c463e4$6c92a660$5169910a@E5A02646>
[-- Attachment #1: Type: text/plain, Size: 752 bytes --]
I'm sorry. I forgot to attach the patch file.
From: "Kei Sakamoto" <sakamoto.kei@renesas.com>
To: <gdb-patches@sources.redhat.com>
Sent: Wednesday, July 07, 2004 2:36 PM
Subject: [RFA/m32r] Fix breakpoint bug of m32rsdi protocol
> Hello,
>
> I found a bug in m32r's own remote protocol, m32rsdi. When gdb uses m32rsdi
> protocol, gdb skips the breakpoint on the next instruction.
>
> Fo example, when pc is 0xf00020, gdb skips the breakpoint on 0xf00024.
>
> f00020: e6 f0 10 08 ld24 r6,f01008 <y>
> f00024: e3 f0 10 04 ld24 r3,f01004 <z>
>
> The attached patch fixes this problem.
>
> OK to commit?
>
> ===
>
> 2004-07-07 Kei Sakamoto <sakamoto.kei@renesas.com>
>
> * remote-m32r-sdi.c: Fix breakpoint bug.
>
>
[-- Attachment #2: remote-m32r-sdi.c.patch --]
[-- Type: application/octet-stream, Size: 19035 bytes --]
Index: remote-m32r-sdi.c
===================================================================
RCS file: /cvs/src/src/gdb/remote-m32r-sdi.c,v
retrieving revision 1.4
diff -u -r1.4 remote-m32r-sdi.c
--- remote-m32r-sdi.c 15 Jun 2004 01:04:19 -0000 1.4
+++ remote-m32r-sdi.c 7 Jul 2004 04:04:40 -0000
@@ -161,7 +161,7 @@
{
int c;
- if (!sdi_desc)
+ if (!sdi_desc)
return -1;
c = serial_readchar (sdi_desc, SDI_TIMEOUT);
@@ -169,7 +169,7 @@
if (c < 0)
return -1;
- if (c != '+') /* error */
+ if (c != '+') /* error */
return -1;
return 0;
@@ -181,7 +181,7 @@
{
int ret;
- if (!sdi_desc)
+ if (!sdi_desc)
return -1;
if (serial_write (sdi_desc, buf, len) != 0)
@@ -200,7 +200,7 @@
int total = 0;
int c;
- if (!sdi_desc)
+ if (!sdi_desc)
return -1;
while (total < len)
@@ -264,8 +264,7 @@
/* This is called not only when we first attach, but also when the
user types "run" after having attached. */
static void
-m32r_create_inferior (char *execfile, char *args, char **env,
- int from_tty)
+m32r_create_inferior (char *execfile, char *args, char **env, int from_tty)
{
CORE_ADDR entry_pt;
@@ -326,7 +325,7 @@
{
port_str = strchr (args, ':');
if (port_str == NULL)
- sprintf (hostname, "%s:%d", args, SDIPORT);
+ sprintf (hostname, "%s:%d", args, SDIPORT);
else
strcpy (hostname, args);
}
@@ -409,6 +408,7 @@
m32r_resume (ptid_t ptid, int step, enum target_signal sig)
{
unsigned long pc_addr, bp_addr, ab_addr;
+ int ib_breakpoints;
unsigned char buf[13];
int i;
@@ -469,187 +469,205 @@
}
else
{
- int ib_breakpoints;
+ /* Unset PBP. */
+ buf[0] = SDI_WRITE_CPU_REG;
+ buf[1] = SDI_REG_PBP;
+ store_long_parameter (buf + 2, 0x00000000);
+ send_data (buf, 6);
+ }
- if (use_ib_breakpoints)
- ib_breakpoints = max_ib_breakpoints;
+ if (use_ib_breakpoints)
+ ib_breakpoints = max_ib_breakpoints;
+ else
+ ib_breakpoints = 0;
+
+ /* Set ib breakpoints. */
+ for (i = 0; i < ib_breakpoints; i++)
+ {
+ bp_addr = bp_address[i];
+
+ if (bp_addr == 0xffffffff)
+ continue;
+
+ /* Set PBP. */
+ buf[0] = SDI_WRITE_MEMORY;
+ store_long_parameter (buf + 1, 0xffff8000 + 4 * i);
+ store_long_parameter (buf + 5, 4);
+ if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG)
+ {
+ buf[9] = ib_bp_entry_enable[0];
+ buf[10] = ib_bp_entry_enable[1];
+ buf[11] = ib_bp_entry_enable[2];
+ buf[12] = ib_bp_entry_enable[3];
+ }
else
- ib_breakpoints = 0;
+ {
+ buf[9] = ib_bp_entry_enable[3];
+ buf[10] = ib_bp_entry_enable[2];
+ buf[11] = ib_bp_entry_enable[1];
+ buf[12] = ib_bp_entry_enable[0];
+ }
+ send_data (buf, 13);
+
+ buf[0] = SDI_WRITE_MEMORY;
+ store_long_parameter (buf + 1, 0xffff8080 + 4 * i);
+ store_long_parameter (buf + 5, 4);
+ store_unsigned_integer (buf + 9, 4, bp_addr);
+ send_data (buf, 13);
+ }
- /* Set ib breakpoints. */
- for (i = 0; i < ib_breakpoints; i++)
+ /* Set dbt breakpoints. */
+ for (i = ib_breakpoints; i < MAX_BREAKPOINTS; i++)
+ {
+ bp_addr = bp_address[i];
+
+ if (bp_addr == 0xffffffff)
+ continue;
+
+ if (!mmu_on)
+ bp_addr &= 0x7fffffff;
+
+ /* Write DBT instruction. */
+ buf[0] = SDI_WRITE_MEMORY;
+ store_long_parameter (buf + 1, bp_addr);
+ store_long_parameter (buf + 5, 4);
+ if ((bp_addr & 2) == 0 && bp_addr != (pc_addr & 0xfffffffc))
{
- bp_addr = bp_address[i];
- if (bp_addr != 0xffffffff && bp_addr != pc_addr)
+ if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG)
{
- /* Set PBP. */
- buf[0] = SDI_WRITE_MEMORY;
- store_long_parameter (buf + 1, 0xffff8000 + 4 * i);
- store_long_parameter (buf + 5, 4);
- if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG)
- {
- buf[9] = ib_bp_entry_enable[0];
- buf[10] = ib_bp_entry_enable[1];
- buf[11] = ib_bp_entry_enable[2];
- buf[12] = ib_bp_entry_enable[3];
- }
- else
- {
- buf[9] = ib_bp_entry_enable[3];
- buf[10] = ib_bp_entry_enable[2];
- buf[11] = ib_bp_entry_enable[1];
- buf[12] = ib_bp_entry_enable[0];
- }
- send_data (buf, 13);
-
- buf[0] = SDI_WRITE_MEMORY;
- store_long_parameter (buf + 1, 0xffff8080 + 4 * i);
- store_long_parameter (buf + 5, 4);
- store_unsigned_integer (buf + 9, 4, bp_addr);
- send_data (buf, 13);
+ buf[9] = dbt_bp_entry[0];
+ buf[10] = dbt_bp_entry[1];
+ buf[11] = dbt_bp_entry[2];
+ buf[12] = dbt_bp_entry[3];
+ }
+ else
+ {
+ buf[9] = dbt_bp_entry[3];
+ buf[10] = dbt_bp_entry[2];
+ buf[11] = dbt_bp_entry[1];
+ buf[12] = dbt_bp_entry[0];
}
}
-
- /* Set dbt breakpoints. */
- for (i = ib_breakpoints; i < MAX_BREAKPOINTS; i++)
+ else
{
- bp_addr = bp_address[i];
- if (bp_addr != 0xffffffff && bp_addr != pc_addr)
+ if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG)
{
- if (!mmu_on)
- bp_addr &= 0x7fffffff;
-
- /* Write DBT instruction. */
- buf[0] = SDI_WRITE_MEMORY;
- if ((bp_addr & 2) == 0 && bp_addr != (pc_addr & 0xfffffffc))
+ if ((bp_addr & 2) == 0)
{
- store_long_parameter (buf + 1, bp_addr);
- store_long_parameter (buf + 5, 4);
- if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG)
- {
- buf[9] = dbt_bp_entry[0];
- buf[10] = dbt_bp_entry[1];
- buf[11] = dbt_bp_entry[2];
- buf[12] = dbt_bp_entry[3];
- }
- else
- {
- buf[9] = dbt_bp_entry[3];
- buf[10] = dbt_bp_entry[2];
- buf[11] = dbt_bp_entry[1];
- buf[12] = dbt_bp_entry[0];
- }
- send_data (buf, 13);
+ buf[9] = dbt_bp_entry[0];
+ buf[10] = dbt_bp_entry[1];
+ buf[11] = bp_data[i][2] & 0x7f;
+ buf[12] = bp_data[i][3];
}
else
{
- if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG)
- store_long_parameter (buf + 1, bp_addr);
- else if ((bp_addr & 2) == 0)
- store_long_parameter (buf + 1, bp_addr + 2);
- else
- store_long_parameter (buf + 1, bp_addr - 2);
- store_long_parameter (buf + 5, 2);
- if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG)
- {
- buf[9] = dbt_bp_entry[0];
- buf[10] = dbt_bp_entry[1];
- }
- else
- {
- buf[9] = dbt_bp_entry[1];
- buf[10] = dbt_bp_entry[0];
- }
- send_data (buf, 11);
+ buf[9] = bp_data[i][0];
+ buf[10] = bp_data[i][1];
+ buf[11] = dbt_bp_entry[0];
+ buf[12] = dbt_bp_entry[1];
}
}
- }
-
- /* Set access breaks. */
- for (i = 0; i < max_access_breaks; i++)
- {
- ab_addr = ab_address[i];
- if (ab_addr != 0x00000000)
+ else
{
- /* DBC register */
- buf[0] = SDI_WRITE_MEMORY;
- store_long_parameter (buf + 1, 0xffff8100 + 4 * i);
- store_long_parameter (buf + 5, 4);
- if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG)
+ if ((bp_addr & 2) == 0)
{
- buf[9] = 0x00;
- buf[10] = 0x00;
- buf[11] = 0x00;
- switch (ab_type[i])
- {
- case 0: /* write watch */
- buf[12] = 0x86;
- break;
- case 1: /* read watch */
- buf[12] = 0x46;
- break;
- case 2: /* access watch */
- buf[12] = 0x06;
- break;
- }
+ buf[9] = bp_data[i][0];
+ buf[10] = bp_data[i][1] & 0x7f;
+ buf[11] = dbt_bp_entry[1];
+ buf[12] = dbt_bp_entry[0];
}
else
{
- switch (ab_type[i])
- {
- case 0: /* write watch */
- buf[9] = 0x86;
- break;
- case 1: /* read watch */
- buf[9] = 0x46;
- break;
- case 2: /* access watch */
- buf[9] = 0x06;
- break;
- }
- buf[10] = 0x00;
- buf[11] = 0x00;
- buf[12] = 0x00;
+ buf[9] = dbt_bp_entry[1];
+ buf[10] = dbt_bp_entry[0];
+ buf[11] = bp_data[i][2];
+ buf[12] = bp_data[i][3];
}
- send_data (buf, 13);
-
- /* DBAH register */
- buf[0] = SDI_WRITE_MEMORY;
- store_long_parameter (buf + 1, 0xffff8180 + 4 * i);
- store_long_parameter (buf + 5, 4);
- store_unsigned_integer (buf + 9, 4, ab_addr);
- send_data (buf, 13);
+ }
+ }
+ send_data (buf, 13);
+ }
- /* DBAL register */
- buf[0] = SDI_WRITE_MEMORY;
- store_long_parameter (buf + 1, 0xffff8200 + 4 * i);
- store_long_parameter (buf + 5, 4);
- store_long_parameter (buf + 9, 0xffffffff);
- send_data (buf, 13);
+ /* Set access breaks. */
+ for (i = 0; i < max_access_breaks; i++)
+ {
+ ab_addr = ab_address[i];
- /* DBD register */
- buf[0] = SDI_WRITE_MEMORY;
- store_long_parameter (buf + 1, 0xffff8280 + 4 * i);
- store_long_parameter (buf + 5, 4);
- store_long_parameter (buf + 9, 0x00000000);
- send_data (buf, 13);
+ if (ab_addr == 0x00000000)
+ continue;
- /* DBDM register */
- buf[0] = SDI_WRITE_MEMORY;
- store_long_parameter (buf + 1, 0xffff8300 + 4 * i);
- store_long_parameter (buf + 5, 4);
- store_long_parameter (buf + 9, 0x00000000);
- send_data (buf, 13);
+ /* DBC register */
+ buf[0] = SDI_WRITE_MEMORY;
+ store_long_parameter (buf + 1, 0xffff8100 + 4 * i);
+ store_long_parameter (buf + 5, 4);
+ if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG)
+ {
+ buf[9] = 0x00;
+ buf[10] = 0x00;
+ buf[11] = 0x00;
+ switch (ab_type[i])
+ {
+ case 0: /* write watch */
+ buf[12] = 0x86;
+ break;
+ case 1: /* read watch */
+ buf[12] = 0x46;
+ break;
+ case 2: /* access watch */
+ buf[12] = 0x06;
+ break;
+ }
+ }
+ else
+ {
+ switch (ab_type[i])
+ {
+ case 0: /* write watch */
+ buf[9] = 0x86;
+ break;
+ case 1: /* read watch */
+ buf[9] = 0x46;
+ break;
+ case 2: /* access watch */
+ buf[9] = 0x06;
+ break;
}
+ buf[10] = 0x00;
+ buf[11] = 0x00;
+ buf[12] = 0x00;
}
+ send_data (buf, 13);
- /* Unset PBP. */
- buf[0] = SDI_WRITE_CPU_REG;
- buf[1] = SDI_REG_PBP;
- store_long_parameter (buf + 2, 0x00000000);
- send_data (buf, 6);
+ /* DBAH register */
+ buf[0] = SDI_WRITE_MEMORY;
+ store_long_parameter (buf + 1, 0xffff8180 + 4 * i);
+ store_long_parameter (buf + 5, 4);
+ store_unsigned_integer (buf + 9, 4, ab_addr);
+ send_data (buf, 13);
+
+ /* DBAL register */
+ buf[0] = SDI_WRITE_MEMORY;
+ store_long_parameter (buf + 1, 0xffff8200 + 4 * i);
+ store_long_parameter (buf + 5, 4);
+ store_long_parameter (buf + 9, 0xffffffff);
+ send_data (buf, 13);
+
+ /* DBD register */
+ buf[0] = SDI_WRITE_MEMORY;
+ store_long_parameter (buf + 1, 0xffff8280 + 4 * i);
+ store_long_parameter (buf + 5, 4);
+ store_long_parameter (buf + 9, 0x00000000);
+ send_data (buf, 13);
+
+ /* DBDM register */
+ buf[0] = SDI_WRITE_MEMORY;
+ store_long_parameter (buf + 1, 0xffff8300 + 4 * i);
+ store_long_parameter (buf + 5, 4);
+ store_long_parameter (buf + 9, 0x00000000);
+ send_data (buf, 13);
}
+ /* Resume program. */
buf[0] = SDI_EXEC_CPU;
send_data (buf, 1);
@@ -680,6 +698,7 @@
{
static RETSIGTYPE (*prev_sigint) ();
unsigned long bp_addr, pc_addr;
+ int ib_breakpoints;
long i;
unsigned char buf[13];
unsigned long val;
@@ -705,7 +724,7 @@
if (c < 0)
error ("Remote connection closed");
- if (c == '-') /* error */
+ if (c == '-') /* error */
{
status->kind = TARGET_WAITKIND_STOPPED;
status->value.sig = TARGET_SIGNAL_HUP;
@@ -747,130 +766,123 @@
last_pc_addr = 0xffffffff;
}
- /* Breakpoints are inserted only for "next" command */
- if (!step_mode)
- {
- int ib_breakpoints;
-
- if (use_ib_breakpoints)
- ib_breakpoints = max_ib_breakpoints;
- else
- ib_breakpoints = 0;
+ if (use_ib_breakpoints)
+ ib_breakpoints = max_ib_breakpoints;
+ else
+ ib_breakpoints = 0;
- /* Set back pc by 2 if m32r is stopped with dbt. */
- buf[0] = SDI_READ_CPU_REG;
- buf[1] = SDI_REG_BPC;
- send_data (buf, 2);
- recv_data (&val, 4);
- pc_addr = ntohl (val) - 2;
- for (i = ib_breakpoints; i < MAX_BREAKPOINTS; i++)
+ /* Set back pc by 2 if m32r is stopped with dbt. */
+ last_pc_addr = 0xffffffff;
+ buf[0] = SDI_READ_CPU_REG;
+ buf[1] = SDI_REG_BPC;
+ send_data (buf, 2);
+ recv_data (&val, 4);
+ pc_addr = ntohl (val) - 2;
+ for (i = ib_breakpoints; i < MAX_BREAKPOINTS; i++)
+ {
+ if (pc_addr == bp_address[i])
{
- if (pc_addr == bp_address[i])
+ buf[0] = SDI_WRITE_CPU_REG;
+ buf[1] = SDI_REG_BPC;
+ store_long_parameter (buf + 2, pc_addr);
+ send_data (buf, 6);
+
+ /* If there is a parallel instruction with +2 offset at pc
+ address, we have to take care of it later. */
+ if ((pc_addr & 0x2) != 0)
{
- buf[0] = SDI_WRITE_CPU_REG;
- buf[1] = SDI_REG_BPC;
- store_long_parameter (buf + 2, pc_addr);
- send_data (buf, 6);
-
- /* If there is a parallel instruction with +2 offset at pc
- address, we have to take care of it later. */
- if ((pc_addr & 0x2) != 0)
+ if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG)
{
- if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG)
+ if ((bp_data[i][2] & 0x80) != 0)
{
- if ((bp_data[i][2] & 0x80) != 0)
- {
- last_pc_addr = pc_addr;
- last_pc_addr_data[0] = bp_data[i][2];
- last_pc_addr_data[1] = bp_data[i][3];
- }
+ last_pc_addr = pc_addr;
+ last_pc_addr_data[0] = bp_data[i][2];
+ last_pc_addr_data[1] = bp_data[i][3];
}
- else
+ }
+ else
+ {
+ if ((bp_data[i][1] & 0x80) != 0)
{
- if ((bp_data[i][1] & 0x80) != 0)
- {
- last_pc_addr = pc_addr;
- last_pc_addr_data[0] = bp_data[i][1];
- last_pc_addr_data[1] = bp_data[i][0];
- }
+ last_pc_addr = pc_addr;
+ last_pc_addr_data[0] = bp_data[i][1];
+ last_pc_addr_data[1] = bp_data[i][0];
}
}
- break;
}
+ break;
}
+ }
- /* Remove ib breakpoints. */
- for (i = 0; i < ib_breakpoints; i++)
+ /* Remove ib breakpoints. */
+ for (i = 0; i < ib_breakpoints; i++)
+ {
+ if (bp_address[i] != 0xffffffff)
{
- if (bp_address[i] != 0xffffffff)
- {
- buf[0] = SDI_WRITE_MEMORY;
- store_long_parameter (buf + 1, 0xffff8000 + 4 * i);
- store_long_parameter (buf + 5, 4);
- buf[9] = ib_bp_entry_disable[0];
- buf[10] = ib_bp_entry_disable[1];
- buf[11] = ib_bp_entry_disable[2];
- buf[12] = ib_bp_entry_disable[3];
- send_data (buf, 13);
- }
+ buf[0] = SDI_WRITE_MEMORY;
+ store_long_parameter (buf + 1, 0xffff8000 + 4 * i);
+ store_long_parameter (buf + 5, 4);
+ buf[9] = ib_bp_entry_disable[0];
+ buf[10] = ib_bp_entry_disable[1];
+ buf[11] = ib_bp_entry_disable[2];
+ buf[12] = ib_bp_entry_disable[3];
+ send_data (buf, 13);
}
- /* Remove dbt breakpoints. */
- for (i = ib_breakpoints; i < MAX_BREAKPOINTS; i++)
+ }
+ /* Remove dbt breakpoints. */
+ for (i = ib_breakpoints; i < MAX_BREAKPOINTS; i++)
+ {
+ bp_addr = bp_address[i];
+ if (bp_addr != 0xffffffff)
{
- bp_addr = bp_address[i];
- if (bp_addr != 0xffffffff)
- {
- if (!mmu_on)
- bp_addr &= 0x7fffffff;
- buf[0] = SDI_WRITE_MEMORY;
- store_long_parameter (buf + 1, bp_addr & 0xfffffffc);
- store_long_parameter (buf + 5, 4);
- buf[9] = bp_data[i][0];
- buf[10] = bp_data[i][1];
- buf[11] = bp_data[i][2];
- buf[12] = bp_data[i][3];
- send_data (buf, 13);
- }
+ if (!mmu_on)
+ bp_addr &= 0x7fffffff;
+ buf[0] = SDI_WRITE_MEMORY;
+ store_long_parameter (buf + 1, bp_addr & 0xfffffffc);
+ store_long_parameter (buf + 5, 4);
+ buf[9] = bp_data[i][0];
+ buf[10] = bp_data[i][1];
+ buf[11] = bp_data[i][2];
+ buf[12] = bp_data[i][3];
+ send_data (buf, 13);
}
+ }
- /* Remove access breaks. */
- hit_watchpoint_addr = 0;
- for (i = 0; i < max_access_breaks; i++)
- {
- if (ab_address[i] != 0x00000000)
+ /* Remove access breaks. */
+ hit_watchpoint_addr = 0;
+ for (i = 0; i < max_access_breaks; i++)
+ {
+ if (ab_address[i] != 0x00000000)
+ {
+ buf[0] = SDI_READ_MEMORY;
+ store_long_parameter (buf + 1, 0xffff8100 + 4 * i);
+ store_long_parameter (buf + 5, 4);
+ serial_write (sdi_desc, buf, 9);
+ c = serial_readchar (sdi_desc, SDI_TIMEOUT);
+ if (c != '-' && recv_data (buf, 4) != -1)
{
- buf[0] = SDI_READ_MEMORY;
- store_long_parameter (buf + 1, 0xffff8100 + 4 * i);
- store_long_parameter (buf + 5, 4);
- serial_write (sdi_desc, buf, 9);
- c = serial_readchar (sdi_desc, SDI_TIMEOUT);
- if (c != '-' && recv_data (buf, 4) != -1)
+ if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG)
{
- if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG)
- {
- if ((buf[3] & 0x1) == 0x1)
- hit_watchpoint_addr = ab_address[i];
- }
- else
- {
- if ((buf[0] & 0x1) == 0x1)
- hit_watchpoint_addr = ab_address[i];
- }
+ if ((buf[3] & 0x1) == 0x1)
+ hit_watchpoint_addr = ab_address[i];
+ }
+ else
+ {
+ if ((buf[0] & 0x1) == 0x1)
+ hit_watchpoint_addr = ab_address[i];
}
-
- buf[0] = SDI_WRITE_MEMORY;
- store_long_parameter (buf + 1, 0xffff8100 + 4 * i);
- store_long_parameter (buf + 5, 4);
- store_long_parameter (buf + 9, 0x00000000);
- send_data (buf, 13);
}
- }
- if (remote_debug)
- fprintf_unfiltered (gdb_stdlog, "pc => 0x%lx\n", pc_addr);
+ buf[0] = SDI_WRITE_MEMORY;
+ store_long_parameter (buf + 1, 0xffff8100 + 4 * i);
+ store_long_parameter (buf + 5, 4);
+ store_long_parameter (buf + 9, 0x00000000);
+ send_data (buf, 13);
+ }
}
- else
- last_pc_addr = 0xffffffff;
+
+ if (remote_debug)
+ fprintf_unfiltered (gdb_stdlog, "pc => 0x%lx\n", pc_addr);
return inferior_ptid;
}
@@ -1540,11 +1552,11 @@
{
c = serial_readchar (sdi_desc, SDI_TIMEOUT);
if (c < 0)
- return;
+ return;
buf[i] = c;
if (c == 0)
- break;
- }
+ break;
+ }
printf_filtered ("%s", buf);
}
next prev parent reply other threads:[~2004-07-07 5:38 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-07-07 5:37 Kei Sakamoto
2004-07-07 5:38 ` Kei Sakamoto [this message]
2004-07-16 21:31 ` [RFA/m32r] Fix breakpoint bug of m32rsdi protocol; remote-m32r-sdi.c re-indented Andrew Cagney
2004-07-26 9:19 ` Kei Sakamoto
2004-07-26 15:14 ` Andrew Cagney
2004-07-27 1:17 ` Kei Sakamoto
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='021701c463e4$ab8749c0$5169910a@E5A02646' \
--to=sakamoto.kei@renesas.com \
--cc=gdb-patches@sources.redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox