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: PATCH: PR other/55333: libsanitizer StackTrace::FastUnwindStack wrong x32


+dvyukov, +glider, +samsonov

Sorry I am lagging behind e-mail, but I am sure Dmitry, Alexander or
Alexey may submit the patch upstream.
Please make sure to comment the reason for using a separate typedef.

We need our custom unwinder based on frame pointers to remain the
default choice on x86[_64] because this is a hotspot
and replacing it with any library call (especially if that call does
not use frame pointers but instead uses debug info) will slow down
the tool significantly.
The asan docs explicitly say that you need -fno-omit-frame-pointers to
get reasonable bug reports.

Note that on ARM (and on Windows) we are using a library call.

--kcc

On Thu, Nov 15, 2012 at 6:02 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Thu, Nov 15, 2012 at 1:26 AM, Jakub Jelinek <jakub@redhat.com> wrote:
>> On Wed, Nov 14, 2012 at 07:51:05PM -0800, H.J. Lu wrote:
>>> X32 uses 32-bit pointer in software.  But its hardware pointer is
>>> 64-bit.  We must use hardware pointer to unwind frames.  This patch
>>> adds uhwptr for hardware pointer and uses it to unwind stack frames.
>>> Tested on Linux/x32, Linux/x86-64 and Linux/ia32.  Please review it
>>> for upstream.
>>
>> IMNSHO libasan should just use libbacktrace for building backtraces (if
>> available, or backtrace (3)), libbacktrace can be used even to symbolize
>> the backtrace on the fly, without the need for additional scripts.
>>
>
> It is a good idea.  In the meantime, we should fix libsanitizer
> for x32.
>
> --
> H.J.


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