aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf64-alpha.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2001-08-31 19:20:12 +0000
committerJakub Jelinek <jakub@redhat.com>2001-08-31 19:20:12 +0000
commit28cfee261d5f36fac430a44609e95fae02e99ebd (patch)
treef158c7b4d0281bcc5265dd3d2ad45b09039f30bb /bfd/elf64-alpha.c
parent36ed2fff06b673cb994490fad661045c90819514 (diff)
downloadgdb-28cfee261d5f36fac430a44609e95fae02e99ebd.zip
gdb-28cfee261d5f36fac430a44609e95fae02e99ebd.tar.gz
gdb-28cfee261d5f36fac430a44609e95fae02e99ebd.tar.bz2
* elf64-alpha.c (elf64_alpha_relocate_section): Duplicate memory
value into R_ALPHA_RELATIVE's addend. (elf64_alpha_finish_dynamic_symbol): Likewise.
Diffstat (limited to 'bfd/elf64-alpha.c')
-rw-r--r--bfd/elf64-alpha.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/bfd/elf64-alpha.c b/bfd/elf64-alpha.c
index 0dc4d4c..085d09b 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 *)