aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2015-08-10 17:53:33 +0200
committerThomas Schwinge <tschwinge@gcc.gnu.org>2015-08-10 17:53:33 +0200
commit44a7d18d95a01b37da666a38188201805c6b578d (patch)
treead35b335d8a110c5db335660335bf212ccccd383
parent96a2d174ccfd5b1cdb746e79468dd926ad26718f (diff)
downloadgcc-44a7d18d95a01b37da666a38188201805c6b578d.zip
gcc-44a7d18d95a01b37da666a38188201805c6b578d.tar.gz
gcc-44a7d18d95a01b37da666a38188201805c6b578d.tar.bz2
Empty libgomp for nvptx
* configure.ac (noconfigdirs): Don't add "target-libgomp" for target nvptx*-*-*. * configure: Regenerate. libgomp/ * config/nvptx/affinity.c: New file. * config/nvptx/alloc.c: Likewise. * config/nvptx/bar.c: Likewise. * config/nvptx/barrier.c: Likewise. * config/nvptx/critical.c: Likewise. * config/nvptx/env.c: Likewise. * config/nvptx/error.c: Likewise. * config/nvptx/fortran.c: Likewise. * config/nvptx/iter.c: Likewise. * config/nvptx/iter_ull.c: Likewise. * config/nvptx/libgomp-plugin.c: Likewise. * config/nvptx/lock.c: Likewise. * config/nvptx/loop.c: Likewise. * config/nvptx/loop_ull.c: Likewise. * config/nvptx/mutex.c: Likewise. * config/nvptx/oacc-async.c: Likewise. * config/nvptx/oacc-cuda.c: Likewise. * config/nvptx/oacc-host.c: Likewise. * config/nvptx/oacc-init.c: Likewise. * config/nvptx/oacc-mem.c: Likewise. * config/nvptx/oacc-parallel.c: Likewise. * config/nvptx/oacc-plugin.c: Likewise. * config/nvptx/omp-lock.h: Likewise. * config/nvptx/ordered.c: Likewise. * config/nvptx/parallel.c: Likewise. * config/nvptx/proc.c: Likewise. * config/nvptx/ptrlock.c: Likewise. * config/nvptx/sections.c: Likewise. * config/nvptx/sem.c: Likewise. * config/nvptx/single.c: Likewise. * config/nvptx/splay-tree.c: Likewise. * config/nvptx/target.c: Likewise. * config/nvptx/task.c: Likewise. * config/nvptx/team.c: Likewise. * config/nvptx/time.c: Likewise. * config/nvptx/work.c: Likewise. * configure.ac: Don't probe pthreads support for host nvptx*-*-*. * configure: Regenerate. * configure.tgt (config_path): Set to "nvptx" for target nvptx*-*-*. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r226760
-rw-r--r--ChangeLog7
-rwxr-xr-xconfigure6
-rw-r--r--configure.ac6
-rw-r--r--libgomp/ChangeLog44
-rw-r--r--libgomp/config/nvptx/affinity.c0
-rw-r--r--libgomp/config/nvptx/alloc.c0
-rw-r--r--libgomp/config/nvptx/bar.c0
-rw-r--r--libgomp/config/nvptx/barrier.c0
-rw-r--r--libgomp/config/nvptx/critical.c0
-rw-r--r--libgomp/config/nvptx/env.c0
-rw-r--r--libgomp/config/nvptx/error.c0
-rw-r--r--libgomp/config/nvptx/fortran.c0
-rw-r--r--libgomp/config/nvptx/iter.c0
-rw-r--r--libgomp/config/nvptx/iter_ull.c0
-rw-r--r--libgomp/config/nvptx/libgomp-plugin.c0
-rw-r--r--libgomp/config/nvptx/lock.c0
-rw-r--r--libgomp/config/nvptx/loop.c0
-rw-r--r--libgomp/config/nvptx/loop_ull.c0
-rw-r--r--libgomp/config/nvptx/mutex.c0
-rw-r--r--libgomp/config/nvptx/oacc-async.c0
-rw-r--r--libgomp/config/nvptx/oacc-cuda.c0
-rw-r--r--libgomp/config/nvptx/oacc-host.c0
-rw-r--r--libgomp/config/nvptx/oacc-init.c0
-rw-r--r--libgomp/config/nvptx/oacc-mem.c0
-rw-r--r--libgomp/config/nvptx/oacc-parallel.c0
-rw-r--r--libgomp/config/nvptx/oacc-plugin.c0
-rw-r--r--libgomp/config/nvptx/omp-lock.h12
-rw-r--r--libgomp/config/nvptx/ordered.c0
-rw-r--r--libgomp/config/nvptx/parallel.c0
-rw-r--r--libgomp/config/nvptx/proc.c0
-rw-r--r--libgomp/config/nvptx/ptrlock.c0
-rw-r--r--libgomp/config/nvptx/sections.c0
-rw-r--r--libgomp/config/nvptx/sem.c0
-rw-r--r--libgomp/config/nvptx/single.c0
-rw-r--r--libgomp/config/nvptx/splay-tree.c0
-rw-r--r--libgomp/config/nvptx/target.c0
-rw-r--r--libgomp/config/nvptx/task.c0
-rw-r--r--libgomp/config/nvptx/team.c0
-rw-r--r--libgomp/config/nvptx/time.c0
-rw-r--r--libgomp/config/nvptx/work.c0
-rwxr-xr-xlibgomp/configure3
-rw-r--r--libgomp/configure.ac3
-rw-r--r--libgomp/configure.tgt4
43 files changed, 79 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index bd0f35e..6d3a8a0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ * configure.ac (noconfigdirs): Don't add "target-libgomp" for target
+ nvptx*-*-*.
+ * configure: Regenerate.
+
2015-08-06 Yaakov Selkowitz <yselkowi@redhat.com>
* Makefile.def (libiconv): Define bootstrap=true.
diff --git a/configure b/configure
index 6d7152e..79257fd 100755
--- a/configure
+++ b/configure
@@ -3168,9 +3168,8 @@ if test x$enable_static_libjava != xyes ; then
fi
-# Disable libgomp on non POSIX hosted systems.
+# Enable libgomp by default on hosted POSIX systems, and a few others.
if test x$enable_libgomp = x ; then
- # Enable libgomp by default on hosted POSIX systems.
case "${target}" in
*-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
;;
@@ -3180,6 +3179,8 @@ if test x$enable_libgomp = x ; then
;;
*-*-darwin* | *-*-aix*)
;;
+ nvptx*-*-*)
+ ;;
*)
noconfigdirs="$noconfigdirs target-libgomp"
;;
@@ -3917,7 +3918,6 @@ case "${target}" in
noconfigdirs="$noconfigdirs gdb"
;;
nvptx*-*-*)
- # nvptx is just a compiler
noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc"
;;
or1k*-*-*)
diff --git a/configure.ac b/configure.ac
index fbc49ce..452fc05 100644
--- a/configure.ac
+++ b/configure.ac
@@ -529,9 +529,8 @@ if test x$enable_static_libjava != xyes ; then
fi
AC_SUBST(EXTRA_CONFIGARGS_LIBJAVA)
-# Disable libgomp on non POSIX hosted systems.
+# Enable libgomp by default on hosted POSIX systems, and a few others.
if test x$enable_libgomp = x ; then
- # Enable libgomp by default on hosted POSIX systems.
case "${target}" in
*-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
;;
@@ -541,6 +540,8 @@ if test x$enable_libgomp = x ; then
;;
*-*-darwin* | *-*-aix*)
;;
+ nvptx*-*-*)
+ ;;
*)
noconfigdirs="$noconfigdirs target-libgomp"
;;
@@ -1257,7 +1258,6 @@ case "${target}" in
noconfigdirs="$noconfigdirs gdb"
;;
nvptx*-*-*)
- # nvptx is just a compiler
noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc"
;;
or1k*-*-*)
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index 3b60290..084aabd 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,4 +1,48 @@
2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ * config/nvptx/affinity.c: New file.
+ * config/nvptx/alloc.c: Likewise.
+ * config/nvptx/bar.c: Likewise.
+ * config/nvptx/barrier.c: Likewise.
+ * config/nvptx/critical.c: Likewise.
+ * config/nvptx/env.c: Likewise.
+ * config/nvptx/error.c: Likewise.
+ * config/nvptx/fortran.c: Likewise.
+ * config/nvptx/iter.c: Likewise.
+ * config/nvptx/iter_ull.c: Likewise.
+ * config/nvptx/libgomp-plugin.c: Likewise.
+ * config/nvptx/lock.c: Likewise.
+ * config/nvptx/loop.c: Likewise.
+ * config/nvptx/loop_ull.c: Likewise.
+ * config/nvptx/mutex.c: Likewise.
+ * config/nvptx/oacc-async.c: Likewise.
+ * config/nvptx/oacc-cuda.c: Likewise.
+ * config/nvptx/oacc-host.c: Likewise.
+ * config/nvptx/oacc-init.c: Likewise.
+ * config/nvptx/oacc-mem.c: Likewise.
+ * config/nvptx/oacc-parallel.c: Likewise.
+ * config/nvptx/oacc-plugin.c: Likewise.
+ * config/nvptx/omp-lock.h: Likewise.
+ * config/nvptx/ordered.c: Likewise.
+ * config/nvptx/parallel.c: Likewise.
+ * config/nvptx/proc.c: Likewise.
+ * config/nvptx/ptrlock.c: Likewise.
+ * config/nvptx/sections.c: Likewise.
+ * config/nvptx/sem.c: Likewise.
+ * config/nvptx/single.c: Likewise.
+ * config/nvptx/splay-tree.c: Likewise.
+ * config/nvptx/target.c: Likewise.
+ * config/nvptx/task.c: Likewise.
+ * config/nvptx/team.c: Likewise.
+ * config/nvptx/time.c: Likewise.
+ * config/nvptx/work.c: Likewise.
+ * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
+ * configure: Regenerate.
+ * configure.tgt (config_path): Set to "nvptx" for target
+ nvptx*-*-*.
+
+2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
* testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
diff --git a/libgomp/config/nvptx/affinity.c b/libgomp/config/nvptx/affinity.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libgomp/config/nvptx/affinity.c
diff --git a/libgomp/config/nvptx/alloc.c b/libgomp/config/nvptx/alloc.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libgomp/config/nvptx/alloc.c
diff --git a/libgomp/config/nvptx/bar.c b/libgomp/config/nvptx/bar.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libgomp/config/nvptx/bar.c
diff --git a/libgomp/config/nvptx/barrier.c b/libgomp/config/nvptx/barrier.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libgomp/config/nvptx/barrier.c
diff --git a/libgomp/config/nvptx/critical.c b/libgomp/config/nvptx/critical.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libgomp/config/nvptx/critical.c
diff --git a/libgomp/config/nvptx/env.c b/libgomp/config/nvptx/env.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libgomp/config/nvptx/env.c
diff --git a/libgomp/config/nvptx/error.c b/libgomp/config/nvptx/error.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libgomp/config/nvptx/error.c
diff --git a/libgomp/config/nvptx/fortran.c b/libgomp/config/nvptx/fortran.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libgomp/config/nvptx/fortran.c
diff --git a/libgomp/config/nvptx/iter.c b/libgomp/config/nvptx/iter.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libgomp/config/nvptx/iter.c
diff --git a/libgomp/config/nvptx/iter_ull.c b/libgomp/config/nvptx/iter_ull.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libgomp/config/nvptx/iter_ull.c
diff --git a/libgomp/config/nvptx/libgomp-plugin.c b/libgomp/config/nvptx/libgomp-plugin.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libgomp/config/nvptx/libgomp-plugin.c
diff --git a/libgomp/config/nvptx/lock.c b/libgomp/config/nvptx/lock.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libgomp/config/nvptx/lock.c
diff --git a/libgomp/config/nvptx/loop.c b/libgomp/config/nvptx/loop.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libgomp/config/nvptx/loop.c
diff --git a/libgomp/config/nvptx/loop_ull.c b/libgomp/config/nvptx/loop_ull.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libgomp/config/nvptx/loop_ull.c
diff --git a/libgomp/config/nvptx/mutex.c b/libgomp/config/nvptx/mutex.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libgomp/config/nvptx/mutex.c
diff --git a/libgomp/config/nvptx/oacc-async.c b/libgomp/config/nvptx/oacc-async.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libgomp/config/nvptx/oacc-async.c
diff --git a/libgomp/config/nvptx/oacc-cuda.c b/libgomp/config/nvptx/oacc-cuda.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libgomp/config/nvptx/oacc-cuda.c
diff --git a/libgomp/config/nvptx/oacc-host.c b/libgomp/config/nvptx/oacc-host.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libgomp/config/nvptx/oacc-host.c
diff --git a/libgomp/config/nvptx/oacc-init.c b/libgomp/config/nvptx/oacc-init.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libgomp/config/nvptx/oacc-init.c
diff --git a/libgomp/config/nvptx/oacc-mem.c b/libgomp/config/nvptx/oacc-mem.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libgomp/config/nvptx/oacc-mem.c
diff --git a/libgomp/config/nvptx/oacc-parallel.c b/libgomp/config/nvptx/oacc-parallel.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libgomp/config/nvptx/oacc-parallel.c
diff --git a/libgomp/config/nvptx/oacc-plugin.c b/libgomp/config/nvptx/oacc-plugin.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libgomp/config/nvptx/oacc-plugin.c
diff --git a/libgomp/config/nvptx/omp-lock.h b/libgomp/config/nvptx/omp-lock.h
new file mode 100644
index 0000000..2ca7c5e
--- /dev/null
+++ b/libgomp/config/nvptx/omp-lock.h
@@ -0,0 +1,12 @@
+/* This header is used during the build process to find the size and
+ alignment of the public OpenMP locks, so that we can export data
+ structures without polluting the namespace.
+
+ When using the Linux futex primitive, non-recursive locks require
+ one int. Recursive locks require we identify the owning task
+ and so require in addition one int and a pointer. */
+
+typedef int omp_lock_t;
+typedef struct { int lock, count; void *owner; } omp_nest_lock_t;
+typedef int omp_lock_25_t;
+typedef struct { int owner, count; } omp_nest_lock_25_t;
diff --git a/libgomp/config/nvptx/ordered.c b/libgomp/config/nvptx/ordered.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libgomp/config/nvptx/ordered.c
diff --git a/libgomp/config/nvptx/parallel.c b/libgomp/config/nvptx/parallel.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libgomp/config/nvptx/parallel.c
diff --git a/libgomp/config/nvptx/proc.c b/libgomp/config/nvptx/proc.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libgomp/config/nvptx/proc.c
diff --git a/libgomp/config/nvptx/ptrlock.c b/libgomp/config/nvptx/ptrlock.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libgomp/config/nvptx/ptrlock.c
diff --git a/libgomp/config/nvptx/sections.c b/libgomp/config/nvptx/sections.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libgomp/config/nvptx/sections.c
diff --git a/libgomp/config/nvptx/sem.c b/libgomp/config/nvptx/sem.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libgomp/config/nvptx/sem.c
diff --git a/libgomp/config/nvptx/single.c b/libgomp/config/nvptx/single.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libgomp/config/nvptx/single.c
diff --git a/libgomp/config/nvptx/splay-tree.c b/libgomp/config/nvptx/splay-tree.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libgomp/config/nvptx/splay-tree.c
diff --git a/libgomp/config/nvptx/target.c b/libgomp/config/nvptx/target.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libgomp/config/nvptx/target.c
diff --git a/libgomp/config/nvptx/task.c b/libgomp/config/nvptx/task.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libgomp/config/nvptx/task.c
diff --git a/libgomp/config/nvptx/team.c b/libgomp/config/nvptx/team.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libgomp/config/nvptx/team.c
diff --git a/libgomp/config/nvptx/time.c b/libgomp/config/nvptx/time.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libgomp/config/nvptx/time.c
diff --git a/libgomp/config/nvptx/work.c b/libgomp/config/nvptx/work.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libgomp/config/nvptx/work.c
diff --git a/libgomp/configure b/libgomp/configure
index f1a92ba..867ce40 100755
--- a/libgomp/configure
+++ b/libgomp/configure
@@ -15041,6 +15041,9 @@ case "$host" in
*-*-rtems*)
# RTEMS supports Pthreads, but the library is not available at GCC build time.
;;
+ nvptx*-*-*)
+ # NVPTX does not support Pthreads, has its own code replacement.
+ ;;
*)
# Check to see if -pthread or -lpthread is needed. Prefer the former.
# In case the pthread.h system header is not found, this test will fail.
diff --git a/libgomp/configure.ac b/libgomp/configure.ac
index 9cf0218..b1696d0 100644
--- a/libgomp/configure.ac
+++ b/libgomp/configure.ac
@@ -179,6 +179,9 @@ case "$host" in
*-*-rtems*)
# RTEMS supports Pthreads, but the library is not available at GCC build time.
;;
+ nvptx*-*-*)
+ # NVPTX does not support Pthreads, has its own code replacement.
+ ;;
*)
# Check to see if -pthread or -lpthread is needed. Prefer the former.
# In case the pthread.h system header is not found, this test will fail.
diff --git a/libgomp/configure.tgt b/libgomp/configure.tgt
index 2970f6f..8fad977 100644
--- a/libgomp/configure.tgt
+++ b/libgomp/configure.tgt
@@ -151,6 +151,10 @@ case "${target}" in
XLDFLAGS="${XLDFLAGS} -lpthread"
;;
+ nvptx*-*-*)
+ config_path="nvptx"
+ ;;
+
*)
;;