X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=bfd%2Fcoff64-rs6000.c;h=6f0e358f4acc6d3277257f20f22b051c10bd135b;hb=6591bf0131d1d1c8c0e4de59ca2dd739dda86ddd;hp=78f14a09f45e94b310ecc85e304172a6666f2c3e;hpb=871b3ab29e87cf0de15f7e49ad19acc4f7f6f84c;p=external%2Fbinutils.git diff --git a/bfd/coff64-rs6000.c b/bfd/coff64-rs6000.c index 78f14a0..6f0e358 100644 --- a/bfd/coff64-rs6000.c +++ b/bfd/coff64-rs6000.c @@ -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 #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 */