Re: [PATCH] libphobos: libdruntime doesn't support shadow stack (PR95680)

2020-09-10 Thread Rainer Orth
Hi Iain, >> this patch broke Solaris/x86 bootstrap: >> >> /vol/gcc/src/hg/master/local/libphobos/libdruntime/core/thread.d:3595:23: >> error: version AsmExternal defined after use >> 3595 | version = AsmExternal; >> | ^ >>

Re: [PATCH] libphobos: libdruntime doesn't support shadow stack (PR95680)

2020-09-09 Thread Iain Buclaw via Gcc-patches
Excerpts from Rainer Orth's message of September 8, 2020 11:34 pm: > Hi Iain, > --- libphobos/ChangeLog: PR d/95680 * Makefile.in: Regenerate. * configure: Regenerate. * configure.ac (DCFG_ENABLE_CET): Substitute. *

Re: [PATCH] libphobos: libdruntime doesn't support shadow stack (PR95680)

2020-09-08 Thread Rainer Orth
Hi Iain, >>> --- >>> libphobos/ChangeLog: >>> >>> PR d/95680 >>> * Makefile.in: Regenerate. >>> * configure: Regenerate. >>> * configure.ac (DCFG_ENABLE_CET): Substitute. >>> * libdruntime/Makefile.in: Regenerate. >>> *

Re: [PATCH] libphobos: libdruntime doesn't support shadow stack (PR95680)

2020-09-08 Thread Iain Buclaw via Gcc-patches
Excerpts from H.J. Lu's message of September 8, 2020 4:09 am: > On Mon, Sep 7, 2020 at 2:35 PM Iain Buclaw wrote: >> >> Hi, >> >> This patch removes whatever CET support was in the switchContext routine >> for x86 D runtime, and instead uses the ucontext fallback, which propely >> handles shadow

Re: [PATCH] libphobos: libdruntime doesn't support shadow stack (PR95680)

2020-09-07 Thread H.J. Lu via Gcc-patches
On Mon, Sep 7, 2020 at 2:35 PM Iain Buclaw wrote: > > Hi, > > This patch removes whatever CET support was in the switchContext routine > for x86 D runtime, and instead uses the ucontext fallback, which propely > handles shadow stack handling. > > Rather than implementing support within D runtime

[PATCH] libphobos: libdruntime doesn't support shadow stack (PR95680)

2020-09-07 Thread Iain Buclaw via Gcc-patches
Hi, This patch removes whatever CET support was in the switchContext routine for x86 D runtime, and instead uses the ucontext fallback, which propely handles shadow stack handling. Rather than implementing support within D runtime itself, use libc getcontext/setcontext functions if CET is