aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--runtime/libprofile/BlockProfiling.c7
-rw-r--r--runtime/libprofile/CommonProfiling.c6
-rw-r--r--runtime/libprofile/FunctionProfiling.c7
-rw-r--r--runtime/libprofile/Profiling.h2
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 */