x86: put global data pointer into the .data section
[oweals/u-boot.git] / arch / x86 / cpu / x86_64 / cpu.c
index 18b3e94e12b75fb432e0d825c8a7763c6d1017b6..ef5e812510e7d0d33adf0e3dd1a40db534d4977b 100644 (file)
@@ -7,8 +7,14 @@
 #include <common.h>
 #include <debug_uart.h>
 
-/* Global declaration of gd */
-struct global_data *global_data_ptr;
+/*
+ * Global declaration of gd.
+ *
+ * As we write to it before relocation we have to make sure it is not put into
+ * a .bss section which may overlap a .rela section. Initialization forces it
+ * into a .data section which cannot overlap any .rela section.
+ */
+struct global_data *global_data_ptr = (struct global_data *)~0;
 
 void arch_setup_gd(gd_t *new_gd)
 {