This is the mail archive of the 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]

Re: MD_FALLBACK_FRAME_STATE_FOR and floating point...

Richard Henderson wrote:

On Tue, Oct 21, 2003 at 09:34:15AM -0700, David Daney wrote:

With this in mind I looked at MD_FALLBACK_FRAME_STATE_FOR for i386-linux. I cannot see that it restores floading point registers either.

Q1: Am I missing something?

Q2: Is there some unwritten rule that you should not use floating point in signal handlers?

You need to restore registers that are call-saved, so that they'll
be correct when you get to the final destination. On x86, there are no call-saved floating point registers, so none are restored.

I am unclear as to the meaning of call-saved. Is that saved by the caller or saved by the callee?

Must be callee or what you said would not make any sense. Is that really how x86 works?

In any event it seems that if all registers are restored, then you would be safe. As there are quite a few MIPS ABIs this would allow all to work with out all sorts of ifdefs in MD_FALLBACK_FRAME_STATE_FOR.

David Daney.

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