Empty libgomp for nvptx
authorThomas Schwinge <thomas@codesourcery.com>
Mon, 10 Aug 2015 15:53:33 +0000 (17:53 +0200)
committerThomas Schwinge <tschwinge@gcc.gnu.org>
Mon, 10 Aug 2015 15:53:33 +0000 (17:53 +0200)
* 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

43 files changed:
ChangeLog
configure
configure.ac
libgomp/ChangeLog
libgomp/config/nvptx/affinity.c [new file with mode: 0644]
libgomp/config/nvptx/alloc.c [new file with mode: 0644]
libgomp/config/nvptx/bar.c [new file with mode: 0644]
libgomp/config/nvptx/barrier.c [new file with mode: 0644]
libgomp/config/nvptx/critical.c [new file with mode: 0644]
libgomp/config/nvptx/env.c [new file with mode: 0644]
libgomp/config/nvptx/error.c [new file with mode: 0644]
libgomp/config/nvptx/fortran.c [new file with mode: 0644]
libgomp/config/nvptx/iter.c [new file with mode: 0644]
libgomp/config/nvptx/iter_ull.c [new file with mode: 0644]
libgomp/config/nvptx/libgomp-plugin.c [new file with mode: 0644]
libgomp/config/nvptx/lock.c [new file with mode: 0644]
libgomp/config/nvptx/loop.c [new file with mode: 0644]
libgomp/config/nvptx/loop_ull.c [new file with mode: 0644]
libgomp/config/nvptx/mutex.c [new file with mode: 0644]
libgomp/config/nvptx/oacc-async.c [new file with mode: 0644]
libgomp/config/nvptx/oacc-cuda.c [new file with mode: 0644]
libgomp/config/nvptx/oacc-host.c [new file with mode: 0644]
libgomp/config/nvptx/oacc-init.c [new file with mode: 0644]
libgomp/config/nvptx/oacc-mem.c [new file with mode: 0644]
libgomp/config/nvptx/oacc-parallel.c [new file with mode: 0644]
libgomp/config/nvptx/oacc-plugin.c [new file with mode: 0644]
libgomp/config/nvptx/omp-lock.h [new file with mode: 0644]
libgomp/config/nvptx/ordered.c [new file with mode: 0644]
libgomp/config/nvptx/parallel.c [new file with mode: 0644]
libgomp/config/nvptx/proc.c [new file with mode: 0644]
libgomp/config/nvptx/ptrlock.c [new file with mode: 0644]
libgomp/config/nvptx/sections.c [new file with mode: 0644]
libgomp/config/nvptx/sem.c [new file with mode: 0644]
libgomp/config/nvptx/single.c [new file with mode: 0644]
libgomp/config/nvptx/splay-tree.c [new file with mode: 0644]
libgomp/config/nvptx/target.c [new file with mode: 0644]
libgomp/config/nvptx/task.c [new file with mode: 0644]
libgomp/config/nvptx/team.c [new file with mode: 0644]
libgomp/config/nvptx/time.c [new file with mode: 0644]
libgomp/config/nvptx/work.c [new file with mode: 0644]
libgomp/configure
libgomp/configure.ac
libgomp/configure.tgt

