/* subsegs.c - subsegments -
Copyright 1987, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
- 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+ 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009
Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
GAS is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
+ the Free Software Foundation; either version 3, or (at your option)
any later version.
GAS is distributed in the hope that it will be useful,
if (! seginfo)
{
- seginfo = (segment_info_type *) xmalloc (sizeof (*seginfo));
- memset ((PTR) seginfo, 0, sizeof (*seginfo));
- seginfo->fix_root = NULL;
- seginfo->fix_tail = NULL;
+ seginfo = (segment_info_type *) xcalloc (1, sizeof (*seginfo));
seginfo->bfd_section = seg;
- seginfo->sym = 0;
- bfd_set_section_userdata (stdoutput, seg, (PTR) seginfo);
+ bfd_set_section_userdata (stdoutput, seg, seginfo);
}
}
\f
if (frag_now && frchain_now)
frchain_now->frch_frag_now = frag_now;
- assert (frchain_now == 0
+ gas_assert (frchain_now == 0
|| frchain_now->frch_last == frag_now);
subseg_change (seg, (int) subseg);
#endif
newP->frch_frag_now = frag_alloc (&newP->frch_obstack);
newP->frch_frag_now->fr_type = rs_fill;
+ newP->frch_cfi_data = NULL;
newP->frch_root = newP->frch_last = newP->frch_frag_now;
frchain_now = frcP;
frag_now = frcP->frch_frag_now;
- assert (frchain_now->frch_last == frag_now);
+ gas_assert (frchain_now->frch_last == frag_now);
}
/*
if (! seginfo)
{
secptr->output_section = secptr;
- seginfo = (segment_info_type *) xmalloc (sizeof (*seginfo));
- memset ((PTR) seginfo, 0, sizeof (*seginfo));
- seginfo->fix_root = NULL;
- seginfo->fix_tail = NULL;
+ seginfo = (segment_info_type *) xcalloc (1, sizeof (*seginfo));
seginfo->bfd_section = secptr;
- bfd_set_section_userdata (stdoutput, secptr, (PTR) seginfo);
- seginfo->frchainP = NULL;
- seginfo->lineno_list_head = seginfo->lineno_list_tail = NULL;
- seginfo->sym = NULL;
- seginfo->dot = NULL;
+ bfd_set_section_userdata (stdoutput, secptr, seginfo);
}
return secptr;
}
if (!seginfo)
return 0;
-
+
for (chain = seginfo->frchainP; chain; chain = chain->frch_next)
{
for (frag = chain->frch_root; frag; frag = frag->fr_next)