From 6a2bda3fa0a885cb4d25ada3dbe56d346bd08a24 Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Mon, 30 Apr 2001 10:30:05 +0000 Subject: [PATCH] * elf64-x86-64.c (elf64_x86_64_relocate_section): Correct test for R_X86_64_GOTPCREL, don't use assignments instead of comparisons. --- bfd/ChangeLog | 5 +++++ bfd/elf64-x86-64.c | 10 +++++----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index f9cc5e38d8..ab373eaf45 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2001-04-30 Andreas Jaeger , Andreas Schwab + + * elf64-x86-64.c (elf64_x86_64_relocate_section): Correct test for + R_X86_64_GOTPCREL, don't use assignments instead of comparisons. + 2001-04-27 Andreas Jaeger * elf64-x86-64.c (elf64_x86_64_finish_dynamic_sections): Only swap diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c index f23e06cdb1..a92ba78c80 100644 --- a/bfd/elf64-x86-64.c +++ b/bfd/elf64-x86-64.c @@ -1250,11 +1250,10 @@ elf64_x86_64_relocate_section (output_bfd, info, input_bfd, input_section, || h->root.type == bfd_link_hash_defweak) { sec = h->root.u.def.section; - if (r_type == R_X86_64_GOTPCREL - || (r_type = R_X86_64_PLT32 - && splt != NULL - && h->plt.offset != (bfd_vma) -1) - || (r_type = R_X86_64_GOT32 + if ((r_type == R_X86_64_PLT32 + && splt != NULL + && h->plt.offset != (bfd_vma) -1) + || ((r_type == R_X86_64_GOT32 || r_type == R_X86_64_GOTPCREL) && elf_hash_table (info)->dynamic_sections_created && (!info->shared || (! info->symbolic && h->dynindx != -1) @@ -1408,6 +1407,7 @@ elf64_x86_64_relocate_section (output_bfd, info, input_bfd, input_section, else relocation = sgot->output_offset + off; } + break; case R_X86_64_PLT32: