public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] gentoo commit in src/patchsets/gcc/4.5.1/gentoo: 30_all_gcc-4.5-ppc-msingle-pic-base.patch README.history
@ 2011-04-10 16:27 Mike Frysinger (vapier)
  0 siblings, 0 replies; only message in thread
From: Mike Frysinger (vapier) @ 2011-04-10 16:27 UTC (permalink / raw
  To: gentoo-commits

vapier      11/04/10 16:27:59

  Modified:             README.history
  Added:                30_all_gcc-4.5-ppc-msingle-pic-base.patch
  Log:
  backport -msingle-pic-base for PPC support from gcc-4.6 #347281

Revision  Changes    Path
1.13                 src/patchsets/gcc/4.5.1/gentoo/README.history

file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.1/gentoo/README.history?rev=1.13&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.1/gentoo/README.history?rev=1.13&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.1/gentoo/README.history?r1=1.12&r2=1.13

Index: README.history
===================================================================
RCS file: /var/cvsroot/gentoo/src/patchsets/gcc/4.5.1/gentoo/README.history,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- README.history	29 Nov 2010 20:35:00 -0000	1.12
+++ README.history	10 Apr 2011 16:27:59 -0000	1.13
@@ -1,3 +1,6 @@
+1.5		[pending]
+	+ 30_all_gcc-4.5-ppc-msingle-pic-base.patch
+
 1.4     29.11.2010
 	U 90_all_gcc-4.5-graphite-ICE.patch
 



1.1                  src/patchsets/gcc/4.5.1/gentoo/30_all_gcc-4.5-ppc-msingle-pic-base.patch

file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.1/gentoo/30_all_gcc-4.5-ppc-msingle-pic-base.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.1/gentoo/30_all_gcc-4.5-ppc-msingle-pic-base.patch?rev=1.1&content-type=text/plain

Index: 30_all_gcc-4.5-ppc-msingle-pic-base.patch
===================================================================
https://bugs.gentoo.org/347281

backported from gcc-4.6

From aaf90e018802d80e9cd6ba86c6d03aee1456d737 Mon Sep 17 00:00:00 2001
From: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
Date: Sat, 9 Oct 2010 12:45:39 +0200
Subject: [PATCH] PowerPC: Add msingle-pic-base option, gcc 4.5.

Do not generate fPIC/fpic prologue nor save
and restore PIC register.

Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
---
 gcc/config/rs6000/rs6000.c   |    5 +++++
 gcc/config/rs6000/rs6000.opt |    4 ++++
 gcc/doc/invoke.texi          |    9 ++++++++-
 3 files changed, 17 insertions(+), 1 deletions(-)

diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 01e6d71..1552ec1 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -18553,8 +18553,10 @@ rs6000_reg_live_or_pic_offset_p (int reg)
   return ((df_regs_ever_live_p (reg)
            && (!call_used_regs[reg]
                || (reg == RS6000_PIC_OFFSET_TABLE_REGNUM
+		   && !TARGET_SINGLE_PIC_BASE
                    && TARGET_TOC && TARGET_MINIMAL_TOC)))
           || (reg == RS6000_PIC_OFFSET_TABLE_REGNUM
+	      && !TARGET_SINGLE_PIC_BASE
               && ((DEFAULT_ABI == ABI_V4 && flag_pic != 0)
                   || (DEFAULT_ABI == ABI_DARWIN && flag_pic))));
 }
@@ -19305,6 +19307,9 @@ rs6000_emit_prologue (void)
       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 63f0f8c..1c97c94 100644
--- a/gcc/config/rs6000/rs6000.opt
+++ b/gcc/config/rs6000/rs6000.opt
@@ -163,6 +163,10 @@ mupdate
 Target Report RejectNegative InverseMask(NO_UPDATE, UPDATE)
 Generate load/store with update instructions
 
+msingle-pic-base
+Target Report Var(TARGET_SINGLE_PIC_BASE) Init(0)
+Do not load the PIC register in function prologues
+
 mavoid-indexed-addresses
 Target Report Var(TARGET_AVOID_XFORM) Init(-1)
 Avoid generation of indexed load/store instructions when possible
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index a1846dc..32e17b6 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -765,7 +765,7 @@ See RS/6000 and PowerPC Options.
 -mstrict-align  -mno-strict-align  -mrelocatable @gol
 -mno-relocatable  -mrelocatable-lib  -mno-relocatable-lib @gol
 -mtoc  -mno-toc  -mlittle  -mlittle-endian  -mbig  -mbig-endian @gol
--mdynamic-no-pic  -maltivec -mswdiv @gol
+-mdynamic-no-pic  -maltivec  -mswdiv  -msingle-pic-base @gol
 -mprioritize-restricted-insns=@var{priority} @gol
 -msched-costly-dep=@var{dependence_type} @gol
 -minsert-sched-nops=@var{scheme} @gol
@@ -15221,6 +15221,13 @@ relocatable, but that its external references are relocatable.  The
 resulting code is suitable for applications, but not shared
 libraries.
 
+@item -msingle-pic-base
+@opindex msingle-pic-base
+Treat the register used for PIC addressing as read-only, rather than
+loading it in the prologue for each function.  The run-time system is
+responsible for initializing this register with an appropriate value
+before execution begins.
+
 @item -mprioritize-restricted-insns=@var{priority}
 @opindex mprioritize-restricted-insns
 This option controls the priority that is assigned to
-- 
1.7.2.2







^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2011-04-10 16:28 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-04-10 16:27 [gentoo-commits] gentoo commit in src/patchsets/gcc/4.5.1/gentoo: 30_all_gcc-4.5-ppc-msingle-pic-base.patch README.history Mike Frysinger (vapier)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox