Automatic date update in version.in
[external/binutils.git] / bfd / coff64-rs6000.c
index 78f14a0..6f0e358 100644 (file)
@@ -1,5 +1,5 @@
 /* BFD back-end for IBM RS/6000 "XCOFF64" files.
-   Copyright (C) 2000-2018 Free Software Foundation, Inc.
+   Copyright (C) 2000-2019 Free Software Foundation, Inc.
    Written Clinton Popetz.
    Contributed by Cygnus Support.
 
@@ -278,7 +278,6 @@ extern int rs6000coff_core_file_failing_signal
 #define bfd_pe_print_pdata     NULL
 #endif
 
-#include <stdint.h>
 #include "coffcode.h"
 
 /* For XCOFF64, the effective width of symndx changes depending on
@@ -1306,10 +1305,6 @@ xcoff64_ppc_relocate_section (bfd *output_bfd,
         operation, which would be tedious, or we must do the computations
         in a type larger than bfd_vma, which would be inefficient.  */
 
-      if ((unsigned int) howto.complain_on_overflow
-         >= XCOFF_MAX_COMPLAIN_OVERFLOW)
-       abort ();
-
       if (((*xcoff_complain_overflow[howto.complain_on_overflow])
           (input_bfd, value_to_relocate, relocation, &howto)))
        {
@@ -1883,13 +1878,13 @@ _bfd_strntoll (const char * nptr, int base, unsigned int maxlen)
 }
 
 /* Macro to read an ASCII value stored in an archive header field.  */
-#define GET_VALUE_IN_FIELD(VAR, FIELD)           \
-  do                                             \
-    {                                            \
-      (VAR) = sizeof (VAR) > sizeof (long)       \
-       ? _bfd_strntoll (FIELD, 10, sizeof FIELD) \
-       : _bfd_strntol (FIELD, 10, sizeof FIELD); \
-    }                                            \
+#define GET_VALUE_IN_FIELD(VAR, FIELD, BASE)                   \
+  do                                                           \
+    {                                                          \
+      (VAR) = (sizeof (VAR) > sizeof (long)                    \
+              ? _bfd_strntoll (FIELD, BASE, sizeof FIELD)      \
+              : _bfd_strntol (FIELD, BASE, sizeof FIELD));     \
+    }                                                          \
   while (0)
 
 /* Read in the armap of an XCOFF archive.  */
@@ -1932,7 +1927,7 @@ xcoff64_slurp_armap (bfd *abfd)
     return FALSE;
 
   /* Skip the name (normally empty).  */
-  GET_VALUE_IN_FIELD (namlen, hdr.namlen);
+  GET_VALUE_IN_FIELD (namlen, hdr.namlen, 10);
   pos = ((namlen + 1) & ~(size_t) 1) + SXCOFFARFMAG;
   if (bfd_seek (abfd, pos, SEEK_CUR) != 0)
     return FALSE;
@@ -2786,6 +2781,7 @@ const bfd_target rs6000_xcoff64_vec =
     bfd_generic_discard_group,
     _bfd_generic_section_already_linked,
     _bfd_xcoff_define_common_symbol,
+    _bfd_generic_link_hide_symbol,
     bfd_generic_define_start_stop,
 
     /* Dynamic */
@@ -3047,6 +3043,7 @@ const bfd_target rs6000_xcoff64_aix_vec =
     bfd_generic_discard_group,
     _bfd_generic_section_already_linked,
     _bfd_xcoff_define_common_symbol,
+    _bfd_generic_link_hide_symbol,
     bfd_generic_define_start_stop,
 
     /* Dynamic */