diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6d0d26798b3..5c88767aa6d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ 2002-02-09 Alexandre Oliva + * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's + patch. + Contribute sh64-elf. 2002-02-09 Alexandre Oliva * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to... diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c index c408caaabe1..9a2885320b5 100644 --- a/gcc/config/sh/sh.c +++ b/gcc/config/sh/sh.c @@ -4453,6 +4453,13 @@ sh_expand_prologue () extra_push = 0; + if (TARGET_SHCOMPACT && flag_pic && current_function_args_info.call_cookie) + /* We're going to use the PIC register to load the address of the + incoming-argument decoder and/or of the return trampoline from + the GOT, so make sure the PIC register is preserved and + initialized. */ + regs_ever_live[PIC_OFFSET_TABLE_REGNUM] = 1; + if (TARGET_SHCOMPACT && (current_function_args_info.call_cookie & ~ CALL_COOKIE_RET_TRAMP(1))) { @@ -4734,13 +4741,6 @@ sh_expand_prologue () if (frame_pointer_needed) emit_insn (GEN_MOV (frame_pointer_rtx, stack_pointer_rtx)); - if (TARGET_SHCOMPACT && flag_pic && current_function_args_info.call_cookie) - /* We're going to use the PIC register to load the address of the - incoming-argument decoder and/or of the return trampoline from - the GOT, so make sure the PIC register is preserved and - initialized. */ - regs_ever_live[PIC_OFFSET_TABLE_REGNUM] = 1; - if (TARGET_SHCOMPACT && (current_function_args_info.call_cookie & ~ CALL_COOKIE_RET_TRAMP(1))) {