From 28cfee261d5f36fac430a44609e95fae02e99ebd Mon Sep 17 00:00:00 2001
From: Jakub Jelinek <jakub@redhat.com>
Date: Fri, 31 Aug 2001 19:20:12 +0000
Subject: [PATCH] 	* elf64-alpha.c (elf64_alpha_relocate_section):
 Duplicate memory 	value into R_ALPHA_RELATIVE's addend. 
 (elf64_alpha_finish_dynamic_symbol): Likewise.

---
 bfd/ChangeLog     | 6 ++++++
 bfd/elf64-alpha.c | 6 +++---
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 1c980af956e..488f925a5bc 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2001-08-31  Jakub Jelinek  <jakub@redhat.com>
+
+	* elf64-alpha.c (elf64_alpha_relocate_section): Duplicate memory
+	value into R_ALPHA_RELATIVE's addend.
+	(elf64_alpha_finish_dynamic_symbol): Likewise.
+
 2001-08-31  Nick Clifton  <nickc@cambridge.redhat.com>
 
 	* elf32-arm.h (elf32_arm_relocate_section): Do not rightshift
diff --git a/bfd/elf64-alpha.c b/bfd/elf64-alpha.c
index 0dc4d4c7fcb..085d09beff8 100644
--- a/bfd/elf64-alpha.c
+++ b/bfd/elf64-alpha.c
@@ -3613,7 +3613,7 @@ elf64_alpha_relocate_section (output_bfd, info, input_bfd, input_section,
 				       + sgot->output_offset
 				       + gotent->got_offset);
 		    outrel.r_info = ELF64_R_INFO(0, R_ALPHA_RELATIVE);
-		    outrel.r_addend = 0;
+		    outrel.r_addend = relocation+addend;
 
 		    bfd_elf64_swap_reloca_out (output_bfd, &outrel,
 					       ((Elf64_External_Rela *)
@@ -3678,7 +3678,7 @@ elf64_alpha_relocate_section (output_bfd, info, input_bfd, input_section,
 	    else if (info->shared && (input_section->flags & SEC_ALLOC))
 	      {
 		outrel.r_info = ELF64_R_INFO(0, R_ALPHA_RELATIVE);
-		outrel.r_addend = 0;
+		outrel.r_addend = relocation + addend;
 	      }
 	    else
 	      goto default_reloc;
@@ -3871,7 +3871,7 @@ elf64_alpha_finish_dynamic_symbol (output_bfd, info, h, sym)
 				     + sgot->output_offset
 				     + gotent->got_offset);
 		  outrel.r_info = ELF64_R_INFO(0, R_ALPHA_RELATIVE);
-		  outrel.r_addend = 0;
+		  outrel.r_addend = plt_addr;
 
 		  bfd_elf64_swap_reloca_out (output_bfd, &outrel,
 					     ((Elf64_External_Rela *)