On Mon, Jan 12, 2015 at 12:22 PM, H. Peter Anvin <h...@zytor.com> wrote: > On 01/12/2015 12:14 PM, Andy Lutomirski wrote: >> On Mon, Jan 12, 2015 at 12:11 PM, Borislav Petkov <b...@alien8.de> wrote: >>> On Mon, Jan 12, 2015 at 11:46:53AM -0800, Andy Lutomirski wrote: >>>> Dumb example: >>>> >>>> pushq_cfi $__KERNEL_DS /* ss */ >>>> >>>> This doesn't save anything that the unwinder would care about. >>> >>> And? The unwinder or whatever looks at that info simply ignores stuff it >>> is not interested in, no? >> >> But CFI_REL_OFFSET $__KERNEL_DS, 0 probably isn't even well-formed and >> won't build. >> > > I think this is relatively easy to deal with at the expense of a large > .ifeq statement in the macro. > >
Is the usage you have in mind something like: pushq_cfi %r11 /* saves r11 */ pushq_cfi $0 /* saves nothing */ pushq_cfi %r11, savereg=rip /* saves rip */ I think I prefer the somewhat less magical: pushq_reg_cfi %r11 /* saves r11 */ pushq_reg_cfi %r11, savereg=rip /* saves rip */ pushq_nounwind_cfi $0 Or something like that. --Andy -hpa > > -- Andy Lutomirski AMA Capital Management, LLC -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/