This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

(updated patch) Re: target/5828: gcc-3.0.4 on arm : floating point registers incorrectly reloaded


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~

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]