[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 04/29] x86: assembly, use ENDPROC for functions
On Fri, May 19, 2017 at 11:17:24AM +0200, Jiri Slaby wrote: > On 05/17/2017, 03:23 PM, Jiri Slaby wrote: > >> So the initial CFI state is different between the two types of > >> "functions". And there are a lot of other differences. C-type > >> functions have to follow frame pointer conventions, for example. So > >> your FUNC_START macro (and objtool) would have to somehow figure out a > >> way to make a distinction between the two. So it would probably work > >> out better if we kept the distinction between C-type functions and other > >> code. > > > > Ok, that makes a lot of sense. > > A quick question: > Do you consider these to be C-type functions? > > ENTRY(function_hook) > ret > END(function_hook) > > or this? > > ENTRY(native_load_gs_index) > pushfq > DISABLE_INTERRUPTS(CLBR_ANY & ~CLBR_RDI) > SWAPGS > movl %edi, %gs > SWAPGS > popfq > ret > END(native_load_gs_index) > > Both are called from C, but they do not setup frame pointer etc. Yeah, those are valid C-type functions. Setting up the frame pointer is optional for leaf functions (i.e. functions which don't call other functions). -- Josh _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |