* configure.ac (build_tools): Remove build-byacc.
[deliverable/binutils-gdb.git] / bfd / coffcode.h
index 03ec376bca2d73006cab50083a7695dd2c835017..6ee3db90e58f453002bc4d3c7cc31330ebad904d 100644 (file)
@@ -373,6 +373,7 @@ CODE_FRAGMENT
 
 #define DOT_DEBUG      ".debug"
 #define GNU_LINKONCE_WI ".gnu.linkonce.wi."
+#define GNU_LINKONCE_WT ".gnu.linkonce.wt."
 #define DOT_RELOC      ".reloc"
 
 #if defined (COFF_LONG_SECTION_NAMES)
@@ -557,7 +558,8 @@ sec_to_styp_flags (const char *sec_name, flagword sec_flags)
       styp_flags = STYP_DEBUG_INFO;
     }
 #ifdef COFF_LONG_SECTION_NAMES
-  else if (CONST_STRNEQ (sec_name, GNU_LINKONCE_WI))
+  else if (CONST_STRNEQ (sec_name, GNU_LINKONCE_WI)
+          || CONST_STRNEQ (sec_name, GNU_LINKONCE_WT))
     {
       styp_flags = STYP_DEBUG_INFO;
     }
@@ -641,6 +643,7 @@ sec_to_styp_flags (const char *sec_name, flagword sec_flags)
   if (CONST_STRNEQ (sec_name, DOT_DEBUG)
 #ifdef COFF_LONG_SECTION_NAMES
       || CONST_STRNEQ (sec_name, GNU_LINKONCE_WI)
+      || CONST_STRNEQ (sec_name, GNU_LINKONCE_WT)
 #endif
       || CONST_STRNEQ (sec_name, ".stab"))
     is_dbg = TRUE;
@@ -799,6 +802,7 @@ styp_to_sec_flags (bfd *abfd ATTRIBUTE_UNUSED,
 #endif
 #ifdef COFF_LONG_SECTION_NAMES
           || CONST_STRNEQ (name, GNU_LINKONCE_WI)
+          || CONST_STRNEQ (name, GNU_LINKONCE_WT)
 #endif
           || CONST_STRNEQ (name, ".stab"))
     {
@@ -1132,6 +1136,7 @@ styp_to_sec_flags (bfd *abfd,
   if (CONST_STRNEQ (name, DOT_DEBUG)
 #ifdef COFF_LONG_SECTION_NAMES
       || CONST_STRNEQ (name, GNU_LINKONCE_WI)
+      || CONST_STRNEQ (name, GNU_LINKONCE_WT)
 #endif
       || CONST_STRNEQ (name, ".stab"))
     is_dbg = TRUE;
@@ -1855,12 +1860,14 @@ coff_set_alignment_hook (bfd * abfd ATTRIBUTE_UNUSED,
       file_ptr oldpos = bfd_tell (abfd);
       bfd_size_type relsz = bfd_coff_relsz (abfd);
 
-      bfd_seek (abfd, (file_ptr) hdr->s_relptr, 0);
+      if (bfd_seek (abfd, (file_ptr) hdr->s_relptr, 0) != 0)
+       return;
       if (bfd_bread (& dst, relsz, abfd) != relsz)
        return;
 
       coff_swap_reloc_in (abfd, &dst, &n);
-      bfd_seek (abfd, oldpos, 0);
+      if (bfd_seek (abfd, oldpos, 0) != 0)
+       return;
       section->reloc_count = hdr->s_nreloc = n.r_vaddr - 1;
       section->rel_filepos += relsz;
     }
@@ -4847,7 +4854,7 @@ coff_slurp_symbol_table (bfd * abfd)
                 to the symbol instead of the index.  FIXME: This
                 should use a union.  */
              src->u.syment.n_value =
-               (long) (native_symbols + src->u.syment.n_value);
+               (long) (intptr_t) (native_symbols + src->u.syment.n_value);
              dst->symbol.value = src->u.syment.n_value;
              src->fix_value = 1;
              break;
@@ -4889,6 +4896,11 @@ coff_slurp_symbol_table (bfd * abfd)
                  && src->u.syment.n_value == 0
                  && src->u.syment.n_scnum == 0)
                break;
+#ifdef RS6000COFF_C
+              /* XCOFF specific: deleted entry.  */
+              if (src->u.syment.n_value == C_NULL_VALUE)
+                break;
+#endif
              /* Fall through.  */
            case C_EXTDEF:      /* External definition.  */
            case C_ULABEL:      /* Undefined label.  */
This page took 0.025147 seconds and 4 git commands to generate.