It is my understanding that on i?86-pc-linux-elf, code is already position independant. What does -fPIC give you that not using -fPIC doesnt give you? Do you need to use -fPIC for ELF shared libraries on i?86-pc-linux-elf?