Relinking rom32.o twice seems flaky - make third link stage.

Sigh - ld seems to move things around when relinking files.  So,
    separate out the link stages so that everything is incremental.
Also, improve diagnostics of checkrom.py tool.
diff --git a/src/rombios.lds.S b/src/rombios.lds.S
new file mode 100644
index 0000000..16347f6
--- /dev/null
+++ b/src/rombios.lds.S
@@ -0,0 +1,29 @@
+// Linker definitions for merging 16 and 32 bit code
+//
+// Copyright (C) 2008  Kevin O'Connor <kevin@koconnor.net>
+//
+// This file may be distributed under the terms of the GNU GPLv3 license.
+
+#include "config.h"
+
+OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
+OUTPUT_ARCH("i386")
+ENTRY(post32);
+SECTIONS
+{
+        .text code32_start : {
+                *(.text)
+
+                . = code16_start ;
+                final_code16_start = . ;
+                *(.text16)
+
+                . = code16_fixed_start ;
+                final_code16_fixed_start = . ;
+                *(.text16.fixed.addr)
+                }
+
+        .bss __bss_start : {
+                *(.bss)
+                }
+}