This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc 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] Unwinding CFI for x86_64 signal frame (__restore_rt)


Hi Jakub,

On Tue, 28 Nov 2006 11:47:56 +0100, Jakub Jelinek wrote:
> On Mon, Nov 27, 2006 at 04:46:22PM -0500, Daniel Jacobowitz wrote:
...
> >   http://sourceware.org/ml/gdb/2006-07/msg00131.html
...
> I actually think your patch above is (almost) fine, all you should change
> is 1) use oR* macros from ucontext_i.h 2) use .uleb128 resp. .sleb128 
> directives as opposed to .byte when the argument is leb128, that way you
> can get rid e.g. of the do_expr_2 macro and can have just one, do_expr.
> 3) I'd put the nop before .align 16 and use 
> "	.long .LSTART_" #name "-1-.\n"	/* PC-relative start address */	\
> for the start address, so that movq/syscall isn't unnecessarily unaligned.
> 
> Really .cfi_* directives don't buy us anything here.

while I strongly disagree we still should code assembly instructions by hand
even in the 21st century the attached patch refactored the Daniel's one
following your guidelines.

It has been tested with the frysk's forked libunwind.


Thanks,
Jan

Attachment: glibc-signal-frame-unwind2.patch
Description: Text document


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