This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
(updated patch) Re: target/5828: gcc-3.0.4 on arm : floating point registers incorrectly reloaded
- From: jeroen dobbelaere <jeroen dot dobbelaere at acunia dot com>
- To: jeroen dobbelaere <jeroen dot dobbelaere at acunia dot com>
- Cc: gcc-gnats at gcc dot gnu dot org, Richard dot Earnshaw at arm dot com, gcc-patches at gcc dot gnu dot org
- Date: Wed, 06 Mar 2002 13:33:20 +0100
- Subject: (updated patch) Re: target/5828: gcc-3.0.4 on arm : floating point registers incorrectly reloaded
- Organization: ACUNIA
- References: <3C84A159.9030603@acunia.com> <3C84A31A.6040905@acunia.com>
Second trial :
in previous patch, the comments were wrong/not very clear.
jeroen dobbelaere wrote:
> http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=5828
>
[...]
Greetings,
--
Jeroen Dobbelaere
Embedded Software Engineer
ACUNIA Embedded Solutions
http://www.acunia.com
diff -rC5 gcc-3.0.4/gcc/ChangeLog gcc-3.0.4-jdo1/gcc/ChangeLog
*** gcc-3.0.4/gcc/ChangeLog Mon Mar 4 17:40:43 2002
--- gcc-3.0.4-jdo1/gcc/ChangeLog Mon Mar 4 17:39:35 2002
***************
*** 1,5 ****
--- 1,10 ----
+ 2002-03-04 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
+
+ * config/arm/arm.c (arm_output_epilogue): bug 5828 : floats_offset
+ must start at -4 in stead of 12.
+
2002-02-20 Release Manager
* GCC 3.0.4 Released.
2002-02-20 Release Manager
Only in gcc-3.0.4-jdo1/gcc: ChangeLog~
diff -rC5 gcc-3.0.4/gcc/config/arm/arm.c gcc-3.0.4-jdo1/gcc/config/arm/arm.c
*** gcc-3.0.4/gcc/config/arm/arm.c Mon Mar 4 17:40:56 2002
--- gcc-3.0.4-jdo1/gcc/config/arm/arm.c Mon Mar 4 17:38:15 2002
***************
*** 7315,7326 ****
int really_return;
{
int reg;
unsigned long saved_regs_mask;
unsigned long func_type;
! /* If we need this, then it will always be at least this much. */
! int floats_offset = 12;
rtx operands[3];
int frame_size = get_frame_size ();
FILE * f = asm_out_file;
rtx eh_ofs = cfun->machine->eh_epilogue_sp_ofs;
--- 7315,7331 ----
int really_return;
{
int reg;
unsigned long saved_regs_mask;
unsigned long func_type;
! /*
! * stack entry is at fp+4
! * floats_offset is relative to fp
! * all saved registers are taken into account for computing floats_offset
! * => it must start at -4, so that at first 'fp-floats_offset == stack entry'
! */
! int floats_offset = -4;
rtx operands[3];
int frame_size = get_frame_size ();
FILE * f = asm_out_file;
rtx eh_ofs = cfun->machine->eh_epilogue_sp_ofs;
Only in gcc-3.0.4-jdo1/gcc/config/arm: arm.c~