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