There is conditional code in glibc, mainly in the inline or "whole-file" assembler code, but also elsewhere.
PIC: things that are directly related to PIC vs non-PIC code generation.
SHARED: other aspects of whether something is destined for libc.a or for libc.so.
- ...