egcs and register_frame_info
If Christopher agree with that, we will generate a new egcs with the
latest hjl-19990115-linux patch, and without the hlj-12 patch.
Unless I missed something this solution will eliminates the
register_frame_info in executables, but _also_ in libc which I was not
expecting (this contradicts hlj statement which said
register_frame_info should be in libc, whereas the compiler he
recommends will not provide it in libgcc.a). This would be a bigger
problem than expected, (because even with a new libc, people are not
guaranteed to be able to run any kind of executables), unless we
provide dummy definition for them in libc which I strongly recommend.
My previous patch does not work for C++ programs with
exceptions because the weakness of symbols is ignored by the dynamic
linker.
Including or not the hjl-12 patch switch between two different
mechanisms to generate exception code. The solution I propose to
adopt generates bigger code (probably only for functions that contains
try catch exception), but does not need register_frame_info. Whereas
the hjl-12 generates probably slightly faster and more compact code
for try () catch() expressions, but needs register_frame_info, and may
_increase_ the size of other code (even normal C), not sure of this
last statement. This mechanisms deals with register_saving of register
that must be saved across functions calls.
Except the new egcs to be compiled and uploaded to master tomorrow
morning.
Regards,
Loic
Reply to: