[gccsdk] Problems running C++ programs compiled with GCC4
Lee Noar
leenoar at sky.com
Thu Jul 31 12:45:00 PDT 2008
John Tytgat wrote:
> Would it be possible to craft a small C++ testcase showing this problem
> so that I could have a further look please ?
The following code shows the problem and must be compiled as c++.
--8<-- test.cc ----
#include <stdio.h>
#include <pthread.h>
extern void dummy(void)
{
/* Never called, just needs to be present. */
pthread_cancel(NULL);
}
int main(void)
{
printf("Hello World\n");
return 0;
}
--8<---------------
I compiled with:
arm-unknown-riscos-g++ test.cc -static -O2 -o test,e1f
The gthread implementation checks for an active thread system by
checking for the existence of pthread_cancel (__gthread_active_p()
gthr-posix.h). Tutris and I suspect Wesnoth use threads and therefore
pthread_cancel is linked in. If pthread_cancel is not present in the
binary, then the offending code is skipped and the program works.
Lee.
More information about the gcc
mailing list