@hackage bits-extras0.1.1

Efficient atomic and non-atomic bit operations not found in Data.Bits

Mostly wraps low-level bit operations provided by GCC builtins, which translate to specialized instructions where available.

Atomic operations include CAS (compare-and-swap), lock, fetch & add and similar primitives suitable for low-level shared-memory synchronization.

Primitives from the Extras subpackage would be useful to have in the proper Data.Bits package, although this would probably require broader support across different compiler backends.

The C code dynamically links to libgcc_s, which can cause problems in GHCi. GHCi does not currently support sonames and tries to open libgcc_s.so while ignoring e.g. libgcc_s.so.1. A possible workaround for GHCi on a linux system: ln -s /lib/libgcc_s.so.1 /lib/libgcc_s.so. Let me know about any other solutions to this issue for GHCi. Regular GHC compilation uses the system linker with soname support and does not run into this issue.

Relevant Hackage tickets:

  • Installation

  • Dependencies (0)

  • Dependents (0)