summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/profile
diff options
context:
space:
mode:
authorNick Lewycky <nicholas@mxc.ca>2013-02-28 07:00:13 +0000
committerNick Lewycky <nicholas@mxc.ca>2013-02-28 07:00:13 +0000
commit1052c99f46ae2fcd842c4313056f924f3da95b97 (patch)
tree6e53016215d0a09df7a5143ecea004c9485738a9 /compiler-rt/lib/profile
parent0615dbe44c4a9ed74a3398f29155541fd8dc14ba (diff)
downloadbcm5719-llvm-1052c99f46ae2fcd842c4313056f924f3da95b97.tar.gz
bcm5719-llvm-1052c99f46ae2fcd842c4313056f924f3da95b97.zip
Holy macaroons, somebody made a copy of llvm/runtime/profile/GCDAProfiling.c,
didn't delete the original, and now they've diverged. I have no idea what's going on. Apply my patch in r176173 to this one too, this one looks newer? llvm-svn: 176236
Diffstat (limited to 'compiler-rt/lib/profile')
-rw-r--r--compiler-rt/lib/profile/GCDAProfiling.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/compiler-rt/lib/profile/GCDAProfiling.c b/compiler-rt/lib/profile/GCDAProfiling.c
index 7c52a174099..96e9fc2b7ff 100644
--- a/compiler-rt/lib/profile/GCDAProfiling.c
+++ b/compiler-rt/lib/profile/GCDAProfiling.c
@@ -207,18 +207,23 @@ void llvm_gcda_increment_indirect_counter(uint32_t *predecessor,
}
void llvm_gcda_emit_function(uint32_t ident, const char *function_name) {
+ uint32_t len = 3;
#ifdef DEBUG_GCDAPROFILING
- fprintf(stderr, "llvmgcda: function id=0x%08x\n", ident);
+ fprintf(stderr, "llvmgcda: function id=0x%08x name=%s\n", ident,
+ function_name ? function_name : "NULL");
#endif
if (!output_file) return;
- /* function tag */
+ /* function tag */
fwrite("\0\0\0\1", 4, 1, output_file);
- write_int32(3 + 1 + length_of_string(function_name));
+ if (function_name)
+ len += 1 + length_of_string(function_name);
+ write_int32(len);
write_int32(ident);
write_int32(0);
write_int32(0);
- write_string(function_name);
+ if (function_name)
+ write_string(function_name);
}
void llvm_gcda_emit_arcs(uint32_t num_counters, uint64_t *counters) {
OpenPOWER on IntegriCloud