diff --git a/board/dbau1x00/u-boot.lds b/board/dbau1x00/u-boot.lds
index 9c71ef7e4b7582dbafee992df85561aa855e8254..9639b81acc62fea49eeab2190ab6141a323f13fa 100644
--- a/board/dbau1x00/u-boot.lds
+++ b/board/dbau1x00/u-boot.lds
@@ -43,7 +43,8 @@ SECTIONS
 	. = ALIGN(4);
 	.data  : { *(.data) }
 
-	_gp = ALIGN(16);
+	. = .;
+	_gp = ALIGN(16) + 0x7ff0;
 
 	.got : {
 	  __got_start = .;
diff --git a/board/gth2/u-boot.lds b/board/gth2/u-boot.lds
index 0ab42db1b01596d8f3463bbba4811de7b559e0f9..90432cb8887519ca0e542987e343bc567396a82d 100644
--- a/board/gth2/u-boot.lds
+++ b/board/gth2/u-boot.lds
@@ -43,7 +43,8 @@ SECTIONS
 	. = ALIGN(4);
 	.data  : { *(.data) }
 
-	_gp = ALIGN(16);
+	. = .;
+	_gp = ALIGN(16) + 0x7ff0;
 
 	.got : {
 	  __got_start = .;
diff --git a/board/incaip/u-boot.lds b/board/incaip/u-boot.lds
index 9c71ef7e4b7582dbafee992df85561aa855e8254..9639b81acc62fea49eeab2190ab6141a323f13fa 100644
--- a/board/incaip/u-boot.lds
+++ b/board/incaip/u-boot.lds
@@ -43,7 +43,8 @@ SECTIONS
 	. = ALIGN(4);
 	.data  : { *(.data) }
 
-	_gp = ALIGN(16);
+	. = .;
+	_gp = ALIGN(16) + 0x7ff0;
 
 	.got : {
 	  __got_start = .;
diff --git a/board/pb1x00/u-boot.lds b/board/pb1x00/u-boot.lds
index 7329e6aaa09b0829c6aea933d012c942466514fd..363d974c48f527f84f96124af7b2175a04046d4c 100644
--- a/board/pb1x00/u-boot.lds
+++ b/board/pb1x00/u-boot.lds
@@ -43,7 +43,8 @@ SECTIONS
 	. = ALIGN(4);
 	.data  : { *(.data) }
 
-	_gp = ALIGN(16);
+	. = .;
+	_gp = ALIGN(16) + 0x7ff0;
 
 	.got : {
 	  __got_start = .;
diff --git a/board/purple/u-boot.lds b/board/purple/u-boot.lds
index aa51cbf07c52960987813c6068b95fa346d3770d..e7ec012c3be5eb688dd6e3b47280ff6b3889f233 100644
--- a/board/purple/u-boot.lds
+++ b/board/purple/u-boot.lds
@@ -53,7 +53,8 @@ SECTIONS
 	. = ALIGN(4);
 	.data  : { *(.data) }
 
-	_gp = ALIGN(16);
+	. = .;
+	_gp = ALIGN(16) + 0x7ff0;
 
 	.got : {
 	  __got_start = .;
diff --git a/board/tb0229/u-boot.lds b/board/tb0229/u-boot.lds
index 148f5e670b84970088909db29a73c546877ab563..b2fa9f22dc9c7df0b46fc02f76ebeac9d4a72ce2 100644
--- a/board/tb0229/u-boot.lds
+++ b/board/tb0229/u-boot.lds
@@ -43,7 +43,8 @@ SECTIONS
 	. = ALIGN(4);
 	.data  : { *(.data) }
 
-	_gp = ALIGN(16);
+	. = .;
+	_gp = ALIGN(16) + 0x7ff0;
 
 	.got : {
 	  __got_start = .;
diff --git a/examples/mips.lds b/examples/mips.lds
index 3bd573cc54a18bac9390de899732e567b1cd2e85..a7707287a2412f130643aae165dab7fc2a07011b 100644
--- a/examples/mips.lds
+++ b/examples/mips.lds
@@ -39,7 +39,8 @@ SECTIONS
 	. = ALIGN(4);
 	.data  : { *(.data) }
 
-	_gp = ALIGN(16);
+	. = .;
+	_gp = ALIGN(16) + 0x7ff0;
 
 	.got : {
 	  __got_start = .;