EH on i960 (and nested functions)
Jim Wilson
wilson@cygnus.com
Tue Apr 21 13:29:00 GMT 1998
In addition to the changes you mentioned, you presumably also need to do
something about STATIC_CHAIN_REGNUM. This is currently a local register,
and hence gets lost when a nested function is called. This means any nested
function that references locals in the parent will fail. This is why Ada
doesn't work. I don't know what to do to solve this though. I suspect we
may need to make an ABI change that will affect non-nested functions too.
A open question, are the units on the lengths on the i960 in bytes, or
4 byte words? It wasn't readily obvious to me.
The lengths are 4 byte words, but this isn't strictly correct. The lengths
should be in bytes. This is a harmless bug for now, but if you want to fix
this problem also, that would be great.
Jim
More information about the Gcc
mailing list