On Mon, 2010-09-27 at 12:33 +0200, Olivier Hainque wrote: > Luke A. Guest wrote: > > Well, I'm reading as much as I can regarding this, but finding it hard > > to work some things out. > > That's a pretty complex and very precise machinery overall.
You're not wrong. > > I've been reading through: > > http://gcc.gnu.org/ml/gcc/2004-03/msg01779.html and trying some example > > code in C++ and Ada, but it doesn't seem to match up in some places, > > i.e. no calls into __register_frame_info() yet the libgcc_eh.so contains > > the function. > > There's a variety of registration functions and some targets > don't resort to such calls at all, see unwind-dw2-fde-glibc.c. > > A quick glance suggests that your arm-linux port might be using the > latter (from t-linux if I'm not mistaken, I'm not at all familiar with > the port though). I can't see any mention of unwind in the the t-linux-eabi file, I'm probably missing something I just don't unerstand here :D > While I know there are arm-eabi specifics wrt unwinding, I'm really > not familiar with the details so I'm not sure what exactly will be > needed for traceback computations. > > Wouldn't tb-gcc.c "just work" (using _Unwind_Backtrace) ? I would expect so, but again, not sure on this yet. > especially when that needs to be repeated in several places. Fair enough. > > Hopefully, I can rely on some help from you AdaCore guys? > > Some, sure :) As I said we aren't familiar with the details of the ARM > EH specifics and we're not running arm-linux in-house, so ... > > Now if you get something working, we can comment on the integration > scheme for the Ada specific parts. Ok. > > This is my first foray into GCC internals :/ > > Welcome :-D > > Out of curiosity, why did you choose that particular topic (ZCX for > Ada on arm-linux) ? Does this just happen to seem of interest for > learning purposes, or is there a more specific need ? In #Ada there are always people coming in and asking if there is an ARM GNAT, which we always say "sort of..." ARM CPU's aren't the fastest on the planet and not having EABI EH to help with this is something that really needs to be done imho. Also, with the ever increasing number of ARM CPU's out there, having Ada on them would useful (if only to a few of us). It makes sense to me that a language which was designed for embedded use, doesn't get much embedded use :/ in the mainstream. Thanks, Luke.