public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc(refs/users/ibuclaw/heads/darwin)] D, Darwin : Do not allow moving fibres between pthreads.
@ 2021-04-10 15:04 Iain Buclaw
0 siblings, 0 replies; 6+ messages in thread
From: Iain Buclaw @ 2021-04-10 15:04 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:0026a7145a643154037bba7540a44bfdc69b3811
commit 0026a7145a643154037bba7540a44bfdc69b3811
Author: Iain Sandoe <iain@sandoe.co.uk>
Date: Thu Dec 10 14:06:07 2020 +0000
D, Darwin : Do not allow moving fibres between pthreads.
Emulated TLS targets (and, indeed some native TLS ones too)
on GCC should not allow fibres to be moved between threads
since the ME keeps pointers to TLS vars cached as an internal
detail and cannot see that a function call could return on a
different thread.
Diff:
---
libphobos/libdruntime/core/thread/fiber.d | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/libphobos/libdruntime/core/thread/fiber.d b/libphobos/libdruntime/core/thread/fiber.d
index 2b475ca82cb..9a4ffacc6d2 100644
--- a/libphobos/libdruntime/core/thread/fiber.d
+++ b/libphobos/libdruntime/core/thread/fiber.d
@@ -1732,6 +1732,11 @@ unittest
// Multiple threads running shared fibers
version (PPC) version = UnsafeFiberMigration;
version (PPC64) version = UnsafeFiberMigration;
+version (OSX)
+{
+ version (X86) version = UnsafeFiberMigration;
+ version (X86_64) version = UnsafeFiberMigration;
+}
version (UnsafeFiberMigration)
{
^ permalink raw reply [flat|nested] 6+ messages in thread
* [gcc(refs/users/ibuclaw/heads/darwin)] D, Darwin : Do not allow moving fibres between pthreads.
@ 2021-04-10 17:01 Iain Buclaw
0 siblings, 0 replies; 6+ messages in thread
From: Iain Buclaw @ 2021-04-10 17:01 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:c7aa6f4c3e758668fa863d4418627441bc8edb96
commit c7aa6f4c3e758668fa863d4418627441bc8edb96
Author: Iain Sandoe <iain@sandoe.co.uk>
Date: Thu Dec 10 14:06:07 2020 +0000
D, Darwin : Do not allow moving fibres between pthreads.
Emulated TLS targets (and, indeed some native TLS ones too)
on GCC should not allow fibres to be moved between threads
since the ME keeps pointers to TLS vars cached as an internal
detail and cannot see that a function call could return on a
different thread.
Diff:
---
libphobos/libdruntime/core/thread/fiber.d | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/libphobos/libdruntime/core/thread/fiber.d b/libphobos/libdruntime/core/thread/fiber.d
index 2b475ca82cb..9a4ffacc6d2 100644
--- a/libphobos/libdruntime/core/thread/fiber.d
+++ b/libphobos/libdruntime/core/thread/fiber.d
@@ -1732,6 +1732,11 @@ unittest
// Multiple threads running shared fibers
version (PPC) version = UnsafeFiberMigration;
version (PPC64) version = UnsafeFiberMigration;
+version (OSX)
+{
+ version (X86) version = UnsafeFiberMigration;
+ version (X86_64) version = UnsafeFiberMigration;
+}
version (UnsafeFiberMigration)
{
^ permalink raw reply [flat|nested] 6+ messages in thread
* [gcc(refs/users/ibuclaw/heads/darwin)] D, Darwin : Do not allow moving fibres between pthreads.
@ 2021-03-14 22:01 Iain Buclaw
0 siblings, 0 replies; 6+ messages in thread
From: Iain Buclaw @ 2021-03-14 22:01 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:bb1ff5c0916f6da5cbf716e57d38693fab45a187
commit bb1ff5c0916f6da5cbf716e57d38693fab45a187
Author: Iain Sandoe <iain@sandoe.co.uk>
Date: Thu Dec 10 14:06:07 2020 +0000
D, Darwin : Do not allow moving fibres between pthreads.
Emulated TLS targets (and, indeed some native TLS ones too)
on GCC should not allow fibres to be moved between threads
since the ME keeps pointers to TLS vars cached as an internal
detail and cannot see that a function call could return on a
different thread.
Diff:
---
libphobos/libdruntime/core/thread/fiber.d | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/libphobos/libdruntime/core/thread/fiber.d b/libphobos/libdruntime/core/thread/fiber.d
index 2b475ca82cb..9a4ffacc6d2 100644
--- a/libphobos/libdruntime/core/thread/fiber.d
+++ b/libphobos/libdruntime/core/thread/fiber.d
@@ -1732,6 +1732,11 @@ unittest
// Multiple threads running shared fibers
version (PPC) version = UnsafeFiberMigration;
version (PPC64) version = UnsafeFiberMigration;
+version (OSX)
+{
+ version (X86) version = UnsafeFiberMigration;
+ version (X86_64) version = UnsafeFiberMigration;
+}
version (UnsafeFiberMigration)
{
^ permalink raw reply [flat|nested] 6+ messages in thread
* [gcc(refs/users/ibuclaw/heads/darwin)] D, Darwin : Do not allow moving fibres between pthreads.
@ 2021-03-07 17:02 Iain Buclaw
0 siblings, 0 replies; 6+ messages in thread
From: Iain Buclaw @ 2021-03-07 17:02 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:5c6a65e155ae09954dfd20ad3d5bb664d9fdecb3
commit 5c6a65e155ae09954dfd20ad3d5bb664d9fdecb3
Author: Iain Sandoe <iain@sandoe.co.uk>
Date: Thu Dec 10 14:06:07 2020 +0000
D, Darwin : Do not allow moving fibres between pthreads.
Emulated TLS targets (and, indeed some native TLS ones too)
on GCC should not allow fibres to be moved between threads
since the ME keeps pointers to TLS vars cached as an internal
detail and cannot see that a function call could return on a
different thread.
Diff:
---
libphobos/libdruntime/core/thread/fiber.d | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/libphobos/libdruntime/core/thread/fiber.d b/libphobos/libdruntime/core/thread/fiber.d
index 2b475ca82cb..9a4ffacc6d2 100644
--- a/libphobos/libdruntime/core/thread/fiber.d
+++ b/libphobos/libdruntime/core/thread/fiber.d
@@ -1732,6 +1732,11 @@ unittest
// Multiple threads running shared fibers
version (PPC) version = UnsafeFiberMigration;
version (PPC64) version = UnsafeFiberMigration;
+version (OSX)
+{
+ version (X86) version = UnsafeFiberMigration;
+ version (X86_64) version = UnsafeFiberMigration;
+}
version (UnsafeFiberMigration)
{
^ permalink raw reply [flat|nested] 6+ messages in thread
* [gcc(refs/users/ibuclaw/heads/darwin)] D, Darwin : Do not allow moving fibres between pthreads.
@ 2021-01-30 19:09 Iain Buclaw
0 siblings, 0 replies; 6+ messages in thread
From: Iain Buclaw @ 2021-01-30 19:09 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:60885d709709a28d00124ae60d5844a909b0ac5e
commit 60885d709709a28d00124ae60d5844a909b0ac5e
Author: Iain Sandoe <iain@sandoe.co.uk>
Date: Thu Dec 10 14:06:07 2020 +0000
D, Darwin : Do not allow moving fibres between pthreads.
Emulated TLS targets (and, indeed some native TLS ones too)
on GCC should not allow fibres to be moved between threads
since the ME keeps pointers to TLS vars cached as an internal
detail and cannot see that a function call could return on a
different thread.
Diff:
---
libphobos/libdruntime/core/thread/fiber.d | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/libphobos/libdruntime/core/thread/fiber.d b/libphobos/libdruntime/core/thread/fiber.d
index 2b475ca82cb..9a4ffacc6d2 100644
--- a/libphobos/libdruntime/core/thread/fiber.d
+++ b/libphobos/libdruntime/core/thread/fiber.d
@@ -1732,6 +1732,11 @@ unittest
// Multiple threads running shared fibers
version (PPC) version = UnsafeFiberMigration;
version (PPC64) version = UnsafeFiberMigration;
+version (OSX)
+{
+ version (X86) version = UnsafeFiberMigration;
+ version (X86_64) version = UnsafeFiberMigration;
+}
version (UnsafeFiberMigration)
{
^ permalink raw reply [flat|nested] 6+ messages in thread
* [gcc(refs/users/ibuclaw/heads/darwin)] D, Darwin : Do not allow moving fibres between pthreads.
@ 2021-01-28 17:32 Iain Buclaw
0 siblings, 0 replies; 6+ messages in thread
From: Iain Buclaw @ 2021-01-28 17:32 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:407bf0bc10860fcc9b47949d313fbbf0ecc72185
commit 407bf0bc10860fcc9b47949d313fbbf0ecc72185
Author: Iain Sandoe <iain@sandoe.co.uk>
Date: Thu Dec 10 14:06:07 2020 +0000
D, Darwin : Do not allow moving fibres between pthreads.
Emulated TLS targets (and, indeed some native TLS ones too)
on GCC should not allow fibres to be moved between threads
since the ME keeps pointers to TLS vars cached as an internal
detail and cannot see that a function call could return on a
different thread.
Diff:
---
libphobos/libdruntime/core/thread/fiber.d | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/libphobos/libdruntime/core/thread/fiber.d b/libphobos/libdruntime/core/thread/fiber.d
index 2b475ca82cb..9a4ffacc6d2 100644
--- a/libphobos/libdruntime/core/thread/fiber.d
+++ b/libphobos/libdruntime/core/thread/fiber.d
@@ -1732,6 +1732,11 @@ unittest
// Multiple threads running shared fibers
version (PPC) version = UnsafeFiberMigration;
version (PPC64) version = UnsafeFiberMigration;
+version (OSX)
+{
+ version (X86) version = UnsafeFiberMigration;
+ version (X86_64) version = UnsafeFiberMigration;
+}
version (UnsafeFiberMigration)
{
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2021-04-10 17:01 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-10 15:04 [gcc(refs/users/ibuclaw/heads/darwin)] D, Darwin : Do not allow moving fibres between pthreads Iain Buclaw
-- strict thread matches above, loose matches on Subject: below --
2021-04-10 17:01 Iain Buclaw
2021-03-14 22:01 Iain Buclaw
2021-03-07 17:02 Iain Buclaw
2021-01-30 19:09 Iain Buclaw
2021-01-28 17:32 Iain Buclaw
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).