+2012-05-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ * sysdeps/x86_64/dl-machine.h (elf_machine_rela_relative): Handle
+ R_X86_64_RELATIVE64 only if RTLD_BOOTSTRAP isn't defined.
+
2012-05-10 H.J. Lu <hongjiu.lu@intel.com>
* elf/elf.h (R_X86_64_RELATIVE64): New.
void *const reloc_addr_arg)
{
ElfW(Addr) *const reloc_addr = reloc_addr_arg;
+#if !defined RTLD_BOOTSTRAP
/* l_addr + r_addend may be > 0xffffffff and R_X86_64_RELATIVE64
relocation updates the whole 64-bit entry. */
if (__builtin_expect (ELFW(R_TYPE) (reloc->r_info) == R_X86_64_RELATIVE64, 0))
*(Elf64_Addr *) reloc_addr = (Elf64_Addr) l_addr + reloc->r_addend;
else
+#endif
{
assert (ELFW(R_TYPE) (reloc->r_info) == R_X86_64_RELATIVE);
*reloc_addr = l_addr + reloc->r_addend;