[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: