Force functions marked as inline to always be inlined.

Inline alters stack usage, so don't let gcc uninline.
Also, gcc seems to include multiple copies of uninlined functions when
using -combine.
With inlining forced on, the no null check optimization causes
problems, so disable it.
diff --git a/Makefile b/Makefile
index 6938bef..7415f6a 100644
--- a/Makefile
+++ b/Makefile
@@ -18,7 +18,8 @@
 # Default compiler flags
 COMMONCFLAGS = -Wall -Os -MD -m32 -march=i386 -mregparm=2 \
-               -ffreestanding -fwhole-program -fomit-frame-pointer
+               -ffreestanding -fwhole-program -fomit-frame-pointer \
+               -fno-delete-null-pointer-checks
 COMMONCFLAGS += $(call cc-option,$(CC),-nopie,)
 COMMONCFLAGS += $(call cc-option,$(CC),-fno-stack-protector,)
 COMMONCFLAGS += $(call cc-option,$(CC),-fno-stack-protector-all,)