Open in read/write mode, creating the file if it doesn't exist.
authorBill Wendling <isanbard@gmail.com>
Fri, 25 May 2012 21:55:06 +0000 (21:55 +0000)
committerBill Wendling <isanbard@gmail.com>
Fri, 25 May 2012 21:55:06 +0000 (21:55 +0000)
llvm-svn: 157501

llvm/runtime/libprofile/GCDAProfiling.c

index 2c37348..32d19ad 100644 (file)
@@ -110,14 +110,14 @@ void llvm_gcda_start_file(const char *orig_filename) {
   char *filename;
   filename = mangle_filename(orig_filename);
   recursive_mkdir(filename);
-  output_file = fopen(filename, "wb");
+  output_file = fopen(filename, "w+b");
 
   if (!output_file) {
     const char *cptr = strrchr(orig_filename, '/');
-    output_file = fopen(cptr ? cptr + 1 : orig_filename, "wb");
+    output_file = fopen(cptr ? cptr + 1 : orig_filename, "w+b");
 
     if (!output_file) {
-      fprintf(stderr, "LLVM profiling runtime: while opening '%s': ",
+      fprintf(stderr, "LLVM profiling runtime: cannot open '%s': ",
               cptr ? cptr + 1 : orig_filename);
       perror("");
       return;