------- Comment #3 from 3b87w8mt2n at snkmail dot com 2010-01-06 21:01 ------- As a data point, this occurs for me with GCC 4.3.4 (Debian 4.3.4-6) on AMD64 (x86_64), compiling the given test file as C:
$ gcc -c -o test2.o test2.c && gcc -shared -o test2.so test2.o /usr/bin/ld: test2.o: relocation R_X86_64_32 against `f2' can not be used when making a shared object; recompile with -fPIC test2.o: could not read symbols: Bad value collect2: ld returned 1 exit status -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37611