Profiler uses append mode
diff --git a/xbyak/xbyak_util.h b/xbyak/xbyak_util.h
index c4e99ae..04c661c 100644
--- a/xbyak/xbyak_util.h
+++ b/xbyak/xbyak_util.h
@@ -789,7 +789,7 @@
 				const int pid = getpid();
 				char name[128];
 				snprintf(name, sizeof(name), "/tmp/perf-%d.map", pid);
-				fp_ = fopen(name, "wb");
+				fp_ = fopen(name, "a+");
 				if (fp_ == 0) {
 					fprintf(stderr, "can't open %s\n", name);
 					return;
@@ -834,6 +834,7 @@
 		if (mode_ == Perf) {
 			if (fp_ == 0) return;
 			fprintf(fp_, "%llx %zx %s%s\n", (long long)startAddr, funcSize, funcName, suffix_);
+			fflush(fp_);
 		}
 #endif
 #ifdef XBYAK_USE_VTUNE