Opened 12 years ago

Closed 11 years ago

#5327 closed Bugs (fixed)

MPS ISA issue related to ll / sc

Reported by: Oliver Kowalke <oliver.kowalke@…> Owned by: Peter Dimov
Milestone: To Be Determined Component: smart_ptr
Version: Boost 1.45.0 Severity: Showstopper
Keywords: mips ll sc assembler error Cc:

Description

boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp uses in its inline assembler ll/sc opcode for atomic operations (increment decremet). Both opcodes are available since MIPS II ISA - unfortunately gcc assumes MIPS ISA I as default - so the inline assembler from sp_counted_base_gcc_mips.hpp triggers an assembler error:

'opcode not supported on this processor : mips1 (ll/sc)'

The header could be patches so that it instructs the CPU to switch to ISA II for ll/sc.

Attachments (1)

llsc-mips.patch (1.2 KB ) - added by Oliver Kowalke <oliver.kowalke@…> 12 years ago.
patching inline assembler for MIPS

Download all attachments as: .zip

Change History (4)

by Oliver Kowalke <oliver.kowalke@…>, 12 years ago

Attachment: llsc-mips.patch added

patching inline assembler for MIPS

comment:1 by Peter Dimov, 12 years ago

Status: newassigned

comment:2 by Peter Dimov, 12 years ago

(In [70452]) Apply suggested patch. Refs #5327.

comment:3 by Peter Dimov, 11 years ago

Resolution: fixed
Status: assignedclosed

(In [75381]) Merge [70452] to release. Fixes #5327.

Note: See TracTickets for help on using tickets.