Add synchornization primitives, `waiting` to task
diff --git a/share/jmk/jmk.m4 b/share/jmk/jmk.m4
index 0b2c96c..e251a8b 100644
--- a/share/jmk/jmk.m4
+++ b/share/jmk/jmk.m4
@@ -20,6 +20,7 @@
 CC ?= gcc
 LD ?= ld
 CFLAGS += -I$(ROOT)/include
+ASMFLAGS += -felf
 jmk_clean_libs =
 
 MAKEFILE_DEPTH ?= 1
@@ -35,7 +36,8 @@
     `ifelse($1, `freestanding',
         `CFLAGS += -nostdlib -nostdinc -fno-builtin -fno-stack-protector -ffreestanding',
         $1, `optimize', `CFLAGS += -O2',
-        $1, `debug', `CFLAGS += -g',
+        $1, `debug', `CFLAGS += -g
+ASMFLAGS += -Fdwarf',
         $1, `32', `CFLAGS += -m32',
         $1, `warn', `CFLAGS += -Wall -Wno-unused-function -Wno-unused-variable -Wno-incompatible-pointer-types',
         $1, `nasm', `ASM = nasm')')