[PATCH] PowerPC: Add msingle-pic-base option.

Joakim Tjernlund Joakim.Tjernlund at transmode.se
Sat Oct 9 12:45:39 CEST 2010


Do not generate PIC prolougue. Only works with -fpic.
I don't think one can make -fPIC work too.

---
 rs6000.c   |    4 ++++
 rs6000.opt |    4 ++++
 2 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 5e6f301..71d095d 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -16721,6 +16721,9 @@
       insn = emit_insn (generate_set_vrsave (reg, info, 0));
     }
 
+  if (TARGET_SINGLE_PIC_BASE)
+    return; /* Do not set PIC register */
+
   /* If we are using RS6000_PIC_OFFSET_TABLE_REGNUM, we need to set it 
up.  */
   if ((TARGET_TOC && TARGET_MINIMAL_TOC && get_pool_size () != 0)
       || (DEFAULT_ABI == ABI_V4
diff --git a/gcc/config/rs6000/rs6000.opt b/gcc/config/rs6000/rs6000.opt
index 8a62352..5f6e6ca 100644
--- a/gcc/config/rs6000/rs6000.opt
+++ b/gcc/config/rs6000/rs6000.opt
@@ -103,6 +103,10 @@ mold-mnemonics
 Target Report RejectNegative InverseMask(NEW_MNEMONICS)
 Use old mnemonics for PowerPC architecture
 
+msingle-pic-base
+Target Report Mask(SINGLE_PIC_BASE)
+Do not load the PIC register in function prologues
+
 msoft-float
 Target Report RejectNegative Mask(SOFT_FLOAT)
 Do not use hardware floating point
-- 
1.7.2.2



More information about the U-Boot mailing list