diff options
author | Jakub Jelinek <jakub@redhat.com> | 2022-03-18 11:02:13 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2022-03-18 11:02:13 +0100 |
commit | c0009a3b986a5e07a187aa9533e554a184fc1882 (patch) | |
tree | 410a1a386a528f060893ec7914dac96be02d760f /libgomp/config | |
parent | 16fe6e8c9787a3be47bee3dbf094d22a5691c190 (diff) | |
download | gcc-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.
Diffstat (limited to 'libgomp/config')
-rw-r--r-- | libgomp/config/linux/affinity.c | 2 |
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); |