Reorder build objects to work around gcc bug with -combine.

Some versions of gcc have difficulties with externally visible
variables that are used before they are declared.  Now that pmm.c
contains only 32bit code and has a reference to CanPreempt, make sure
the declaration of CanPreempt (in stacks.c) is compiled first.

Signed-off-by: Kevin O'Connor <>
diff --git a/Makefile b/Makefile
index 109091b..12adc4d 100644
--- a/Makefile
+++ b/Makefile
@@ -11,7 +11,7 @@
 # Source files
-SRCBOTH=misc.c pmm.c stacks.c output.c util.c block.c floppy.c ata.c mouse.c \
+SRCBOTH=misc.c stacks.c pmm.c output.c util.c block.c floppy.c ata.c mouse.c \
         kbd.c pci.c serial.c clock.c pic.c cdrom.c ps2port.c smp.c resume.c \
         pnpbios.c pirtable.c vgahooks.c ramdisk.c pcibios.c blockcmd.c \
         usb.c usb-uhci.c usb-ohci.c usb-ehci.c usb-hid.c usb-msc.c \