This is the mail archive of the
mailing list for the GDB project.
Re: Notes on a frame_unwind_address_in_block problem
> Mark Kettenis <firstname.lastname@example.org> 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
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.