Opened 9 years ago

Closed 9 years ago

#9065 closed Bugs (fixed)

[interprocess] atomic_cas32 inline assembly wrong on ppc32

Reported by: Petr Machata <pmachata@…> Owned by: Ion Gaztañaga
Milestone: To Be Determined Component: interprocess
Version: Boost 1.54.0 Severity: Problem
Keywords: Cc:

Description

This shows itself as a number of failures in test suite, some of which include test cases spinning infinitely. The problem (as discovered by Jaroslav Škarvada and reported in Red Hat bugzilla https://bugzilla.redhat.com/show_bug.cgi?id=1002578 ) is in inline assembly in atomic_cas32. The comparison is done against "with" and the new value is "cmp". The attached patch swaps the order of arguments passed to the inline assembly block so that they match the order of incoming function arguments, which fixes the problem.

Attachments (1)

boost-1.54.0-interprocess-atomic_cas32-ppc.patch (641 bytes ) - added by Petr Machata <pmachata@…> 9 years ago.
A fix.

Download all attachments as: .zip

Change History (3)

by Petr Machata <pmachata@…>, 9 years ago

A fix.

comment:1 by Ion Gaztañaga, 9 years ago

Thanks for the patch. It seems that most(all?) Boost regression tests are executed in Intel CPUs so this might be quite old.

comment:2 by Ion Gaztañaga, 9 years ago

Resolution: fixed
Status: newclosed

(In [85522]) Fixes #9065

Note: See TracTickets for help on using tickets.