Hi Paul, > Attached patch almost entirely mechanically copies x86_64/Gtrace.c and > x86_64/Gstash_frame.c to x86.
Nice, thanks for doing the port. It looks mostly fine to me, some notes below. We don't use 32-bit any more, so it kind of fell off my radar, and I don't really have an environment to even test these. I was mainly concerned there are too many real-life systems with poor signal stack annotations in x86 world, or some other simplifying assumptions broke. These are not an issue with x86_64 - and I don't really have access to anything but recent distributions where this probably isn't an issue. The notes: * There are a few instances of 'rbp', 'rsp', 'RBP', 'RSP' in comments in include/tdep-x86/libunwind_i.h and src/x86/Gtrace.c you might edit. * It seems you use LINUX_SC_EIP_OFF etc. I think this code is also used on FreeBSD, so I am not sure if there will be problems with that. Maybe Konstantin could confirm that for you? * trace_lookup() could use uint32_t and 32-bit math on x86. Maybe it should be written to use unw_word_t in both, except for the hash multiplier constant. * The patch seems to omit Ltrace.c (but it's trivial...). > P.S. I did not apply this fix: > http://lists.nongnu.org/archive/html/libunwind-devel/2011-11/msg00018.html > as I didn't get any comments on it yet. Sorry about that, my e-mail server insists on putting almost everything from google.com into spam folder (argh!) :-/ I've not yet succeeded in convincing it otherwise. Checking your message now. Regards, Lassi _______________________________________________ Libunwind-devel mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/libunwind-devel
