summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2021-07-13 09:50:49 +0200
committerJakub Jelinek <jakub@redhat.com>2021-07-13 09:50:49 +0200
commit42f10ba5b57250506d69a0391ea7771c843ea286 (patch)
treea4caa808f6fb61ecf3e821ae2cdba05fad1a71c0
parent18a463bb666cc8f3421589e7641ec617acb84741 (diff)
downloadgcc-42f10ba5b57250506d69a0391ea7771c843ea286.tar.gz
libgomp: Don't include limits.h instead of hidden visibility block
sem.h is included in between # pragma GCC visibility push(hidden) and # pragma GCC visibility pop and includes limits.h there, which since the introduction of sysconf declaration in recent glibcs in there causes trouble. libgomp assumes it is compiled by gcc, so we don't really need to include limits.h there and can use -__INT_MAX__ - 1 instead (which clang and icc support too for years). 2021-07-13 Jakub Jelinek <jakub@redhat.com> Florian Weimer <fweimer@redhat.com> * config/linux/sem.h: Don't include limits.h. (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN. * config/linux/affinity.c: Include limits.h.
-rw-r--r--libgomp/config/linux/affinity.c1
-rw-r--r--libgomp/config/linux/sem.h4
2 files changed, 2 insertions, 3 deletions
diff --git a/libgomp/config/linux/affinity.c b/libgomp/config/linux/affinity.c
index c5abdce2387..1b636c61370 100644
--- a/libgomp/config/linux/affinity.c
+++ b/libgomp/config/linux/affinity.c
@@ -35,6 +35,7 @@
#include <stdio.h>
#include <string.h>
#include <unistd.h>
+#include <limits.h>
#ifdef HAVE_PTHREAD_AFFINITY_NP
diff --git a/libgomp/config/linux/sem.h b/libgomp/config/linux/sem.h
index bc0627d5e77..a3b0e267238 100644
--- a/libgomp/config/linux/sem.h
+++ b/libgomp/config/linux/sem.h
@@ -33,10 +33,8 @@
#ifndef GOMP_SEM_H
#define GOMP_SEM_H 1
-#include <limits.h> /* For INT_MIN */
-
typedef int gomp_sem_t;
-#define SEM_WAIT INT_MIN
+#define SEM_WAIT (-__INT_MAX__ - 1)
#define SEM_INC 1
extern void gomp_sem_wait_slow (gomp_sem_t *, int);