index bd0f35e34cec1eea0ca0198b7a022c0ec8a3b76d..6d3a8a04e7ca83a7cb2093f096c5922c260537c9 100644 (file)
--- 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.
index 6d7152eac67baa8482bb4ef5621fc950acd20715..79257fdc28ffdccd3f6fdb181c3b8c9246f2f7e7 100755 (executable)
--- 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*-*-*)
index fbc49ce5b803111299d778dbe15d7ed5abd033dd..452fc057a31aa77ccc5204dac68e3f153eefc2bf 100644 (file)
@@ -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*-*-*)
index 3b60290b0bcb1a8e32edf406866c3ca5556660ab..084aabddb065c66cff6ebe08a6427da295d4f52a 100644 (file)
@@ -1,3 +1,47 @@
+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 (file)
index 0000000..e69de29
diff --git a/libgomp/config/nvptx/alloc.c b/libgomp/config/nvptx/alloc.c
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/libgomp/config/nvptx/bar.c b/libgomp/config/nvptx/bar.c
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/libgomp/config/nvptx/barrier.c b/libgomp/config/nvptx/barrier.c
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/libgomp/config/nvptx/critical.c b/libgomp/config/nvptx/critical.c
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/libgomp/config/nvptx/env.c b/libgomp/config/nvptx/env.c
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/libgomp/config/nvptx/error.c b/libgomp/config/nvptx/error.c
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/libgomp/config/nvptx/fortran.c b/libgomp/config/nvptx/fortran.c
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/libgomp/config/nvptx/iter.c b/libgomp/config/nvptx/iter.c
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/libgomp/config/nvptx/iter_ull.c b/libgomp/config/nvptx/iter_ull.c
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/libgomp/config/nvptx/libgomp-plugin.c b/libgomp/config/nvptx/libgomp-plugin.c
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/libgomp/config/nvptx/lock.c b/libgomp/config/nvptx/lock.c
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/libgomp/config/nvptx/loop.c b/libgomp/config/nvptx/loop.c
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/libgomp/config/nvptx/loop_ull.c b/libgomp/config/nvptx/loop_ull.c
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/libgomp/config/nvptx/mutex.c b/libgomp/config/nvptx/mutex.c
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/libgomp/config/nvptx/oacc-async.c b/libgomp/config/nvptx/oacc-async.c
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/libgomp/config/nvptx/oacc-cuda.c b/libgomp/config/nvptx/oacc-cuda.c
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/libgomp/config/nvptx/oacc-host.c b/libgomp/config/nvptx/oacc-host.c
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/libgomp/config/nvptx/oacc-init.c b/libgomp/config/nvptx/oacc-init.c
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/libgomp/config/nvptx/oacc-mem.c b/libgomp/config/nvptx/oacc-mem.c
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/libgomp/config/nvptx/oacc-parallel.c b/libgomp/config/nvptx/oacc-parallel.c
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/libgomp/config/nvptx/oacc-plugin.c b/libgomp/config/nvptx/oacc-plugin.c
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/libgomp/config/nvptx/omp-lock.h b/libgomp/config/nvptx/omp-lock.h
new file mode 100644 (file)
index 0000000..2ca7c5e
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
diff --git a/libgomp/config/nvptx/parallel.c b/libgomp/config/nvptx/parallel.c
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/libgomp/config/nvptx/proc.c b/libgomp/config/nvptx/proc.c
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/libgomp/config/nvptx/ptrlock.c b/libgomp/config/nvptx/ptrlock.c
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/libgomp/config/nvptx/sections.c b/libgomp/config/nvptx/sections.c
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/libgomp/config/nvptx/sem.c b/libgomp/config/nvptx/sem.c
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/libgomp/config/nvptx/single.c b/libgomp/config/nvptx/single.c
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/libgomp/config/nvptx/splay-tree.c b/libgomp/config/nvptx/splay-tree.c
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/libgomp/config/nvptx/target.c b/libgomp/config/nvptx/target.c
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/libgomp/config/nvptx/task.c b/libgomp/config/nvptx/task.c
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/libgomp/config/nvptx/team.c b/libgomp/config/nvptx/team.c
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/libgomp/config/nvptx/time.c b/libgomp/config/nvptx/time.c
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/libgomp/config/nvptx/work.c b/libgomp/config/nvptx/work.c
new file mode 100644 (file)
index 0000000..e69de29
index f1a92ba9de4a5ebf0a8db6249f90c4611bfb1798..867ce40c371a1f41e2f87333207bd14b62401bcf 100755 (executable)
@@ -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.
index 9cf0218966564c478ef7f4c2075ca58042d94330..b1696d055148fc1b5bd138a8f8e04c5321060c68 100644 (file)
@@ -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.
index 2970f6f7b82c6f2510836e3a2af4aa7408ff51e5..8fad977a2117ae76325e2b36694a706c60d628d9 100644 (file)
@@ -151,6 +151,10 @@ case "${target}" in
        XLDFLAGS="${XLDFLAGS} -lpthread"
        ;;
 
+  nvptx*-*-*)
+       config_path="nvptx"
+       ;;
+
   *)
        ;;