Explorar o código

fix(lock): wrong jmp label

greatbridf %!s(int64=2) %!d(string=hai) anos
pai
achega
47a3dcc803
Modificáronse 1 ficheiros con 2 adicións e 2 borrados
  1. 2 2
      include/types/lock.hpp

+ 2 - 2
include/types/lock.hpp

@@ -5,11 +5,11 @@
 inline void spin_lock(uint32_t volatile* lock_addr)
 {
     asm volatile(
-        "0:\n\t\
+        "%=:\n\t\
          movl $1, %%eax\n\t\
          xchgl %%eax, (%0)\n\t\
          test $0, %%eax\n\t\
-         jne 0\n\t\
+         jne %=b\n\t\
         "
         :
         : "r"(lock_addr)