Name: bits-extras Version: 0.1.1 License: BSD3 License-File: License.txt Maintainer: Gabriel Wicke Author: Gabriel Wicke Synopsis: Efficient atomic and non-atomic bit operations not found in Data.Bits Description: 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: . * . * Category: Data, Concurrency, Foreign Stability: experimental Build-Type: Simple Cabal-Version: >= 1.6 Extra-Source-Files: cbits/bitops-gcc.c cbits/bitops-gcc.h Source-Repository head type: mercurial location: http://dev.wikidev.net/hg/bits-extras/ --extra-tmp-files: cbits/bitops-gcc.h library Exposed-Modules: Data.Bits.Extras Data.Bits.Atomic Build-Depends: base >= 4 && < 6 GHC-Options: -Wall -O2 -funbox-strict-fields GHC-Prof-Options: -auto-all C-Sources: cbits/bitops-gcc.c cbits/atomic-bitops-gcc.c --CC-Options: -O3 -fomit-frame-pointer -march=native -Wall -- Try link-time optimization (inlining) with gcc 4.5: -- CC-Options: -fomit-frame-pointer -march=native -Wall -flto CC-Options: -Wall if os (linux) CC-Options: -fomit-frame-pointer -march=native Extra-Libraries: gcc_s Include-Dirs: cbits Install-Includes: bitops-gcc.h atomic-bitops-gcc.h Extensions: ForeignFunctionInterface --Includes: bitops-gcc.h --LD-Options: -flto --hs-source-dirs: .