Re: [PATCH for_v29 3/8] x86/sgx: vdso: Make __vdso_sgx_enter_enclave() callable from C code

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

 



On Fri, Mar 20, 2020 at 04:26:49PM -0700, Sean Christopherson wrote:
> On Fri, Mar 20, 2020 at 05:07:00AM +0200, Jarkko Sakkinen wrote:
> > On Thu, Mar 19, 2020 at 01:11:45PM -0700, Sean Christopherson wrote:
> > > On Thu, Mar 19, 2020 at 01:03:41PM -0700, Xing, Cedric wrote:
> > > > On 3/18/2020 6:11 PM, Sean Christopherson wrote:
> > > > >  #endif
> > > > >  SYM_FUNC_START(__vdso_sgx_enter_enclave)
> > > > >  	/* Prolog */
> > > > >@@ -82,7 +84,9 @@ SYM_FUNC_START(__vdso_sgx_enter_enclave)
> > > > >  	.cfi_rel_offset		%rbp, 0
> > > > >  	mov	%rsp, %rbp
> > > > >  	.cfi_def_cfa_register	%rbp
> > > > >+	push	%rbx
> > > > A CFI directive is needed here:
> > > > 
> > > > 	.cfi_rel_offset 	%rbx, -8
> > > 
> > > Darn, I suspected as much, but wasn't 100% positive.  Shouldn't have
> > > hedged.  :-)
> > > 
> > > Is the rule of thumb for adding directives that one is needed any time
> > > there is a new saved value of a register, or if the relative address of
> > > the last saved value changes?  Are CFI directives only used for
> > > non-volatile registers?
> > 
> > AFAIK the convention is just that if you push a register you need to
> > offset it so that the FDE that is put into .eh_frame by GCC has the
> > information from which locations of the stack the register values are
> > copied.
> > 
> > BTW, why use GCC-style ".L-mangled" label names instead of having more
> > readable ones?
> 
> Readable as in dropping the .L part?  E.g.
> 
>   enclu_eenter_eresume:
> 
> I assumed we'd want to keep the local labels out of the symbols file, but
> maybe getting them in there would be a good thing?

Right, that was the legit reason. Nope, lets keep them then.

/Jarkko



[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux