libgcc problems
David Edelsohn
dje@watson.ibm.com
Sat Jan 17 23:02:00 GMT 1998
>>>>> Andrey Slepuhin writes:
Andrey> To finalize a discussion about multiple instances of static
Andrey> variables in libgcc.a (and while egcs-980115 is bootstrapped :-)),
Andrey> I want to obtain *precise* answers to the following questions:
Andrey> 1) Should we enable by default run-time linking for AIX 4.2 and later?
This is not the default for AIX and xlc. How much do we want to
GCC to create a SVR4 environment by default.
Andrey> 2) Should we make a patch to move all libgcc's static variables
Andrey> into separate shared module for AIX? If yes, I can prepare
Andrey> such patch - this is not difficult and needs only few
Andrey> changes (I'm already have 80% of such patch).
This probably is the cleaner solution and will work regardless of
the AIX options.
Andrey> 5) Should we hope that a problem with correct TOC restoring will be
Andrey> fixed?
Is this really a bug? If I followed the earlier discussions, I
think this is a problem of mixing setjmp/longjmp across shared libraries.
But the AIX TOC anchor simply is a dedicated GPR which should be saved and
restored by setjmp/longjmp. I guess that I do not understand why the TOC
is getting corrupted in this case. Or should save/restore_stack_nonlocal
always save and restore the TOC as well as the backchain because the
parent function may be in a different module with a different TOC? And
somehow the receiver automatically is suppose to find and fix its TOC
anchor when there was no accompanying store to prepare the value
beforehand?
How is the SVR4 GOT automagically fixed-up in this case?
David
More information about the Gcc
mailing list