Help - buried in compiler warnings.

I have an app which compiles with no errors or warnings
on gcc 3.4.4 and earlier.

But a user reports that with gcc 4.0.2 (FC 4) there are pages
of compiler warnings, all apparently related to passing
pointers to unsigned char arrays as arguments to functions
whose prototype calls for pointers to signed char arrays.
E.g., "warning: pointer targets in passing argument 1 of strlen
differ in signedness."

The compiler options used are -g -O -Wall

Am I correct in believing that the compiler is being
overly picky? If so, is there a compiler option that
will revert to the warning level of gcc 3.4.4 ?

(I don't have gcc 4.0.2 on my system so am sort of
flying blind here.)

Charles Sullivan