This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


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] Fix AMD64 backtrace


Jakub Jelinek <jakub@redhat.com> writes:

> On Sun, Jan 11, 2004 at 01:17:52PM +0100, Andreas Jaeger wrote:
>> 	/* Load the new stack pointer, the preserved registers and
>> 	   registers used for passing args.  */
>> 	cfi_def_cfa(%rdi, 0)
>> 	cfi_offset(%rbx,oRBX)
>> 	cfi_offset(%rbp,oRBP)
>> 	cfi_offset(%r12,oR12)
>> 	cfi_offset(%r13,oR13)
>> 	cfi_offset(%r14,oR14)
>> 	cfi_offset(%r15,oR15)
>> 	cfi_offset(%rsp,oRSP)
>> 	cfi_offset(%rip,oRIP)
>> 	
>> 	movq	oRSP(%rdi), %rsp
>> 	movq	oRBX(%rdi), %rbx
>> 	movq	oRBP(%rdi), %rbp
>> 	movq	oR12(%rdi), %r12
>> 	movq	oR13(%rdi), %r13
>> 	movq	oR14(%rdi), %r14
>> 	movq	oR15(%rdi), %r15
>> 
>> 	/* The following ret should return to the address set with
>> 	getcontext.  Therefore push the address on the stack.  */
>> 	movq	oRIP(%rdi), %rcx
>> 	pushq	%rcx
>> 	cfi_adjust_cfa_offset(8)
>
> pushq %rcx modifies %rsp, but current CFI here is %rdi
> which is unchanged.

Thanks!  I'll commit with that change once I get approval for the
sysdeps/generic/sysdep.h change...

Andreas
-- 
 Andreas Jaeger, aj@suse.de, http://www.suse.de/~aj
  SuSE Linux AG, Maxfeldstr. 5, 90409 Nürnberg, Germany
   GPG fingerprint = 93A3 365E CE47 B889 DF7F  FED1 389A 563C C272 A126

Attachment: pgp00000.pgp
Description: PGP signature


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