This is the mail archive of the gdb-prs@sources.redhat.com mailing list for the GDB 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]

Re: tdep/1276: Accessing ARM FP registers cause gdb-internal-error


The following reply was made to PR tdep/1276; it has been noted by GNATS.

From: Andrew Cagney <ac131313@redhat.com>
To: gdb-gnats@sources.redhat.com
Cc:  
Subject: Re: tdep/1276: Accessing ARM FP registers cause gdb-internal-error
Date: Sun, 27 Jul 2003 15:25:14 -0400

 [from e-mail to gdb-patches@]
 
 I get the feeling that FP_REGISTER_VIRTUAL_SIZE has nothing to do with 
 FP_REGISTER_RAW_SIZE and arm_register_virtual_size should return the raw 
 value.  Well ok, technically, arm_register_virtual_size, 
 arm_register_raw_size and arm_register_virtual_type should all be folded 
 into arm_register_type.
 
 Looking at FP_REGISTER_VIRTUAL_SIZE that really only comes into play 
 when the Arm doesn't even have H/W floating point registers.  See 
 arm-linux-tdep.c where it pushes on a double fp value on the stack.
 
 On the other hand, the Arm prologue analysis code, appears to assume 
 that those registers are always 12 bytes.  Look for:
 /* stfe f?, [sp, -#c]! */
 	store floating point extended (i.e. 12 bytes)
 /* sfmfd f0, 4, [sp!] */
 	store 12 byte floating point registers
 so it things 12 byte floats are stored.
 


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