aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2022-03-18 11:02:13 +0100
committerJakub Jelinek <jakub@redhat.com>2022-03-18 11:02:13 +0100
commitc0009a3b986a5e07a187aa9533e554a184fc1882 (patch)
tree410a1a386a528f060893ec7914dac96be02d760f
parent16fe6e8c9787a3be47bee3dbf094d22a5691c190 (diff)
downloadgcc-c0009a3b986a5e07a187aa9533e554a184fc1882.zip
gcc-c0009a3b986a5e07a187aa9533e554a184fc1882.tar.gz
gcc-c0009a3b986a5e07a187aa9533e554a184fc1882.tar.bz2
openmp: Fix up gomp_affinity_init_numa_domains
On Thu, Nov 11, 2021 at 02:14:05PM +0100, Thomas Schwinge wrote: > There appears to be yet another issue: there still are quite a number of > 'FAIL: libgomp.c/places-10.c execution test' reports on > <gcc-testresults@gcc.gnu.org>. Also in my testing testing, on a system > where '/sys/devices/system/node/online' contains '0-1', I get a FAIL: > > [...] > OPENMP DISPLAY ENVIRONMENT BEGIN > _OPENMP = '201511' > OMP_DYNAMIC = 'FALSE' > OMP_NESTED = 'FALSE' > OMP_NUM_THREADS = '8' > OMP_SCHEDULE = 'DYNAMIC' > OMP_PROC_BIND = 'TRUE' > OMP_PLACES = '{0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30},{FAIL: libgomp.c/places-10.c execution test I've finally managed to debug this (by dumping used /sys/ files from an affected system in Fedora build system, replacing /sys/ with /tmp/ in gcc sources and populating there those files), I think following patch ought to fix it. 2022-03-18 Jakub Jelinek <jakub@redhat.com> * config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen variable next to pl variable.
-rw-r--r--libgomp/config/linux/affinity.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libgomp/config/linux/affinity.c b/libgomp/config/linux/affinity.c
index 65d7f96..5de02b0 100644
--- a/libgomp/config/linux/affinity.c
+++ b/libgomp/config/linux/affinity.c
@@ -411,11 +411,11 @@ gomp_affinity_init_numa_domains (unsigned long count, cpu_set_t *copy,
{
char *p = line;
void *pl = NULL;
+ bool seen = false;
while (*p && *p != '\n')
{
unsigned long first, last;
- bool seen = false;
errno = 0;
first = strtoul (p, &end, 10);