HP-PA ABI issues - framepointer handling

Robert Dewar dewar@gnat.com
Wed Oct 18 20:04:00 GMT 2000


<<More correctly, the ABI defines things that really don't belong in
the ABI.  ie, the areas where we deviate do not affect the ability to
mix code from one toolchain to another.  They only affect the lame HP
unwinder.
>>

Well it seems quite a legitimate part of the ABI to me to specify where
the old frame pointer is stored. I agree the definition is stupid from
a performance point of view, but I don't see that it is inappropriate
as part of the ABI.

I do not think gcc should casually depart from the ABI in this case, if
there is a performance issue, then it is reasonable to have a special
switch to generate non-standard code.

I do not see that it is easy to do proper stack unwinding in mixed gcc
and non-gcc code without depending on the "lame unwinder". Note that
as far as we know, g++ on HPUX is using longjmp/setjump for exception
management -- is that understanding correct?

It has always been a strength of gcc that for the most part it obeys
system standards and in particular published ABI's. I think this same
standard should be followed for HPUX unless there is a very good reason
not to do so.


More information about the Gcc mailing list