From: H.J. Lu Date: Fri, 6 Oct 2017 12:49:48 +0000 (-0700) Subject: Add "do/while(0);" to COPY_INPUT_RELOC_P/VERIFY_COPY_RELOC X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e0d8f43169368abf354e596c7725dee1dd609cb8;p=binutils-gdb.git Add "do/while(0);" to COPY_INPUT_RELOC_P/VERIFY_COPY_RELOC Add "do/while(0);" to COPY_INPUT_RELOC_P/VERIFY_COPY_RELOC to avoid potential dangling else problems. * elfxx-x86.h (COPY_INPUT_RELOC_P): Add "do/while(0);". (VERIFY_COPY_RELOC): Likewise. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 982d29daabf..8633071d245 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2017-10-06 H.J. Lu + + * elfxx-x86.h (COPY_INPUT_RELOC_P): Add "do/while(0);". + (VERIFY_COPY_RELOC): Likewise. + 2017-10-06 H.J. Lu * elfxx-x86.h (VERIFY_COPY_RELOC): New. diff --git a/bfd/elfxx-x86.h b/bfd/elfxx-x86.h index ca270ded0a5..5dc21b06bfd 100644 --- a/bfd/elfxx-x86.h +++ b/bfd/elfxx-x86.h @@ -198,24 +198,32 @@ /* Verify that the symbol has an entry in the procedure linkage table. */ #define VERIFY_PLT_ENTRY(INFO, H, PLT, GOTPLT, RELPLT, LOCAL_UNDEFWEAK) \ - if (((H)->dynindx == -1 \ - && !LOCAL_UNDEFWEAK \ - && !(((H)->forced_local || bfd_link_executable (INFO)) \ - && (H)->def_regular \ - && (H)->type == STT_GNU_IFUNC)) \ - || (PLT) == NULL \ - || (GOTPLT) == NULL \ - || (RELPLT) == NULL) \ - abort (); + do \ + { \ + if (((H)->dynindx == -1 \ + && !LOCAL_UNDEFWEAK \ + && !(((H)->forced_local || bfd_link_executable (INFO)) \ + && (H)->def_regular \ + && (H)->type == STT_GNU_IFUNC)) \ + || (PLT) == NULL \ + || (GOTPLT) == NULL \ + || (RELPLT) == NULL) \ + abort (); \ + } \ + while (0); /* Verify that the symbol supports copy relocation. */ #define VERIFY_COPY_RELOC(H, HTAB) \ - if ((H)->dynindx == -1 \ - || ((H)->root.type != bfd_link_hash_defined \ - && (H)->root.type != bfd_link_hash_defweak) \ - || (HTAB)->elf.srelbss == NULL \ - || (HTAB)->elf.sreldynrelro == NULL) \ - abort (); + do \ + { \ + if ((H)->dynindx == -1 \ + || ((H)->root.type != bfd_link_hash_defined \ + && (H)->root.type != bfd_link_hash_defweak) \ + || (HTAB)->elf.srelbss == NULL \ + || (HTAB)->elf.sreldynrelro == NULL) \ + abort (); \ + } \ + while (0); /* x86 ELF linker hash entry. */