#include static void *(*volatile explicit_memset)(void *, int, size_t) = memset; void explicit_bzero(void *b, size_t len) { (*explicit_memset)(b, 0, len); __asm__ volatile ( "" : : "r" (b) : "memory" ); }