The target should implement the __sync builtins.
   
Failing that we could add
       void GOMP_atomic_enter (void)
       void GOMP_atomic_exit (void)
   which reuses the regular lock code, but with yet another lock object private to the library.