Re: [U-Boot] [PATCH 1/2] PowerPC: Add relocation support for -fpic

2010-12-17 Thread Wolfgang Denk
Dear Joakim Tjernlund,

In message 1291393838-19683-1-git-send-email-joakim.tjernl...@transmode.se 
you wrote:
 By rearranging the linker script we get support for
 relocation of -fpic for free.
 
 Signed-off-by: Joakim Tjernlund joakim.tjernl...@transmode.se
 ---
  arch/powerpc/cpu/74xx_7xx/u-boot.lds |5 +++--
  arch/powerpc/cpu/mpc512x/u-boot.lds  |5 +++--
  arch/powerpc/cpu/mpc5xx/u-boot.lds   |5 +++--
  arch/powerpc/cpu/mpc5xxx/u-boot.lds  |5 +++--
  arch/powerpc/cpu/mpc8220/u-boot.lds  |5 +++--
  arch/powerpc/cpu/mpc824x/u-boot.lds  |5 +++--
  arch/powerpc/cpu/mpc8260/u-boot.lds  |5 +++--
  arch/powerpc/cpu/mpc83xx/u-boot.lds  |5 +++--
  arch/powerpc/cpu/mpc85xx/u-boot.lds  |5 +++--
  arch/powerpc/cpu/mpc86xx/u-boot.lds  |5 +++--
  arch/powerpc/cpu/ppc4xx/u-boot.lds   |5 +++--
  11 files changed, 33 insertions(+), 22 deletions(-)

Applied to next, thanks.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk  Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
Niklaus Wirth has lamented that, whereas Europeans pronounce his name
correctly  (Ni-klows  Virt),  Americans  invariably  mangle  it  into
(Nick-les  Worth).  Which  is to say that Europeans call him by name,
but Americans call him by value.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 1/2] PowerPC: Add relocation support for -fpic

2010-12-09 Thread Joakim Tjernlund

 By rearranging the linker script we get support for
 relocation of -fpic for free.

 Signed-off-by: Joakim Tjernlund joakim.tjernl...@transmode.se

Ping?

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH 1/2] PowerPC: Add relocation support for -fpic

2010-12-03 Thread Joakim Tjernlund
By rearranging the linker script we get support for
relocation of -fpic for free.

Signed-off-by: Joakim Tjernlund joakim.tjernl...@transmode.se
---
 arch/powerpc/cpu/74xx_7xx/u-boot.lds |5 +++--
 arch/powerpc/cpu/mpc512x/u-boot.lds  |5 +++--
 arch/powerpc/cpu/mpc5xx/u-boot.lds   |5 +++--
 arch/powerpc/cpu/mpc5xxx/u-boot.lds  |5 +++--
 arch/powerpc/cpu/mpc8220/u-boot.lds  |5 +++--
 arch/powerpc/cpu/mpc824x/u-boot.lds  |5 +++--
 arch/powerpc/cpu/mpc8260/u-boot.lds  |5 +++--
 arch/powerpc/cpu/mpc83xx/u-boot.lds  |5 +++--
 arch/powerpc/cpu/mpc85xx/u-boot.lds  |5 +++--
 arch/powerpc/cpu/mpc86xx/u-boot.lds  |5 +++--
 arch/powerpc/cpu/ppc4xx/u-boot.lds   |5 +++--
 11 files changed, 33 insertions(+), 22 deletions(-)

diff --git a/arch/powerpc/cpu/74xx_7xx/u-boot.lds 
b/arch/powerpc/cpu/74xx_7xx/u-boot.lds
index 771a845..8429f33 100644
--- a/arch/powerpc/cpu/74xx_7xx/u-boot.lds
+++ b/arch/powerpc/cpu/74xx_7xx/u-boot.lds
@@ -43,13 +43,14 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-KEEP(*(.got))
 _GOT2_TABLE_ = .;
 KEEP(*(.got2))
+KEEP(*(.got))
+PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
 _FIXUP_TABLE_ = .;
 KEEP(*(.fixup))
   }
-  __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) 2;
+  __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_)  2) - 1;
   __fixup_entries = (. - _FIXUP_TABLE_)2;
 
   .data:
