This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
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