This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[PATCH] Assert size of elf_x86_64_{bnd|legacy}_plt2_entry
- From: "H.J. Lu" <hongjiu dot lu at intel dot com>
- To: binutils at sourceware dot org
- Date: Sun, 23 Nov 2014 05:57:25 -0800
- Subject: [PATCH] Assert size of elf_x86_64_{bnd|legacy}_plt2_entry
- Authentication-results: sourceware.org; auth=none
- Reply-to: "H.J. Lu" <hjl dot tools at gmail dot com>
I checked in this patch to assert size of elf_x86_64_bnd_plt2_entry and
elf_x86_64_legacy_plt2_entry only in elf_x86_64_check_relocs.
H.J.
---
* 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 040576a..ac5e299 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,10 @@
+2014-11-23 H.J. Lu <hongjiu.lu@intel.com>
+
+ * 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 <hongjiu.lu@intel.com>
* 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 8859429..66c24e8 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. */
--
1.9.3