x86 spinlock implementation
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
include
src
tests
vendor
.gitignore
CMakeLists.txt
LICENSE
README.md

README.md

Locks

Implementation of a basic spinlock in C and x86 assembly.

Resources

Basic usage

  • Clone this repo
  • cd locks
  • mkdir build && cd build
  • cmake ..
  • make
  • ./run_tests

CMake

CMake is configured here to naively glob together all of the source and header files in /src and /include respectively. By default, it will compile files with debug symbols and all unit tests when you run make. This has been all I've needed for doing homework sets and small projects, but it will need to be configured to do release / optimized builds eventually.

For now, make test does not work because it seems to require all tests to be defined in tests/CMakeLists.txt, when I'd rather it run all tests automatically without explicitly defining them there. This should be possible to do, but running targets/run_tests also has the "correct" behavior. I think this is related to messing with CMAKE_RUNTIME_OUTPUT_DIRECTORY.

License

MIT. See LICENSE for details.