Opened 11 years ago

Closed 11 years ago

#6692 closed Bugs (duplicate)

spinlock_gcc_arm.hpp uses deprecated assembly instructions on ARMv7

Reported by: Ben Craig <ben.craig@…> Owned by: Peter Dimov
Milestone: Boost 1.50.0 Component: smart_ptr
Version: Boost 1.49.0 Severity: Problem
Keywords: Cc:

Description

spinlock_gcc_arm implements try_lock() in terms of the SWP instruction. This instruction is deprecated due to performance issues, and it causes linkers to emit tons of warnings. I have attached a patch that implements try_lock in terms of LDREX and STREX, which are the preferred replacements for SWP.

Attachments (1)

spinlock_gcc_arm.patch (3.3 KB ) - added by Ben Craig <ben.craig@…> 11 years ago.
Patch from boost 1.49->boost 1.50 for gcc arm spinlock issue

Download all attachments as: .zip

Change History (5)

by Ben Craig <ben.craig@…>, 11 years ago

Attachment: spinlock_gcc_arm.patch added

Patch from boost 1.49->boost 1.50 for gcc arm spinlock issue

comment:1 by Ben Craig <ben.craig@…>, 11 years ago

Component: Nonesmart_ptr
Owner: set to Peter Dimov

comment:2 by Peter Dimov, 11 years ago

This looks like a duplicate of #5331.

comment:3 by Ben Craig <ben.craig@…>, 11 years ago

That fix looks like it will do the trick. I started working on this well before Jan 19 (when the other patch was submitted), and I haven't run a new search since. I'm fine with this being closed as a duplicate.

comment:4 by Peter Dimov, 11 years ago

Resolution: duplicate
Status: newclosed
Note: See TracTickets for help on using tickets.