From a38d360d6b8105485882916e61abf2c93e5b00c0 Mon Sep 17 00:00:00 2001 From: Geoff Keating Date: Tue, 16 Nov 1999 03:40:16 +0000 Subject: [PATCH] rs6000.c (first_reg_to_save): Save PIC_OFFSET_TABLE_REGNUM when -fpic even though it is fixed. * config/rs6000/rs6000.c (first_reg_to_save): Save PIC_OFFSET_TABLE_REGNUM when -fpic even though it is fixed. From-SVN: r30542 --- gcc/ChangeLog | 5 +++++ gcc/config/rs6000/rs6000.c | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8c4e0ff9f18..5e757c42e2d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Tue Nov 16 14:37:52 1999 Geoffrey Keating + + * config/rs6000/rs6000.c (first_reg_to_save): Save + PIC_OFFSET_TABLE_REGNUM when -fpic even though it is fixed. + 1999-11-15 Jason Merrill * dwarf2out.c (scope_die_for): Don't rely on the decl_scope_table diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 535e7bdd7fd..250c8cd42d4 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -3508,7 +3508,11 @@ first_reg_to_save () /* Find lowest numbered live register. */ for (first_reg = 13; first_reg <= 31; first_reg++) - if (regs_ever_live[first_reg] && ! call_used_regs[first_reg]) + if (regs_ever_live[first_reg] + && (! call_used_regs[first_reg] + || (first_reg == PIC_OFFSET_TABLE_REGNUM + && (DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS) + && flag_pic == 1))) break; if (profile_flag) -- 2.30.2