This is the mail archive of the binutils@sourceware.org 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: [PATCH] .bundle_align_mode


I've tracked down the difference between 32- and 64-bit hosts, though I
don't yet understand why it's introducing this bug.

In the test case, the call "frag_align_code (0, 0)" (in s_bundle_lock,
but I added such a call in assemble_one too, which presumably could
produce a similar problem in some different case) leads to the call
"frag_new (0)" in frag_grow on 64-bit but not 32-bit.  This difference
makes sense since it does that when the frch_obstack starts running out
of space, and that obstack holds fragS structures, whose sizes varies by
host machine.

So the difference is that now there is an extra rs_fill frag before the
rs_align_code.  That rs_fill has fr_fix=0 before frag_align_code and
fr_fix=2 afterward.  That much makes sense; it's the frag for the
preceding "bkpt" instruction, which is two bytes (0xbe00).

What I don't understand is why this is causing the bug.
Any hints would be greatly appreciated.


Thanks,
Roland


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