This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC] CFG-based generator of unwind info


Josef Zlomek wrote:
I'm working on a CFG based generator of unwind info, the patch is attached.

Keep in mind that we support two different unwind info formats, one based on DWARF2 CFI, and one based on IA-64 unwind sections. Also, we support 3 different unwinders, the one in libgcc, the one in David Mosberger's libunwind package, and the one in the ia64-hpux system library. The latter two only support IA-64 unwind sections. The data formats and APIs are standardized in the IA-64 ABI and in the C++ ABI.


I see you propose adding a new function to unwind.h, _Unwind_Get_Argument_Reg. This is a deviation from the C++ ABI, and also by implication from the IA-64 ABI. This needs to be documented, and we need to avoid use of it when alternative unwind libraries are used, because none of them will have it. Current deviations are documented with @@@, and there is a libstdc++ macro LIBUNWIND_STD_ABI that controls what functions libstdc++ can call.

These changes seem to be localized to the DWARF2 CFI unwinder, so it seems unlikely to effect the IA-64 port. However, it isn't clear what the new function is for. I don't see any uses of it. If you add a call to it someplace, you will need to be careful to avoid breaking IA-64 targets, none of which have this function.
--
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]