Don't use 64-bit constant 0x100000000 in linker scripts

The constant value 0x100000000 is used in linker scripts to calculate
offsets from the end of 32-bit-addressed memory. There is nothing
wrong with it, but 32-bit versions of ld do the calculation wrong.

Change-Id: I4e27c6fd0c864b4d98f686588bf78c7aa48bcba8
Signed-off-by: Nico Huber <nico.huber@secunet.com>
Reviewed-on: http://review.coreboot.org/1129
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Tested-by: build bot (Jenkins)
diff --git a/src/arch/x86/lib/id.lds b/src/arch/x86/lib/id.lds
index 9e31ee6..cfd091d 100644
--- a/src/arch/x86/lib/id.lds
+++ b/src/arch/x86/lib/id.lds
@@ -1,5 +1,5 @@
 SECTIONS {
-	. = (0x100000000 - CONFIG_ID_SECTION_OFFSET) - (__id_end - __id_start);
+	. = (0xffffffff - CONFIG_ID_SECTION_OFFSET) - (__id_end - __id_start) + 1;
 	.id (.): {
 		*(.id)
 	}