From: Martin Kroeker Date: Tue, 7 May 2019 11:34:52 +0000 (+0200) Subject: Fix errors in cpu enumeration with glibc 2.6 X-Git-Tag: upstream/0.3.7~3^2~38^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a6a8cc2b7fa30f46fdaa4fb6e50c19da8c11e335;p=platform%2Fupstream%2Fopenblas.git Fix errors in cpu enumeration with glibc 2.6 for #2114 --- diff --git a/driver/others/init.c b/driver/others/init.c index 012ef66..a29dce9 100644 --- a/driver/others/init.c +++ b/driver/others/init.c @@ -765,7 +765,7 @@ int gotoblas_set_affinity(int pos) { int mynode = 1; - /* if number of threads is larger than inital condition */ + /* if number of threads is larger than initial condition */ if (pos < 0) { sched_setaffinity(0, sizeof(cpu_orig_mask), &cpu_orig_mask[0]); return 0; @@ -857,7 +857,14 @@ void gotoblas_affinity_init(void) { common -> shmid = pshmid; if (common -> magic != SH_MAGIC) { + +#if defined(__GLIBC_PREREQ) +#if __GLIBC_PREREQ(2, 7) cpu_set_t *cpusetp; +#else + cpu_set_t cpuset; +#endif +#endif int nums; int ret; @@ -890,7 +897,7 @@ void gotoblas_affinity_init(void) { } CPU_FREE(cpusetp); #else - ret = sched_getaffinity(0,sizeof(cpu_set_t), cpusetp); + ret = sched_getaffinity(0,sizeof(cpu_set_t), &cpuset); if (ret!=0) { common->num_procs = nums; } else { @@ -898,11 +905,11 @@ void gotoblas_affinity_init(void) { int i; int n = 0; for (i=0;inum_procs = n; } #else - common->num_procs = CPU_COUNT(sizeof(cpu_set_t),cpusetp); + common->num_procs = CPU_COUNT(&cpuset); } #endif