summaryrefslogtreecommitdiff
path: root/bfd/elf64-s390.c
diff options
context:
space:
mode:
Diffstat (limited to 'bfd/elf64-s390.c')
-rw-r--r--bfd/elf64-s390.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/bfd/elf64-s390.c b/bfd/elf64-s390.c
index 1d868204668..443f3254160 100644
--- a/bfd/elf64-s390.c
+++ b/bfd/elf64-s390.c
@@ -2522,8 +2522,13 @@ elf_s390_relocate_section (output_bfd, info, input_bfd, input_section,
/* r_symndx will be zero only for relocs against symbols
from removed linkonce sections, or sections discarded by
a linker script. */
- if (r_symndx == 0
- || (input_section->flags & SEC_ALLOC) == 0)
+ if (r_symndx == 0)
+ {
+ _bfd_clear_contents (howto, input_bfd, contents + rel->r_offset);
+ break;
+ }
+
+ if ((input_section->flags & SEC_ALLOC) == 0)
break;
if ((info->shared