diff --git a/examples/elf/tests/mutex/mutex.c b/examples/elf/tests/mutex/mutex.c index 1e6101da9..9453f0d25 100644 --- a/examples/elf/tests/mutex/mutex.c +++ b/examples/elf/tests/mutex/mutex.c @@ -64,7 +64,7 @@ static volatile bool bendoftest; void thread_func(void *parameter) { - intptr_t my_id = (intptr_t)parameter; + int my_id = (int)((intptr_t)parameter;) int my_ndx = my_id - 1; int i; diff --git a/examples/elf/tests/pthread/pthread.c b/examples/elf/tests/pthread/pthread.c index 6288b2114..74d12f8b1 100644 --- a/examples/elf/tests/pthread/pthread.c +++ b/examples/elf/tests/pthread/pthread.c @@ -75,23 +75,25 @@ enum exit_values_e * Private Functions ****************************************************************************/ -/* NOTE: it is necessary for functions that are referred to by function pointers - * pointer to be declared with global scope (at least for ARM). Otherwise, - * a relocation type that is not supported by ELF is generated by GCC. +/* NOTE: it is necessary for functions that are referred to by function + * pointers pointer to be declared with global scope (at least for ARM). + * Otherwise, a relocation type that is not supported by ELF is generated + * by GCC. */ void *child_start_routine(void *arg) { - printf("CHILD: started with arg=%d\n", (intptr_t)arg); + printf("CHILD: started with arg=%d\n", (int)((intptr_t)arg)); if (arg != CHILD_ARG) { - printf("CHILD: expected arg=%d\n", (intptr_t)CHILD_ARG); + printf("CHILD: expected arg=%d\n", (int)((intptr_t)CHILD_ARG)); return (void*)TESTRESULT_CHILD_ARG_FAIL; } + sleep(2); - printf("CHILD: returning %d\n", (intptr_t)CHILD_RET); + printf("CHILD: returning %d\n", (int)((intptr_t)CHILD_RET)); pthread_exit(CHILD_RET); } @@ -115,7 +117,9 @@ int main(int argc, char **argv) exit(TESTRESULT_PTHREAD_ATTR_INIT_FAIL); } - printf("PARENT: calling pthread_start with arg=%d\n", (intptr_t)CHILD_ARG); + printf("PARENT: calling pthread_start with arg=%d\n", + (int)((intptr_t)CHILD_ARG)); + status = pthread_create(&thread, &attr, child_start_routine, CHILD_ARG); if (status != 0) { @@ -131,10 +135,12 @@ int main(int argc, char **argv) exit(TESTRESULT_PTHREAD_JOIN_FAIL); } - printf("PARENT child exitted with %d\n", (intptr_t)retval); + printf("PARENT child exitted with %d\n", (int)((intptr_t)retval)); if (retval != CHILD_RET) { - printf("PARENT child thread did not exit with %d\n", (intptr_t)CHILD_RET); + printf("PARENT child thread did not exit with %d\n", + (int)((intptr_t)CHILD_RET)); + exit(TESTRESULT_CHILD_RETVAL_FAIL); }