gcc/libphobos
Iain Buclaw 5dbab7b3f4 libphobos: Fix segfault at run-time when using custom Fibers (PR 98025)
When libphobos is configured with --enable-cet, this adds extra fields
to the Fiber class to support the ucontext_t fallback implementation.
These fields get omitted when compiling user code unless they also used
`-fversion=CET' to build their project, which resulted in data being
overwritten from within swapcontext().

On reviewing the ucontext_t definitions, it was found that the shadow
stack fields were missing, and the struct size didn't match up on X32.
This has been fixed in upstream druntime and merged down here.

Reviewed-on: https://github.com/dlang/druntime/pull/3293

libphobos/ChangeLog:

	PR d/98025
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* configure.ac (DCFG_ENABLE_CET): Substitute.
	* libdruntime/MERGE: Merge upstream druntime 0fe7974c.
	* libdruntime/Makefile.in: Regenerate.
	* libdruntime/core/thread.d: Import gcc.config.
	(class Fiber): Add ucontext_t fields when GNU_Enable_CET is true.
	* libdruntime/gcc/config.d.in (GNU_Enable_CET): Define.
	* src/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.
2020-11-27 21:27:14 +01:00
..
libdruntime libphobos: Fix segfault at run-time when using custom Fibers (PR 98025) 2020-11-27 21:27:14 +01:00
m4 d: Add dragonflybsd support for D compiler and runtime 2020-11-18 10:22:06 +01:00
src libphobos: Fix segfault at run-time when using custom Fibers (PR 98025) 2020-11-27 21:27:14 +01:00
testsuite libphobos: Fix segfault at run-time when using custom Fibers (PR 98025) 2020-11-27 21:27:14 +01:00
ChangeLog Daily bump. 2020-11-19 00:16:30 +00:00
Makefile.am libphobos: libdruntime doesn't support shadow stack (PR95680) 2020-09-10 18:04:12 +02:00
Makefile.in libphobos: Fix segfault at run-time when using custom Fibers (PR 98025) 2020-11-27 21:27:14 +01:00
README.gcc
acinclude.m4 Update copyright years. 2020-01-01 12:51:42 +01:00
aclocal.m4 libphobos: Add --enable-cet to configure 2020-05-08 15:11:41 -07:00
config.h.in
configure libphobos: Fix segfault at run-time when using custom Fibers (PR 98025) 2020-11-27 21:27:14 +01:00
configure.ac libphobos: Fix segfault at run-time when using custom Fibers (PR 98025) 2020-11-27 21:27:14 +01:00
configure.tgt d: Add dragonflybsd support for D compiler and runtime 2020-11-18 10:22:06 +01:00
d_rules.am libphobos: Use libdruntime as a convenience library for libphobos. 2020-04-10 12:46:12 +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.