X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gas%2Fsubsegs.c;h=73bc3493b625b227c622ab2cb7a000b8529768b8;hb=0e39210161e7c547ab53afb86997303e24a42c0c;hp=69f837b2a27e62cd3903d57c279cad8447bf771e;hpb=34bca50861dd6a0d59b8f8b215865e3a52895191;p=deliverable%2Fbinutils-gdb.git diff --git a/gas/subsegs.c b/gas/subsegs.c index 69f837b2a2..73bc3493b6 100644 --- a/gas/subsegs.c +++ b/gas/subsegs.c @@ -1,7 +1,5 @@ /* subsegs.c - subsegments - - Copyright 1987, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, - 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 - Free Software Foundation, Inc. + Copyright (C) 1987-2017 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. @@ -57,7 +55,7 @@ subsegs_begin (void) * segment context correct. */ void -subseg_change (register segT seg, register int subseg) +subseg_change (segT seg, int subseg) { segment_info_type *seginfo = seg_info (seg); now_seg = seg; @@ -65,7 +63,7 @@ subseg_change (register segT seg, register 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); } @@ -167,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); } @@ -299,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) {