aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@redhat.com>2003-10-30 18:07:38 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2003-10-30 18:07:38 +0000
commitdb964bded7163e0be2e3d71c103431b3cd4f5bc6 (patch)
treed799e1dbfd4c00a52eacb3e6d89b3b87161ffe81
parent54ab330316542e7bc3308e5c95bd17cd47a6abbe (diff)
downloadgcc-db964bded7163e0be2e3d71c103431b3cd4f5bc6.zip
gcc-db964bded7163e0be2e3d71c103431b3cd4f5bc6.tar.gz
gcc-db964bded7163e0be2e3d71c103431b3cd4f5bc6.tar.bz2
* config/mips/mips.c (mips_global_pointer): Don't try to use $25.
From-SVN: r73094
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/mips/mips.c3
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6b6a161..99f3442 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2003-10-30 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.c (mips_global_pointer): Don't try to use $25.
+
2003-10-30 Richard Henderson <rth@redhat.com>
* config/mips/mips.c (mips_build_builtin_va_list): Use runtime
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index 73873bf..46b27f2 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -6039,7 +6039,8 @@ mips_global_pointer (void)
for (regno = GP_REG_FIRST; regno <= GP_REG_LAST; regno++)
if (!regs_ever_live[regno]
&& call_used_regs[regno]
- && !fixed_regs[regno])
+ && !fixed_regs[regno]
+ && regno != PIC_FUNCTION_ADDR_REGNUM)
return regno;
return GLOBAL_POINTER_REGNUM;