From 935404384b6c3c04ed1c06011bfb45c4b06741c7 Mon Sep 17 00:00:00 2001
From: Mike Frysinger <vapier@gentoo.org>
Date: Fri, 8 Jul 2005 05:18:41 +0000
Subject: err, x86_64 is RELA, not REL

---
 ldso/ldso/x86_64/dl-sysdep.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

(limited to 'ldso')

diff --git a/ldso/ldso/x86_64/dl-sysdep.h b/ldso/ldso/x86_64/dl-sysdep.h
index e8346452c..a156e7be3 100644
--- a/ldso/ldso/x86_64/dl-sysdep.h
+++ b/ldso/ldso/x86_64/dl-sysdep.h
@@ -102,14 +102,14 @@ elf_machine_load_address (void)
 }
 
 static __always_inline void
-elf_machine_relative (Elf64_Addr load_off, const Elf64_Addr rel_addr,
-                      Elf64_Word relative_count)
+elf_machine_relative(Elf64_Addr load_off, const Elf64_Addr rel_addr,
+                     Elf64_Word relative_count)
 {
-	Elf64_Rel * rpnt = (void *) rel_addr;
+	Elf64_Rela *rpnt = (void *)rel_addr;
 	--rpnt;
 	do {
 		Elf64_Addr *const reloc_addr = (void *) (load_off + (++rpnt)->r_offset);
 
-		*reloc_addr += load_off;
+		*reloc_addr = load_off + rpnt->r_addend;
 	} while (--relative_count);
 }
-- 
cgit v1.2.3