diff --git a/arch/powerpc/cpu/mpc512x/u-boot.lds 
b/arch/powerpc/cpu/mpc512x/u-boot.lds
index 361e714..ab9303f 100644
--- a/arch/powerpc/cpu/mpc512x/u-boot.lds
+++ b/arch/powerpc/cpu/mpc512x/u-boot.lds
@@ -37,14 +37,15 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-KEEP(*(.got))
 _GOT2_TABLE_ = .;
 KEEP(*(.got2))
+KEEP(*(.got))
+PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
 _FIXUP_TABLE_ = .;
 KEEP(*(.fixup))
 *(.fixup)
   }
-  __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_)  2;
+  __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_)  2) - 1;
   __fixup_entries = (. - _FIXUP_TABLE_)  2;
 
   .data:
diff --git a/arch/powerpc/cpu/mpc5xx/u-boot.lds 
b/arch/powerpc/cpu/mpc5xx/u-boot.lds
index b7fd4bc..69bd7aa 100644
--- a/arch/powerpc/cpu/mpc5xx/u-boot.lds
+++ b/arch/powerpc/cpu/mpc5xx/u-boot.lds
@@ -46,13 +46,14 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-KEEP(*(.got))
 _GOT2_TABLE_ = .;
 KEEP(*(.got2))
+KEEP(*(.got))
+PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
 _FIXUP_TABLE_ = .;
 KEEP(*(.fixup))
   }
-  __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) 2;
+  __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_)  2) - 1;
   __fixup_entries = (. - _FIXUP_TABLE_)2;
 
   .data:
diff --git a/arch/powerpc/cpu/mpc5xxx/u-boot.lds 
b/arch/powerpc/cpu/mpc5xxx/u-boot.lds
index eeeff6c..7e3b70a 100644
--- a/arch/powerpc/cpu/mpc5xxx/u-boot.lds
+++ b/arch/powerpc/cpu/mpc5xxx/u-boot.lds
@@ -41,13 +41,14 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-KEEP(*(.got))
 _GOT2_TABLE_ = .;
 KEEP(*(.got2))
+KEEP(*(.got))
+PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
 _FIXUP_TABLE_ = .;
 KEEP(*(.fixup))
   }
-  __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_)  2;
+  __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_)  2) - 1;
   __fixup_entries = (. - _FIXUP_TABLE_)  2;
 
   .data:
diff --git a/arch/powerpc/cpu/mpc8220/u-boot.lds 
b/arch/powerpc/cpu/mpc8220/u-boot.lds
index 63cbbd7..72ff671 100644
--- a/arch/powerpc/cpu/mpc8220/u-boot.lds
+++ b/arch/powerpc/cpu/mpc8220/u-boot.lds
@@ -40,13 +40,14 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-KEEP(*(.got))
 _GOT2_TABLE_ = .;
 KEEP(*(.got2))
+KEEP(*(.got))
+PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
 _FIXUP_TABLE_ = .;
 KEEP(*(.fixup))
   }
-  __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_)  2;
+  __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_)  2) - 1;
   __fixup_entries = (. - _FIXUP_TABLE_)  2;
 
   .data:
diff --git a/arch/powerpc/cpu/mpc824x/u-boot.lds 
b/arch/powerpc/cpu/mpc824x/u-boot.lds
index e7f2837..3b9299c 100644
--- a/arch/powerpc/cpu/mpc824x/u-boot.lds
+++ b/arch/powerpc/cpu/mpc824x/u-boot.lds
@@ -41,13 +41,14 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-KEEP(*(.got))
 _GOT2_TABLE_ = .;
 KEEP(*(.got2))
+KEEP(*(.got))
+PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
 _FIXUP_TABLE_ = .;
 KEEP(*(.fixup))
   }
-  __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_)  2;
+  __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_)  2) - 1;
   __fixup_entries = (. - _FIXUP_TABLE_)  2;
 
   .data:
diff --git a/arch/powerpc/cpu/mpc8260/u-boot.lds 
b/arch/powerpc/cpu/mpc8260/u-boot.lds
index ad2ce37..c76555e 100644
--- a/arch/powerpc/cpu/mpc8260/u-boot.lds
+++ b/arch/powerpc/cpu/mpc8260/u-boot.lds
@@ -40,13 +40,14 @@ SECTIONS
   PROVIDE (erotext = .);
   .reloc   :
   {
-KEEP(*(.got))
 _GOT2_TABLE_ = .;
 KEEP(*(.got2))
+KEEP(*(.got))
+PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);