[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Libunwind-devel] Port fasttrace to x86
From: |
Lassi Tuura |
Subject: |
Re: [Libunwind-devel] Port fasttrace to x86 |
Date: |
Fri, 11 Nov 2011 13:40:52 +0100 |
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