From: Stu Grossman Date: Tue, 25 Aug 1992 03:47:53 +0000 (+0000) Subject: * sparc-stub.c (handle_exception): Flush instruction cache just X-Git-Tag: gdb-4_18-branchpoint~21257 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ee97d6736c59414e36fe1d0ca34eae0b3bdcb2e1;p=thirdparty%2Fbinutils-gdb.git * sparc-stub.c (handle_exception): Flush instruction cache just before returning to the user. (hexToInt): Fix overzealous cleanup. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index a5880377a86..1e9fd858e01 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +Mon Aug 24 20:44:38 1992 Stu Grossman (grossman at cygnus.com) + + * sparc-stub.c (handle_exception): Flush instruction cache just + before returning to the user. (hexToInt): Fix overzealous cleanup. + Mon Aug 24 11:57:13 1992 Fred Fish (fnf@cygnus.com) * infrun.c (handle_command): Rewrite to allow multiple signal diff --git a/gdb/sparc-stub.c b/gdb/sparc-stub.c index 461b9cd6155..62636c2cad7 100644 --- a/gdb/sparc-stub.c +++ b/gdb/sparc-stub.c @@ -546,7 +546,7 @@ hexToInt(char **ptr, int *intValue) *intValue = (*intValue << 4) | hexValue; numChars ++; - *ptr++; + (*ptr)++; } return (numChars); @@ -727,6 +727,12 @@ handle_exception (registers) registers[NPC] = addr + 4; } +/* Need to flush the instruction cache here, as we may have deposited a + breakpoint, and the icache probably has no way of knowing that a data ref to + some location may have changed something that is in the instruction cache. + */ + + flush_i_cache(); return; /* kill the program */