libunwind-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[libunwind] x86-64 patch for libunwind v0.97


From: Max Asbock
Subject: [libunwind] x86-64 patch for libunwind v0.97
Date: Thu, 27 May 2004 12:13:36 -0700

Hi all,

here is a patch to libunwind v0.97 that implements support for x86-64.

I cloned the x86 src tree and modified it to work on x86-64.
The implementation works for a number of cases such the the bt test
program that comes with libunwind. It also appears to handle signal
frames. There hasn't been extensive testing so there are probably cases
where it will fall over.

The unw_resume() function is not implemented. Floating point registers aren't
handled at all currently.

I made a few changes to the general dwarf code. 

I added an attempt to a parse_dynamic() implementation for dwarf. I it
is very closely based on the dwarf instruction generated by the C
compiler. This puts a burden on the dynamic code writers. I am not sure
if this is the right approach. Besides it does not handle unwind from
interrupts that happen within the prologues or the epilogues. I guess
this is a topic for a separate discussion.

To apply the patch:
untar the 0.97 archive,
cd libunwind-0.97
patch -p1 < [the attached diff]
After applying the patch you have to run 
autoconf
automake
./configure
make
make install
since the Makefile.am's have been changed. Although I not sure of the
correct sequence since I am not very familiar with autoconf etc.

Any comments are welcome.

max

Attachment: libunwind-0.97-amd64-051204.diff.bz2
Description: application/bzip


reply via email to

[Prev in Thread] Current Thread [Next in Thread]