From d3435ae8ddeb3245b1358504f5382879f7fc04a7 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Mon, 31 Aug 2015 16:03:42 +0930 Subject: More "Make asection->id and asection->index unsigned" Fixes regressions introduced by 7292b3ac. * elflink.c (elf_sort_symbol): Use correctly sized type for calculating signed section->id difference. (elf_link_add_object_symbols): Likewise. * pef.c (bfd_pef_scan_start_address): Warning fix. * vms-alpha.c (vms_new_section_hook): Likewise. --- bfd/ChangeLog | 8 ++++++++ bfd/elflink.c | 4 ++-- bfd/pef.c | 2 +- bfd/vms-alpha.c | 4 ++-- 4 files changed, 13 insertions(+), 5 deletions(-) (limited to 'bfd') diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 713073a..44f5d78 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,13 @@ 2015-08-31 Alan Modra + * elflink.c (elf_sort_symbol): Use correctly sized type for + calculating signed section->id difference. + (elf_link_add_object_symbols): Likewise. + * pef.c (bfd_pef_scan_start_address): Warning fix. + * vms-alpha.c (vms_new_section_hook): Likewise. + +2015-08-31 Alan Modra + * elf32-nds32.c (nds32_convert_32_to_16_alu1): Warning fix. (find_relocs_at_address_addr): Make "reloc_type" an enum. (nds32_elf_relax_delete_blanks): Warning fix. diff --git a/bfd/elflink.c b/bfd/elflink.c index 192ce15..4f86700 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -3247,7 +3247,7 @@ elf_sort_symbol (const void *arg1, const void *arg2) return vdiff > 0 ? 1 : -1; else { - long sdiff = h1->root.u.def.section->id - h2->root.u.def.section->id; + int sdiff = h1->root.u.def.section->id - h2->root.u.def.section->id; if (sdiff != 0) return sdiff > 0 ? 1 : -1; } @@ -4830,7 +4830,7 @@ error_free_dyn: i = idx + 1; else { - long sdiff = slook->id - h->root.u.def.section->id; + int sdiff = slook->id - h->root.u.def.section->id; if (sdiff < 0) j = idx; else if (sdiff > 0) diff --git a/bfd/pef.c b/bfd/pef.c index 18be73b..4e7683b 100644 --- a/bfd/pef.c +++ b/bfd/pef.c @@ -487,7 +487,7 @@ bfd_pef_scan_start_address (bfd *abfd) goto end; for (section = abfd->sections; section != NULL; section = section->next) - if ((section->index + 1) == header.main_section) + if ((long) (section->index + 1) == header.main_section) break; if (section == NULL) diff --git a/bfd/vms-alpha.c b/bfd/vms-alpha.c index a0219d8..4b0b23f 100644 --- a/bfd/vms-alpha.c +++ b/bfd/vms-alpha.c @@ -9013,13 +9013,13 @@ vms_new_section_hook (bfd * abfd, asection *section) { bfd_size_type amt; - vms_debug2 ((1, "vms_new_section_hook (%p, [%d]%s)\n", + vms_debug2 ((1, "vms_new_section_hook (%p, [%u]%s)\n", abfd, section->index, section->name)); if (! bfd_set_section_alignment (abfd, section, 0)) return FALSE; - vms_debug2 ((7, "%d: %s\n", section->index, section->name)); + vms_debug2 ((7, "%u: %s\n", section->index, section->name)); amt = sizeof (struct vms_section_data_struct); section->used_by_bfd = bfd_zalloc (abfd, amt); -- cgit v1.1