This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: The new assembler with unwind table bug fix


On Thu, Feb 12, 2004 at 11:05:52PM -0800, David Mosberger wrote:
> Assertion failure in cvt_frag_to_fill at ../../binutils/gas/write.c line 588.
> Please report this bug.
> 
> It seems like the exact number of bundles in the code play some role,
> as well as the exact set of unwind directives being used.  I don't
> quite understand what the assertion at write.c:588 is trying to prove.

Gas assembles insns and data to "frags", a data structure with a fixed
part and an optional variable tail.  The variable part allows gas to
optimize instructions, eg. branches, to use the smallest or most
efficient representation.  See md_estimate_size_before_relax and the
other *_estimate_size_before_relax functions.  Once the final size and
location of everything has been determined, cvt_frag_to_fill is called
to fix any variable parts of frags.  At this point, no frag addresses
should change, and each one should follow on from the previous one.
Hitting the assert probably means an error in md_convert_frag or
estimate_size_before_relax.

-- 
Alan Modra
IBM OzLabs - Linux Technology Centre


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]