+2019-02-21 Martin Sebor <msebor@redhat.com>
+
+ * doc/extend.texi (__clear_cache): Correct signature.
+
2019-02-21 Ian Lance Taylor <iant@golang.org>
PR go/89170
@end deftypefn
-@deftypefn {Built-in Function} void __builtin___clear_cache (char *@var{begin}, char *@var{end})
+@deftypefn {Built-in Function} void __builtin___clear_cache (void *@var{begin}, void *@var{end})
This function is used to flush the processor's instruction cache for
the region of memory between @var{begin} inclusive and @var{end}
exclusive. Some targets require that the instruction cache be
+2019-02-21 Martin Sebor <msebor@redhat.com>
+
+ * libgcc2.h (__clear_cache): Correct signature.
+ * libgcc2.c (__clear_cache): Same.
+
2019-02-20 Uroš Bizjak <ubizjak@gmail.com>
* config/alpha/linux-unwind.h (alpha_fallback_frame_state):
/* Clear part of an instruction cache. */
void
-__clear_cache (char *beg __attribute__((__unused__)),
- char *end __attribute__((__unused__)))
+__clear_cache (void *beg __attribute__((__unused__)),
+ void *end __attribute__((__unused__)))
{
#ifdef CLEAR_INSN_CACHE
- CLEAR_INSN_CACHE (beg, end);
+ /* Cast the void* pointers to char* as some implementations
+ of the macro assume the pointers can be subtracted from
+ one another. */
+ CLEAR_INSN_CACHE ((char *) beg, (char *) end);
#endif /* CLEAR_INSN_CACHE */
}
#endif
extern int __gcc_bcmp (const unsigned char *, const unsigned char *, size_t);
-extern void __clear_cache (char *, char *);
+extern void __clear_cache (void *, void *);
extern void __eprintf (const char *, const char *, unsigned int, const char *)
__attribute__ ((__noreturn__));