X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gas%2Fsubsegs.c;h=800e4058e0e9e16bd491df48958034c43b12d725;hb=2ac435d46608be7ef90f80aaf9ff48443aea571e;hp=4e422de2fa7b90e5d66de8cf306cf4b513cdb28b;hpb=b90efa5b79ac1524ec260f8eb89d1be37e0219a7;p=deliverable%2Fbinutils-gdb.git diff --git a/gas/subsegs.c b/gas/subsegs.c index 4e422de2fa..800e4058e0 100644 --- a/gas/subsegs.c +++ b/gas/subsegs.c @@ -1,5 +1,5 @@ /* subsegs.c - subsegments - - Copyright (C) 1987-2015 Free Software Foundation, Inc. + Copyright (C) 1987-2018 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. @@ -63,7 +63,7 @@ subseg_change (segT seg, int subseg) if (! seginfo) { - seginfo = (segment_info_type *) xcalloc (1, sizeof (*seginfo)); + seginfo = XCNEW (segment_info_type); seginfo->bfd_section = seg; bfd_set_section_userdata (stdoutput, seg, seginfo); } @@ -165,7 +165,7 @@ subseg_get (const char *segname, int force_new) if (! seginfo) { secptr->output_section = secptr; - seginfo = (segment_info_type *) xcalloc (1, sizeof (*seginfo)); + seginfo = XCNEW (segment_info_type); seginfo->bfd_section = secptr; bfd_set_section_userdata (stdoutput, secptr, seginfo); } @@ -297,6 +297,10 @@ subsegs_print_statistics (FILE *file) frchainS *frchp; asection *s; + /* PR 20897 - check to see if the output bfd was actually created. */ + if (stdoutput == NULL) + return; + fprintf (file, "frag chains:\n"); for (s = stdoutput->sections; s; s = s->next) {