diff options
-rw-r--r-- | runtime/libprofile/BlockProfiling.c | 7 | ||||
-rw-r--r-- | runtime/libprofile/CommonProfiling.c | 6 | ||||
-rw-r--r-- | runtime/libprofile/FunctionProfiling.c | 7 | ||||
-rw-r--r-- | runtime/libprofile/Profiling.h | 2 |
4 files changed, 13 insertions, 9 deletions
diff --git a/runtime/libprofile/BlockProfiling.c b/runtime/libprofile/BlockProfiling.c index 01b80a88e0..8170ce4cb4 100644 --- a/runtime/libprofile/BlockProfiling.c +++ b/runtime/libprofile/BlockProfiling.c @@ -34,10 +34,11 @@ static void BlockProfAtExitHandler() { /* llvm_start_block_profiling - This is the main entry point of the block * profiling library. It is responsible for setting up the atexit handler. */ -void llvm_start_block_profiling(int argc, const char **argv, - unsigned *arrayStart, unsigned numElements) { - save_arguments(argc, argv); +int llvm_start_block_profiling(int argc, const char **argv, + unsigned *arrayStart, unsigned numElements) { + int Ret = save_arguments(argc, argv); ArrayStart = arrayStart; NumElements = numElements; atexit(BlockProfAtExitHandler); + return Ret; } diff --git a/runtime/libprofile/CommonProfiling.c b/runtime/libprofile/CommonProfiling.c index b88ea9cf8b..5569a66414 100644 --- a/runtime/libprofile/CommonProfiling.c +++ b/runtime/libprofile/CommonProfiling.c @@ -27,9 +27,9 @@ static unsigned SavedArgsLength = 0; /* save_arguments - Save argc and argv as passed into the program for the file * we output. */ -void save_arguments(int argc, const char **argv) { +int save_arguments(int argc, const char **argv) { unsigned Length, i; - if (SavedArgs || !argv) return; /* This can be called multiple times */ + if (SavedArgs || !argv) return argc; /* This can be called multiple times */ for (Length = 0, i = 0; i != (unsigned)argc; ++i) Length += strlen(argv[i])+1; @@ -43,6 +43,8 @@ void save_arguments(int argc, const char **argv) { } SavedArgsLength = Length; + + return argc; } diff --git a/runtime/libprofile/FunctionProfiling.c b/runtime/libprofile/FunctionProfiling.c index 8bee2f9ba6..5f9c4f2e38 100644 --- a/runtime/libprofile/FunctionProfiling.c +++ b/runtime/libprofile/FunctionProfiling.c @@ -32,10 +32,11 @@ static void FuncProfAtExitHandler() { /* llvm_start_func_profiling - This is the main entry point of the function * profiling library. It is responsible for setting up the atexit handler. */ -void llvm_start_func_profiling(int argc, const char **argv, - unsigned *arrayStart, unsigned numElements) { - save_arguments(argc, argv); +int llvm_start_func_profiling(int argc, const char **argv, + unsigned *arrayStart, unsigned numElements) { + int Ret = save_arguments(argc, argv); ArrayStart = arrayStart; NumElements = numElements; atexit(FuncProfAtExitHandler); + return Ret; } diff --git a/runtime/libprofile/Profiling.h b/runtime/libprofile/Profiling.h index bb7cc8bc96..947460a29e 100644 --- a/runtime/libprofile/Profiling.h +++ b/runtime/libprofile/Profiling.h @@ -18,7 +18,7 @@ /* save_arguments - Save argc and argv as passed into the program for the file * we output. */ -void save_arguments(int argc, const char **argv); +int save_arguments(int argc, const char **argv); enum ProfilingType { Arguments = 1, /* The command line argument block */ |