>Removing -T from the compiler option seems to allow me to compile with >no problems. The resulting compiled code seems to run just fine.
in many cases, that will be true, for instance because void* and int* are the same size and interchangeable, and both point to something. (even then, int* and char* aren't compatible, since they point to things of different size.) better to fix the types, so that they both match what was intended. it sounds as though the type of a signal handler is inconsistent.