From 6db50b4cfe55834ee5fc8dc95c80529f8a0f2a1f Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Sun, 23 Nov 2014 05:54:02 -0800 Subject: [PATCH] Assert size of elf_x86_64_{bnd|legacy}_plt2_entry Assert size of elf_x86_64_bnd_plt2_entry and elf_x86_64_legacy_plt2_entry only in elf_x86_64_check_relocs. * elf64-x86-64.c (elf_x86_64_check_relocs): Assert size of elf_x86_64_bnd_plt2_entry and elf_x86_64_legacy_plt2_entry. (elf_x86_64_allocate_dynrelocs): Don't assert size of elf_x86_64_bnd_plt2_entry and elf_x86_64_legacy_plt2_entry. --- bfd/ChangeLog | 7 +++++++ bfd/elf64-x86-64.c | 21 +++++---------------- 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 040576aeef7..ac5e2999937 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,10 @@ +2014-11-23 H.J. Lu + + * elf64-x86-64.c (elf_x86_64_check_relocs): Assert size of + elf_x86_64_bnd_plt2_entry and elf_x86_64_legacy_plt2_entry. + (elf_x86_64_allocate_dynrelocs): Don't assert size of + elf_x86_64_bnd_plt2_entry and elf_x86_64_legacy_plt2_entry. + 2014-11-22 H.J. Lu * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Check diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c index 8859429ebf1..66c24e8163f 100644 --- a/bfd/elf64-x86-64.c +++ b/bfd/elf64-x86-64.c @@ -1649,17 +1649,10 @@ elf_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info, const struct elf_backend_data *bed; bed = get_elf_backend_data (info->output_bfd); - switch (sizeof (elf_x86_64_bnd_plt2_entry)) - { - case 8: - plt_bnd_align = 3; - break; - case 16: - plt_bnd_align = 4; - break; - default: - abort (); - } + BFD_ASSERT (sizeof (elf_x86_64_bnd_plt2_entry) == 8 + && (sizeof (elf_x86_64_bnd_plt2_entry) + == sizeof (elf_x86_64_legacy_plt2_entry))); + plt_bnd_align = 3; if (htab->elf.dynobj == NULL) htab->elf.dynobj = abfd; @@ -2500,11 +2493,7 @@ elf_x86_64_allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf) /* Make room for this entry. */ s->size += plt_entry_size; if (bnd_s) - { - BFD_ASSERT (sizeof (elf_x86_64_bnd_plt2_entry) - == sizeof (elf_x86_64_legacy_plt2_entry)); - bnd_s->size += sizeof (elf_x86_64_legacy_plt2_entry); - } + bnd_s->size += sizeof (elf_x86_64_legacy_plt2_entry); /* We also need to make an entry in the .got.plt section, which will be placed in the .got section by the linker script. */ -- 2.30.2