libgcc problems

David Edelsohn dje@watson.ibm.com
Thu Jan 15 16:30:00 GMT 1998


>>>>> Jeffrey A Law writes:

>> Understand. Uphh! After long debugging I found a problem! This is because
>> in current exception handling implementation __sjthrow() code can not
>> be in shared library. Otherwise, no operation to restore original TOC
>> anchor pointer is performed.

Jeff> Sounds like the rs6000.md needs a nonlocal_goto_receiver pattern to
Jeff> restore the TOC.

	rs6000.md does have a nonlocal_goto_receiver pattern added by
Meissner, but it only handles the GCC minimal-toc case where GCC has
allocated a secondary TOC register.  The code assumes that the system TOC
is correct in order to access the secondary TOC anchor value.  It looks
like all nonlocal patterns for AIX assume that all of the functions are
within the same module.

	The SVR4 case only seems to handle a secondary GOT.  How does SVR4
handle this normally?  It looks like one needs to materialize a copy of
the original TOC anchor.

David



More information about the Gcc mailing list