Rework linker scripts so they work on new version of ld.

Declare output sections with explicit start address - don't rely on LD
    using '.' for the start of the section.  Make addresses that are
    absolute by using the ABSOLUTE() function.
Discard .eh_frame - new gcc has this on by default.
Also, don't use '-d' - instead use FORCE_COMMON_ALLOCATION.
diff --git a/Makefile b/Makefile
index 7d7dbeb..1df23b4 100644
--- a/Makefile
+++ b/Makefile
@@ -102,7 +102,7 @@
 $(OUT)rom32.o: $(OUT)ccode32.o $(OUT)
 	@echo "  Linking (no relocs) $@"
-	$(Q)$(LD) -r -d -T $(OUT) $< -o $@
+	$(Q)$(LD) -r -T $(OUT) $< -o $@
 $(OUT) $(OUT)romlayout16.o
 	@echo "  Building layout information $@"