-s
and -fPIC
are two flags used for different purposes. They are not contradictory.
From the gcc manual
-s Remove all symbol table and relocation information from the executable.
-fPIC If supported for the target machine, emit position-independent code, suitable for dynamic linking and avoiding any limit on the size of the global offset table. This option makes a difference on the m68k, PowerPC and SPARC.