[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v5 01/13] x86: reduce general stack alignment to 8
On Fri, Nov 30, 2018 at 02:03:29AM -0700, Jan Beulich wrote: > >>> On 29.11.18 at 18:44, <wei.liu2@xxxxxxxxxx> wrote: > > On Thu, Nov 08, 2018 at 09:05:45AM -0700, Jan Beulich wrote: > >> --- a/xen/arch/x86/efi/Makefile > >> +++ b/xen/arch/x86/efi/Makefile > >> @@ -5,7 +5,11 @@ CFLAGS += -fshort-wchar > >> > >> boot.init.o: buildid.o > >> > >> +EFIOBJ := boot.init.o compat.o runtime.o > >> + > >> +$(EFIOBJ): CFLAGS-stack-boundary := -mpreferred-stack-boundary=4 > > > > From gcc's manual on -mincoming-stack-boundary: > > > > "Thus calling a function compiled with a higher preferred stack boundary > > from a function compiled with a lower preferred stack boundary most > > likely misaligns the stack." > > > > I notice runtime.o now has stack alignment of 2^4 while the rest of xen > > has 2^3. > > > > There is at least one example (efi_get_time) that could misalign the > > stack. Is that okay? > > It would not be okay if the runtime call machinery wouldn't force > 32-byte alignment of the stack. See the declaration of struct > efi_rs_state, an instance of which gets put on the stack of every > function making runtime calls. Also note how this is no different > from prior to this change, as explained by the comment in that > structure declaration, except that instead of always running on > a reliably mis-aligned stack we will now run on a mixture (hence > the code [and stack] size savings mentioned in the description). OK. Reviewed-by: Wei Liu <wei.liu2@xxxxxxxxxx> _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |