https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70150
--- Comment #2 from H.J. Lu <hjl.tools at gmail dot com> --- (In reply to H.J. Lu from comment #1) > When GCC is configured with --enable-default-pie, -fno-pic doesn't > turn off PIC: > > [hjl@gnu-6 gcc]$ ./xgcc -B./ -S x.c -fno-pic > x.c:2:3: error: #error foo > # error foo > ^~~~~ > [hjl@gnu-6 gcc]$ It isn't a bug since PIC is off by default, but PIE is on by default, which also defines __PIC__, with --enable-default-pie.