Move DECLARE_GLOBAL_DATA_PTR to file scope

It can be optimised out by the compiler otherwise resulting
in obscure errors like a board not booting.

This has been documented in README since 2006 when these were
first fixed up for GCC 4.x.

Signed-off-by: John Rigby <john.rigby@linaro.org>

Fix some additional places.

Signed-off-by: Wolfgang Denk <wd@denx.de>
Acked-By: Albert ARIBAUD <albert.aribaud@free.fr>
diff --git a/board/linkstation/linkstation.c b/board/linkstation/linkstation.c
index c0d43eb..e564e50 100644
--- a/board/linkstation/linkstation.c
+++ b/board/linkstation/linkstation.c
@@ -32,11 +32,12 @@
 #include <pci.h>
 #endif
 
+DECLARE_GLOBAL_DATA_PTR;
+
 extern void init_AVR_DUART(void);
 
 int checkboard (void)
 {
-	DECLARE_GLOBAL_DATA_PTR;
 	char *p;
 	bd_t *bd = gd->bd;