Some cleanups based on patch by Nguyen Anh Quynh

Add include guards to header files.
Disable stack protector on gcc versions with that option.
Fix lds bug in src/
Don't forward declare "struct bregs;" - it may be confusing gcc on some versions.
diff --git a/src/disk.h b/src/disk.h
index 04600f5..358347a 100644
--- a/src/disk.h
+++ b/src/disk.h
@@ -3,8 +3,11 @@
 // Copyright (C) 2008  Kevin O'Connor <>
 // This file may be distributed under the terms of the GNU GPLv3 license.
+#ifndef __DISK_H
+#define __DISK_H
 #include "ioport.h" // outb
+#include "biosvar.h" // struct bregs
 #define DISK_RET_SUCCESS     0x00
 #define DISK_RET_EPARAM      0x01
@@ -15,6 +18,7 @@
 #define DISK_RET_EMEDIA      0xC0
 // floppy.c
-struct bregs;
 void floppy_13(struct bregs *regs, u8 drive);
 void floppy_tick();
+#endif // disk.h