Don't use boolean OR in arithmetic expressions
[deliverable/binutils-gdb.git] / bfd / cofflink.c
index b8a85b0c4317f72dcbb9264caac51c9004c71c0c..52ad84e72ce47b5ce383d8e8eeef08218461d0b5 100644 (file)
@@ -344,7 +344,7 @@ coff_link_add_symbols (bfd *abfd,
                       & COFF_LINK_HASH_PE_SECTION_SYMBOL) == 0
                      && (*sym_hash)->root.type != bfd_link_hash_undefined
                      && (*sym_hash)->root.type != bfd_link_hash_undefweak)
-                   (*_bfd_error_handler)
+                   _bfd_error_handler
                      ("Warning: symbol `%s' is both section and non-section",
                       name);
 
@@ -445,7 +445,7 @@ coff_link_add_symbols (bfd *abfd,
                          && !(DTYPE ((*sym_hash)->type) == DTYPE (sym.n_type)
                               && (BTYPE ((*sym_hash)->type) == T_NULL
                                   || BTYPE (sym.n_type) == T_NULL)))
-                       (*_bfd_error_handler)
+                       _bfd_error_handler
                          (_("Warning: type of symbol `%s' changed from %d to %d in %B"),
                           abfd, name, (*sym_hash)->type, sym.n_type);
 
@@ -1398,7 +1398,8 @@ mark_relocs (struct coff_final_link_info *flaginfo, bfd *input_bfd)
         in the relocation table.  This will then be picked up in the
         skip/don't-skip pass.  */
       for (; irel < irelend; irel++)
-       flaginfo->sym_indices[ irel->r_symndx ] = -1;
+       if ((unsigned long) irel->r_symndx < obj_raw_syment_count (input_bfd))
+         flaginfo->sym_indices[irel->r_symndx] = -1;
     }
 }
 
@@ -2361,7 +2362,7 @@ _bfd_coff_link_input_bfd (struct coff_final_link_info *flaginfo, bfd *input_bfd)
          if ((o->flags & SEC_RELOC) != 0
              && o->reloc_count != 0)
            {
-             (*_bfd_error_handler)
+             _bfd_error_handler
                (_("%B: relocs in section `%A', but it has no contents"),
                 input_bfd, o);
              bfd_set_error (bfd_error_no_contents);
@@ -2515,10 +2516,8 @@ _bfd_coff_link_input_bfd (struct coff_final_link_info *flaginfo, bfd *input_bfd)
                          if (name == NULL)
                            return FALSE;
 
-                         if (! ((*flaginfo->info->callbacks->unattached_reloc)
-                                (flaginfo->info, name, input_bfd, o,
-                                 irel->r_vaddr)))
-                           return FALSE;
+                         (*flaginfo->info->callbacks->unattached_reloc)
+                           (flaginfo->info, name, input_bfd, o, irel->r_vaddr);
                        }
                    }
                }
@@ -2722,7 +2721,7 @@ _bfd_coff_write_global_sym (struct bfd_hash_entry *bh, void *data)
              if (sec->reloc_count > 0xffff
                  && (! obj_pe (output_bfd)
                      || bfd_link_relocatable (flaginfo->info)))
