public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc/devel/omp/gcc-12] libgomp/nvptx: Prepare for reverse-offload callback handling, resolve spurious SIGSEGVs
@ 2022-10-24 20:00 Tobias Burnus
0 siblings, 0 replies; only message in thread
From: Tobias Burnus @ 2022-10-24 20:00 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:e0322c67969405001d39cf5bb40ddf545b630779
commit e0322c67969405001d39cf5bb40ddf545b630779
Author: Thomas Schwinge <thomas@codesourcery.com>
Date: Mon Oct 24 21:59:37 2022 +0200
libgomp/nvptx: Prepare for reverse-offload callback handling, resolve spurious SIGSEGVs
Per commit r13-3460-g131d18e928a3ea1ab2d3bf61aa92d68a8a254609
"libgomp/nvptx: Prepare for reverse-offload callback handling",
I'm seeing a lot of libgomp execution test regressions. Random
example, 'libgomp.c-c++-common/error-1.c':
[...]
GOMP_OFFLOAD_run: kernel main$_omp_fn$0: launch [(teams: 1), 1, 1] [(lanes: 32), (threads: 8), 1]
Thread 1 "a.out" received signal SIGSEGV, Segmentation fault.
0x00007ffff793b87d in GOMP_OFFLOAD_run (ord=<optimized out>, tgt_fn=<optimized out>, tgt_vars=<optimized out>, args=<optimized out>) at [...]/source-gcc/libgomp/plugin/plugin-nvptx.c:2127
2127 if (__atomic_load_n (&ptx_dev->rev_data->fn, __ATOMIC_ACQUIRE) != 0)
(gdb) print ptx_dev
$1 = (struct ptx_device *) 0x6a55a0
(gdb) print ptx_dev->rev_data
$2 = (struct rev_offload *) 0xffffffff00000000
(gdb) print ptx_dev->rev_data->fn
Cannot access memory at address 0xffffffff00000000
libgomp/
* plugin/plugin-nvptx.c (nvptx_open_device): Initialize
'ptx_dev->rev_data'.
(cherry picked from commit 205538832b7033699047900cf25928f5920d8b93)
Diff:
---
libgomp/ChangeLog.omp | 8 ++++++++
libgomp/plugin/plugin-nvptx.c | 2 ++
2 files changed, 10 insertions(+)
diff --git a/libgomp/ChangeLog.omp b/libgomp/ChangeLog.omp
index ab340385c83..ee0f09ead13 100644
--- a/libgomp/ChangeLog.omp
+++ b/libgomp/ChangeLog.omp
@@ -1,3 +1,11 @@
+2022-10-24 Tobias Burnus <tobias@codesourcery.com>
+
+ Backport from mainline:
+ 2022-10-24 Thomas Schwinge <thomas@codesourcery.com>
+
+ * plugin/plugin-nvptx.c (nvptx_open_device): Initialize
+ 'ptx_dev->rev_data'.
+
2022-10-24 Tobias Burnus <tobias@codesourcery.com>
Backport from mainline:
diff --git a/libgomp/plugin/plugin-nvptx.c b/libgomp/plugin/plugin-nvptx.c
index 1bf22bc17a0..be3af6cea2a 100644
--- a/libgomp/plugin/plugin-nvptx.c
+++ b/libgomp/plugin/plugin-nvptx.c
@@ -560,6 +560,8 @@ nvptx_open_device (int n)
ptx_dev->omp_stacks.size = 0;
pthread_mutex_init (&ptx_dev->omp_stacks.lock, NULL);
+ ptx_dev->rev_data = NULL;
+
return ptx_dev;
}
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-10-24 20:00 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-24 20:00 [gcc/devel/omp/gcc-12] libgomp/nvptx: Prepare for reverse-offload callback handling, resolve spurious SIGSEGVs Tobias Burnus
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).