diff options
author | Richard Henderson <rth@redhat.com> | 2002-06-01 21:25:33 +0000 |
---|---|---|
committer | Richard Henderson <rth@redhat.com> | 2002-06-01 21:25:33 +0000 |
commit | 94964ec08f6b1c7c43519300ebd0a295b9c1503e (patch) | |
tree | b97d69e5f80bc666fbee74090d06afe9fdaabf99 | |
parent | ba944fbb321cf4fac89b7b58de118865680616c4 (diff) | |
download | gdb-94964ec08f6b1c7c43519300ebd0a295b9c1503e.tar.gz |
* elf64-alpha.c (elf64_alpha_check_relocs): Fix typo on maybe_dynamic
check; don't suppress dynamic relocs for non-allocated sections.
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elf64-alpha.c | 7 |
2 files changed, 9 insertions, 3 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 856f3afd2bd..4e02f5f8060 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2002-06-01 Richard Henderson <rth@redhat.com> + + * elf64-alpha.c (elf64_alpha_check_relocs): Fix typo on maybe_dynamic + check; don't suppress dynamic relocs for non-allocated sections. + 2002-05-31 Alan Modra <amodra@bigpond.net.au> * bfd-in2.h: Regenerate. diff --git a/bfd/elf64-alpha.c b/bfd/elf64-alpha.c index 7099ba5d41a..7bd9fd5084f 100644 --- a/bfd/elf64-alpha.c +++ b/bfd/elf64-alpha.c @@ -2640,7 +2640,7 @@ elf64_alpha_check_relocs (abfd, info, sec, relocs) if (h && ((info->shared && (!info->symbolic || info->allow_shlib_undefined)) || ! (h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) - || h->root.type == bfd_link_hash_defweak)) + || h->root.root.type == bfd_link_hash_defweak)) maybe_dynamic = true; need = 0; @@ -2815,12 +2815,13 @@ elf64_alpha_check_relocs (abfd, info, sec, relocs) else rent->count++; } - else if (info->shared && (sec->flags & SEC_ALLOC)) + else if (info->shared) { /* If this is a shared library, and the section is to be loaded into memory, we need a RELATIVE reloc. */ sreloc->_raw_size += sizeof (Elf64_External_Rela); - if (sec->flags & SEC_READONLY) + if ((sec->flags & (SEC_READONLY | SEC_ALLOC)) + == (SEC_READONLY | SEC_ALLOC)) info->flags |= DF_TEXTREL; } } |