5.7.3.8 Signed-char Option
The -fsigned-char option forces plain char objects to have a signed type.
By default, the plain
char type is equivalent to unsigned char. The
-funsigned-char (or -fno-signed-char option) makes
this type explicit.
The -fsigned-char (or -fno-unsigned-char option) makes it explicit that plain char types are to be treated as signed integers.
Consider explicitly stating the signedness of char objects when they are defined, rather than relying on the type assigned to a plain char type by the compiler.
Important: The ARM C Language
Extensions and the ARM Procedure Call Standard specifications
define a plain
char to be equivalent to an unsigned
char. When using the -fsigned-char option, the generated
code will not be compliant with these specifications.