-               (*_bfd_error_handler)
+               _bfd_error_handler
                  (_("%s: %s: reloc overflow: 0x%lx > 0xffff"),
                   bfd_get_filename (output_bfd),
                   bfd_get_section_name (output_bfd, sec),
@@ -2731,7 +2730,7 @@ _bfd_coff_write_global_sym (struct bfd_hash_entry *bh, void *data)
              if (sec->lineno_count > 0xffff
                  && (! obj_pe (output_bfd)
                      || bfd_link_relocatable (flaginfo->info)))
-               (*_bfd_error_handler)
+               _bfd_error_handler
                  (_("%s: warning: %s: line number overflow: 0x%lx > 0xffff"),
                   bfd_get_filename (output_bfd),
                   bfd_get_section_name (output_bfd, sec),
@@ -2834,18 +2833,14 @@ _bfd_coff_reloc_link_order (bfd *output_bfd,
        case bfd_reloc_outofrange:
          abort ();
        case bfd_reloc_overflow:
-         if (! ((*flaginfo->info->callbacks->reloc_overflow)
-                (flaginfo->info, NULL,
-                 (link_order->type == bfd_section_reloc_link_order
-                  ? bfd_section_name (output_bfd,
-                                      link_order->u.reloc.p->u.section)
-                  : link_order->u.reloc.p->u.name),
-                 howto->name, link_order->u.reloc.p->addend,
-                 (bfd *) NULL, (asection *) NULL, (bfd_vma) 0)))
-           {
-             free (buf);
-             return FALSE;
-           }
+         (*flaginfo->info->callbacks->reloc_overflow)
+           (flaginfo->info, NULL,
+            (link_order->type == bfd_section_reloc_link_order
+             ? bfd_section_name (output_bfd,
+                                 link_order->u.reloc.p->u.section)
+             : link_order->u.reloc.p->u.name),
+            howto->name, link_order->u.reloc.p->addend,
+            (bfd *) NULL, (asection *) NULL, (bfd_vma) 0);
          break;
        }
       loc = link_order->offset * bfd_octets_per_byte (output_bfd);
@@ -2901,10 +2896,9 @@ _bfd_coff_reloc_link_order (bfd *output_bfd,
        }
       else
        {
-         if (! ((*flaginfo->info->callbacks->unattached_reloc)
-                (flaginfo->info, link_order->u.reloc.p->u.name, (bfd *) NULL,
-                 (asection *) NULL, (bfd_vma) 0)))
-           return FALSE;
+         (*flaginfo->info->callbacks->unattached_reloc)
+           (flaginfo->info, link_order->u.reloc.p->u.name,
+            (bfd *) NULL, (asection *) NULL, (bfd_vma) 0);
          irel->r_symndx = 0;
        }
     }
@@ -2960,7 +2954,7 @@ _bfd_coff_generic_relocate_section (bfd *output_bfd,
       else if (symndx < 0
               || (unsigned long) symndx >= obj_raw_syment_count (input_bfd))
        {
-         (*_bfd_error_handler)
+         _bfd_error_handler
            ("%B: illegal symbol index %ld in relocs", input_bfd, symndx);
          return FALSE;
        }
@@ -3069,12 +3063,9 @@ _bfd_coff_generic_relocate_section (bfd *output_bfd,
            }
 
          else if (! bfd_link_relocatable (info))
-           {
-             if (! ((*info->callbacks->undefined_symbol)
-                    (info, h->root.root.string, input_bfd, input_section,
-                     rel->r_vaddr - input_section->vma, TRUE)))
-               return FALSE;
-           }
+           (*info->callbacks->undefined_symbol)
+             (info, h->root.root.string, input_bfd, input_section,
+              rel->r_vaddr - input_section->vma, TRUE);
        }
 
       /* If the input section defining the symbol has been discarded
@@ -3124,7 +3115,7 @@ _bfd_coff_generic_relocate_section (bfd *output_bfd,
        case bfd_reloc_ok:
          break;
        case bfd_reloc_outofrange:
-         (*_bfd_error_handler)
+         _bfd_error_handler
            (_("%B: bad reloc address 0x%lx in section `%A'"),
             input_bfd, input_section, (unsigned long) rel->r_vaddr);
          return FALSE;
@@ -3144,11 +3135,10 @@ _bfd_coff_generic_relocate_section (bfd *output_bfd,
                  return FALSE;
              }
 
-           if (! ((*info->callbacks->reloc_overflow)
-                  (info, (h ? &h->root : NULL), name, howto->name,
-                   (bfd_vma) 0, input_bfd, input_section,
-                   rel->r_vaddr - input_section->vma)))
-             return FALSE;
+           (*info->callbacks->reloc_overflow)
+             (info, (h ? &h->root : NULL), name, howto->name,
+              (bfd_vma) 0, input_bfd, input_section,
+              rel->r_vaddr - input_section->vma);
          }
        }
     }
This page took 0.031101 seconds and 4 git commands to generate.