This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi! Please see updated patch (attached) ChangeLog: 2015-07-08 Igor Zamyatin <igor.zamyatin@intel.com> [BZ #18134] * sysdeps/i386/dl-trampoline.S (_dl_runtime_profile): Save and restore Intel MPX return bound registers. * sysdeps/x86_64/dl-trampoline.h: Add PRESERVE_BND_REGS_PREFIX to call, jump and ret instructions to not loose bounds. * sysdeps/x86/bits/link.h (La_i86_retval): Add lrv_bnd0 and lrv_bnd1. * sysdeps/i386/link-defines.sym: Add definitions for LRV_BND0_OFFSET and LRV_BND1_OFFSET. Thanks, Igor > -----Original Message----- > From: H.J. Lu [mailto:hjl.tools@gmail.com] > Sent: Friday, July 3, 2015 2:42 AM > To: Zamyatin, Igor > Cc: libc-alpha@sourceware.org > Subject: Re: [PATCH, MPX] MPX-specific changes in dl_runtime routines > > On Thu, Jul 2, 2015 at 7:33 AM, H.J. Lu <hjl.tools@gmail.com> wrote: > > On Thu, Jul 2, 2015 at 7:03 AM, Zamyatin, Igor <igor.zamyatin@intel.com> > wrote: > >> Hi! > >> > >> This patch adds necessary changes for proper work of dl_runtime routines > both for 32 and 64 bits in MPX mode. > >> > >> Is it ok for trunk? > >> > >> > >> Thanks, > >> Igor > >> > >> > >> 2015-07-02 Igor Zamyatin <igor.zamyatin@intel.com> > >> > >> * sysdeps/i386/dl-trampoline.S (_dl_runtime_profile): Save > >> and restore Intel MPX return bound registers > >> * sysdeps/x86_64/dl-trampoline.h: Add > PRESERVE_BND_REGS_PREFIX to > >> call, jump and ret instructions to not loose bounds. > >> * sysdeps/x86/bits/link.h (La_i86_retval): Add lrv_bnd0 and > >> lrv_bnd1. > > > > Should we add link-defines.sym, similar to x86-64, to avoid those > > magic numbers when accessing the fields in La_i86_regs and > > La_i86_retval? > > > > Here is a patch to add sysdeps/i386/link-defines.sym. > > I think the i386 MPX change will store values into La_i86_retval with wrong > order. You need to store bnd0/bnd1 after lrv_st1, not before lrv_eax. > > Please add an i386 audit testcase to verify that pltexit gets correct > La_i86_regs and La_i86_retval pointers and fix the i386 MPX patch. > > > -- > H.J.
Attachment:
mpx_glibc_dl_runtime_profile_all.patch
Description: mpx_glibc_dl_runtime_profile_all.patch
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |