added a native spinlock implementation for gcc