gcc/libphobos
Iain Buclaw 285d81be97 libphobos: libdruntime doesn't support shadow stack (PR95680)
Rather than implementing support within D runtime itself, use libc
getcontext/swapcontext functions if CET is enabled.

Removes whatever CET support was in the switchContext routine for x86
D runtime, along with setting version AsmExternal, so that the fallback
ucontext_t implementation is used, which is capable of doing shadow
stack handling.

libphobos/ChangeLog:

	PR d/95680
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* configure.ac (DCFG_ENABLE_CET): Substitute.
	* libdruntime/Makefile.in: Regenerate.
	* libdruntime/config/x86/switchcontext.S: Remove CET support code.
	* libdruntime/core/thread.d: Import gcc.config.  Don't set version
	AsmExternal when GNU_Enable_CET is true.
	* libdruntime/gcc/config.d.in (GNU_Enable_CET): Define.
	* src/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.
2020-09-08 12:14:56 +02:00
..
libdruntime libphobos: libdruntime doesn't support shadow stack (PR95680) 2020-09-08 12:14:56 +02:00
m4
src libphobos: libdruntime doesn't support shadow stack (PR95680) 2020-09-08 12:14:56 +02:00
testsuite libphobos: libdruntime doesn't support shadow stack (PR95680) 2020-09-08 12:14:56 +02:00
acinclude.m4
aclocal.m4 libphobos: Add --enable-cet to configure 2020-05-08 15:11:41 -07:00
ChangeLog Daily bump. 2020-06-26 00:16:23 +00:00
config.h.in
configure libphobos: libdruntime doesn't support shadow stack (PR95680) 2020-09-08 12:14:56 +02:00
configure.ac libphobos: libdruntime doesn't support shadow stack (PR95680) 2020-09-08 12:14:56 +02:00
configure.tgt
d_rules.am
Makefile.am libphobos: Add --enable-cet to configure 2020-05-08 15:11:41 -07:00
Makefile.in libphobos: libdruntime doesn't support shadow stack (PR95680) 2020-09-08 12:14:56 +02:00
README.gcc

The files in this directory where noted are part of the DRuntime
and Phobos library.

DRuntime is the low-level runtime library backing the D programming
language, hosted at https://github.com/dlang/druntime/.

Phobos is the standard library for the D Programming Language, hosted
at https://github.com/dlang/phobos/.

The following sources and directories are part of DRuntime:
  libdruntime/core/
  libdruntime/gc/
  libdruntime/gcstub/
  libdruntime/object.d
  libdruntime/rt/

The following sources and directories are part of Phobos:
  src/etc/
  src/index.d
  src/std/

To report a bug or look up known issues with the runtime or standard
library please visit the issue tracker at https://issues.dlang.org/.

All changes to either of these libraries should go through the
upstream repository first, then merged back to GCC.