From 4ec72bdef89669d10d51cf76c0698461026b8f15 Mon Sep 17 00:00:00 2001 From: Martin Schwidefsky Date: Fri, 9 May 2003 16:41:42 +0000 Subject: [PATCH] * elf32-s390.c (allocate_dynrelocs, elf_s390_relocate_section): Fix WILL_CALL_FINISH_DYNAMIC_SYMBOL call. (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO. * elf64-s390.c: Likewise. --- bfd/ChangeLog | 7 +++++++ bfd/elf32-s390.c | 8 ++++---- bfd/elf64-s390.c | 8 ++++---- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 4a2bc48376..0cf4ea341a 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,10 @@ +2003-05-09 Martin Schwidefsky + + * elf32-s390.c (allocate_dynrelocs, elf_s390_relocate_section): + Fix WILL_CALL_FINISH_DYNAMIC_SYMBOL call. + (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO. + * elf64-s390.c: Likewise. + 2003-05-09 Martin Schwidefsky * elf32-s390.c (ELIMINATE_COPY_RELOCS): Define as one. diff --git a/bfd/elf32-s390.c b/bfd/elf32-s390.c index c411e31088..9475f60a66 100644 --- a/bfd/elf32-s390.c +++ b/bfd/elf32-s390.c @@ -1644,9 +1644,9 @@ elf_s390_adjust_dynamic_symbol (info, h) will be called from elflink.h. If elflink.h doesn't call our finish_dynamic_symbol routine, we'll need to do something about initializing any .plt and .got entries in elf_s390_relocate_section. */ -#define WILL_CALL_FINISH_DYNAMIC_SYMBOL(DYN, INFO, H) \ +#define WILL_CALL_FINISH_DYNAMIC_SYMBOL(DYN, SHARED, H) \ ((DYN) \ - && ((INFO)->shared \ + && ((SHARED) \ || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) \ && ((H)->dynindx != -1 \ || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0)) @@ -1691,7 +1691,7 @@ allocate_dynrelocs (h, inf) } if (info->shared - || WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, info, h)) + || WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, 0, h)) { asection *s = htab->splt; @@ -2339,7 +2339,7 @@ elf_s390_relocate_section (output_bfd, info, input_bfd, input_section, off = h->got.offset; dyn = htab->elf.dynamic_sections_created; - if (! WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info, h) + if (! WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info->shared, h) || (info->shared && (info->symbolic || h->dynindx == -1 diff --git a/bfd/elf64-s390.c b/bfd/elf64-s390.c index b8c0b6aa69..98555f269b 100644 --- a/bfd/elf64-s390.c +++ b/bfd/elf64-s390.c @@ -1616,9 +1616,9 @@ elf_s390_adjust_dynamic_symbol (info, h) will be called from elflink.h. If elflink.h doesn't call our finish_dynamic_symbol routine, we'll need to do something about initializing any .plt and .got entries in elf_s390_relocate_section. */ -#define WILL_CALL_FINISH_DYNAMIC_SYMBOL(DYN, INFO, H) \ +#define WILL_CALL_FINISH_DYNAMIC_SYMBOL(DYN, SHARED, H) \ ((DYN) \ - && ((INFO)->shared \ + && ((SHARED) \ || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) \ && ((H)->dynindx != -1 \ || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0)) @@ -1663,7 +1663,7 @@ allocate_dynrelocs (h, inf) } if (info->shared - || WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, info, h)) + || WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, 0, h)) { asection *s = htab->splt; @@ -2312,7 +2312,7 @@ elf_s390_relocate_section (output_bfd, info, input_bfd, input_section, off = h->got.offset; dyn = htab->elf.dynamic_sections_created; - if (! WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info, h) + if (! WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info->shared, h) || (info->shared && (info->symbolic || h->dynindx == -1