_bfd_elf_symbol_refs_local_p treats all STV_PROTECTED symbols as dynamic to support function pointer equality tests. It doesn't work with protected data symbols on x86_64.
Created attachment 375 [details] A testcase [hjl@gnu-20 x86_64-2]$ make gcc -B./ -fPIC -c -o x.o x.c ld -shared -o libx.so x.o ld: x.o: relocation R_X86_64_PC32 against `_memcpy_mem_ops_method' can not be used when making a shared object; recompile with -fPIC ld: final link failed: Bad value make: *** [libx.so] Error 1
A patch is posted at http://sources.redhat.com/ml/binutils/2005-01/msg00232.html
Fixed.
This problem seems to be present still in AS4 U2, it appeared when installing Oracle 10.2.0.1.0 on a fully updated machine. As an experiment I rebuilt binutils with the patch from the binutils list and Oracle then installed without any complaints. There is a reference to this bug here, at the bottom of the page: http://www.puschitz.com/InstallingOracle10g.shtml
This bug database is for the FSF binutils. Please report your Red Hat binutils problem to Red Hat.