This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Notes on a frame_unwind_address_in_block problem
- From: "Mark Kettenis" <mark dot kettenis at xs4all dot nl>
- To: "Andreas Jaeger" <aj at suse dot de>
- Cc: "Mark Kettenis" <mark dot kettenis at xs4all dot nl>, drow at false dot org, gdb at sourceware dot org, libc-alpha at sourceware dot org
- Date: Mon, 17 Jul 2006 09:29:46 +0200 (CEST)
- Subject: Re: Notes on a frame_unwind_address_in_block problem
- References: <20060706222157.GA1377@nevyn.them.org> <200607132020.k6DKKCSB023812@elgar.sibelius.xs4all.nl> <ho4pxg4sm3.fsf@reger.suse.de>
> Mark Kettenis <mark.kettenis@xs4all.nl> writes:
>
> > [...]
> > Looking at sysdeps/unix/sysv/linux/x86_64/sigaction.c in the glibc
> > sources:
> >
> > asm \
> > ( \
> > ".align 16\n" \
> > CFI_STARTPROC "\n" \
> > "__" #name ":\n" \
> > " movq $" #syscall ", %rax\n" \
> > " syscall\n" \
> > CFI_ENDPROC "\n" \
> > );
> >
> > Someone should either add the proper unwind info or remove the unwind
> > info altogether.
>
> What do you suggest to add here?
Something like what's done in the kernel (arch/x86_64/kernel/vsyscall.S).
Hmm, I wonder why Daniel's box uses the trampoline from libc instead of
the trampoline in the vsyscall page. Looking a bit closer, it seems my
amd64 machine here at work has the same issue (SuSE 9.2 with a 2.6.8-24.20
kernel and glibc 2.3.3). Is it just my glibc that's out of date, or is
something busted?
Anyway, if with the current libc, the trampoline provided by the kernel is
supposed to be used, then it's probably not worth bothering to add CFI
to libc, and I'd just remove the CFI_STARTPROC and CFI_ENDPROC statements.
Mark