https://bugs.kde.org/show_bug.cgi?id=386945

--- Comment #47 from Julian Seward <jsew...@acm.org> ---
(In reply to Mark Wielaard from comment #45)
> Unfortunately even with the ldbrx patch (which seems an OK improvement in
> itself) we still have some issues.
> 
> ldbrx is also used on unaligned addresses. In which case even
> --partial-loads-ok=yes doesn't help us.
> [..]
> This means we have to handle unaligned partial reads somehow.
> I am not sure we can. The code in memcheck/mc_main.c (mc_LOADVn_slow)
> dealing with partial reads seems to very much rely on at least word
> alignment.

That doesn't worry me so much.  I'm sure we can come up with some ppc64le-only
special-casing in mc_LOADVn_slow to deal with it.

What worries me more is the base compiler pipeline (ignoring Memcheck).  We'll
have a misaligned ldbrx going into the pipeline, which will eventually get
re-emitted
as a plain, vanilla, etc, 64-bit integer load (ld).  Will that work properly
for a
misaligned address?  Or will it trap (sigbus?)  Or will it silently zero out
the
three lowest address bits before performing the load?  This is only going to
work
correctly if it correctly handles the misalignment.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to