From 5270eddc6ed6b5d8e4e2817491bb44b784fa6f81 Mon Sep 17 00:00:00 2001 From: "Maciej W. Rozycki" Date: Wed, 11 Jul 2018 00:42:43 +0100 Subject: [PATCH] BFD/ELF: Correct a `remove' global shadowing error for pre-4.8 GCC Remove `-Wshadow' compilation errors: cc1: warnings being treated as errors .../bfd/elflink.c: In function 'bfd_elf_final_link': .../bfd/elflink.c:11722: error: declaration of 'remove' shadows a global declaration /usr/include/stdio.h:154: error: shadowed declaration is here which for versions of GCC before 4.8 prevent support for ELF targets from being built. See also GCC PR c/53066. bfd/ * elflink.c (bfd_elf_final_link): Rename `remove' local variable to `remove_section'. --- bfd/ChangeLog | 5 +++++ bfd/elflink.c | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index b0671b3..dd6ecd9 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2018-07-10 Maciej W. Rozycki + + * elflink.c (bfd_elf_final_link): Rename `remove' local variable + to `remove_section'. + 2018-07-10 Alan Modra * elf32-xgate.h: Delete. diff --git a/bfd/elflink.c b/bfd/elflink.c index aabbf7f..b24fb95 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -11719,7 +11719,7 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info) std_attrs_section = get_elf_backend_data (abfd)->obj_attrs_section; for (o = abfd->sections; o != NULL; o = o->next) { - bfd_boolean remove = FALSE; + bfd_boolean remove_section = FALSE; if ((std_attrs_section && strcmp (o->name, std_attrs_section) == 0) || strcmp (o->name, ".gnu.attributes") == 0) @@ -11743,14 +11743,14 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info) if (attr_size) attr_section = o; else - remove = TRUE; + remove_section = TRUE; } else if ((o->flags & SEC_GROUP) != 0 && o->size == 0) { /* Remove empty group section from linker output. */ - remove = TRUE; + remove_section = TRUE; } - if (remove) + if (remove_section) { o->flags |= SEC_EXCLUDE; bfd_section_list_remove (abfd, o); -- 2.7.4