NetBSD-Bugs archive

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

port-i386/53715: gdb can't step into indirect calls because retpolines



>Number:         53715
>Category:       port-i386
>Synopsis:       gdb can't step into indirect calls because retpolines
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    port-i386-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Nov 10 13:15:00 +0000 2018
>Originator:     Andreas Gustafsson
>Release:        NetBSD-current, source date 2018.11.09.15.20.36
>Organization:

>Environment:
System: NetBSD
Architecture: i386
Machine: i386
>Description:

When debugging a kernel issue using a remote kgdb setup as in
https://wiki.netbsd.org/kernel_debugging_with_qemu/ I was unable to
single-step into a function called indirectly through a function
pointer.  Instead, gdb continued straight to the following line
in the calling function:

(gdb) s
422                             error = dkd->d_diskstart(dksc->sc_dev, bp);
(gdb) s
423                             mutex_enter(&dksc->sc_iolock);

Disassembling the caller shows

   0xc0c68906 <dk_start+263>:   call   0xc114263b <__x86_indirect_thunk_eax>

which I assume is retpoline stuff.

>How-To-Repeat:

>Fix:



Home | Main Index | Thread Index | Old Index