gcc47: Add libgomp
authorJohn Marino <netbsd@marino.st>
Sat, 20 Oct 2012 06:37:48 +0000 (08:37 +0200)
committerCharlie <root@banshee.synsport.com>
Sat, 20 Oct 2012 10:10:25 +0000 (12:10 +0200)
This library was not part of the gcc 4.7 system compiler set.
By request for the purpose of supporting OpenMP with system compiler,
libgomp is being added to the gcc 4.7 library set.

contrib/gcc-4.7/README.DELETED
gnu/lib/gcc47/Makefile
gnu/lib/gcc47/libgomp/Makefile [new file with mode: 0644]
gnu/lib/gcc47/libgomp/Makefile.i386 [new file with mode: 0644]
gnu/lib/gcc47/libgomp/Makefile.x86_64 [new file with mode: 0644]
gnu/lib/gcc47/libgomp/config.h [new file with mode: 0644]
gnu/lib/gcc47/libgomp/libgomp.spec [new file with mode: 0644]

index 0009c70..af8bea1 100644 (file)
@@ -526,7 +526,21 @@ libgcc/siditi-object.mk
 libgcc/static-object.mk
 libgfortran/
 libgo/
-libgomp/
+libgomp/ChangeLog
+libgomp/ChangeLog.graphite
+libgomp/Makefile.am
+libgomp/Makefile.in
+libgomp/acinclude.m4
+libgomp/aclocal.m4
+libgomp/config/linux/
+libgomp/config/mingw32/
+libgomp/config/osf/
+libgomp/configure
+libgomp/configure.ac
+libgomp/configure.tgt
+libgomp/libgomp.info
+libgomp/libgomp.texi
+libgomp/testsuite/
 libiberty/.gitignore
 libiberty/COPYING.LIB
 libiberty/ChangeLog
index e575e9e..d684f1d 100644 (file)
@@ -5,6 +5,7 @@ SUBDIR+=        libgcc_pic
 SUBDIR+=       libgcov
 SUBDIR+=       libssp
 SUBDIR+=       libssp_nonshared
+SUBDIR+=       libgomp
 
 .if !defined(NO_CXX)
 SUBDIR+=       libstdc++
diff --git a/gnu/lib/gcc47/libgomp/Makefile b/gnu/lib/gcc47/libgomp/Makefile
new file mode 100644 (file)
index 0000000..5301403
--- /dev/null
@@ -0,0 +1,47 @@
+CFLAGS+=       -I${.CURDIR}
+CFLAGS+=       -I${.OBJDIR}
+.include "../Makefile.inc"
+.include "Makefile.${TARGET_ARCH}"
+
+.PATH: ${GCCDIR}/libgomp
+.PATH: ${GCCDIR}/libgomp/config/bsd
+.PATH: ${GCCDIR}/libgomp/config/posix
+
+CFLAGS+=       -DHAVE_CONFIG_H
+CFLAGS+=       -I${GCCDIR}/libgomp
+CFLAGS+=       -I${GCCDIR}/libgomp/config/posix
+CFLAGS+=       -I${GCCDIR}/libgcc
+LDFLAGS+=      -Wl,--version-script=${GCCDIR}/libgomp/libgomp.map
+
+LIB=           gomp
+SHLIB_MAJOR=   1
+
+# From libgomp Makefile
+libgomp_la_SOURCES = alloc.c barrier.c critical.c env.c error.c iter.c \
+       iter_ull.c loop.c loop_ull.c ordered.c parallel.c sections.c single.c \
+       task.c team.c work.c lock.c mutex.c proc.c sem.c bar.c ptrlock.c \
+       time.c fortran.c affinity.c
+
+SRCS=  ${libgomp_la_SOURCES}
+
+# generated
+SRCS+= libgomp_f.h
+
+libgomp_f.h: ${GCCDIR}/libgomp/libgomp_f.h.in
+       sed -e 's/@OMP_LOCK_25_ALIGN@/${OMP_LOCK_25_ALIGN}/g' \
+           -e 's/@OMP_LOCK_25_KIND@/${OMP_LOCK_25_KIND}/g' \
+           -e 's/@OMP_LOCK_25_SIZE@/${OMP_LOCK_25_SIZE}/g' \
+           -e 's/@OMP_LOCK_ALIGN@/${OMP_LOCK_ALIGN}/g' \
+           -e 's/@OMP_LOCK_KIND@/${OMP_LOCK_KIND}/g' \
+           -e 's/@OMP_LOCK_SIZE@/${OMP_LOCK_SIZE}/g' \
+           -e 's/@OMP_NEST_LOCK_25_ALIGN@/${OMP_NEST_LOCK_25_ALIGN}/g' \
+           -e 's/@OMP_NEST_LOCK_25_KIND@/${OMP_NEST_LOCK_25_KIND}/g' \
+           -e 's/@OMP_NEST_LOCK_25_SIZE@/${OMP_NEST_LOCK_25_SIZE}/g' \
+           -e 's/@OMP_NEST_LOCK_ALIGN@/${OMP_NEST_LOCK_ALIGN}/g' \
+           -e 's/@OMP_NEST_LOCK_KIND@/${OMP_NEST_LOCK_KIND}/g' \
+           -e 's/@OMP_NEST_LOCK_SIZE@/${OMP_NEST_LOCK_SIZE}/g' \
+           < ${.ALLSRC} > ${.TARGET}
+
+CLEANFILES+=   libgomp_f.h
+
+.include <bsd.lib.mk>
diff --git a/gnu/lib/gcc47/libgomp/Makefile.i386 b/gnu/lib/gcc47/libgomp/Makefile.i386
new file mode 100644 (file)
index 0000000..66a49bb
--- /dev/null
@@ -0,0 +1,15 @@
+# Values recorded in <build-dir>/libgomp/config.log
+# i386 platform
+
+OMP_LOCK_25_ALIGN=     4
+OMP_LOCK_25_KIND=      4
+OMP_LOCK_25_SIZE=      4
+OMP_LOCK_ALIGN=        4
+OMP_LOCK_KIND=         4
+OMP_LOCK_SIZE=         4
+OMP_NEST_LOCK_25_ALIGN= 4
+OMP_NEST_LOCK_25_KIND= 8
+OMP_NEST_LOCK_25_SIZE= 8
+OMP_NEST_LOCK_ALIGN=   4
+OMP_NEST_LOCK_KIND=    8
+OMP_NEST_LOCK_SIZE=    12
diff --git a/gnu/lib/gcc47/libgomp/Makefile.x86_64 b/gnu/lib/gcc47/libgomp/Makefile.x86_64
new file mode 100644 (file)
index 0000000..e64e7ff
--- /dev/null
@@ -0,0 +1,15 @@
+# Values recorded in <build-dir>/libgomp/config.log
+# x86-64 platform
+
+OMP_LOCK_25_ALIGN=     8
+OMP_LOCK_25_KIND=      8
+OMP_LOCK_25_SIZE=      8
+OMP_LOCK_ALIGN=        8
+OMP_LOCK_KIND=         8
+OMP_LOCK_SIZE=         8
+OMP_NEST_LOCK_25_ALIGN= 8
+OMP_NEST_LOCK_25_KIND= 8
+OMP_NEST_LOCK_25_SIZE= 16
+OMP_NEST_LOCK_ALIGN=   8
+OMP_NEST_LOCK_KIND=    8
+OMP_NEST_LOCK_SIZE=    24
diff --git a/gnu/lib/gcc47/libgomp/config.h b/gnu/lib/gcc47/libgomp/config.h
new file mode 100644 (file)
index 0000000..c553a29
--- /dev/null
@@ -0,0 +1,136 @@
+/* config.h.  Generated from config.h.in by configure.  */
+/* config.h.in.  Generated from configure.ac by autoheader.  */
+
+/* Define to 1 if the target assembler supports .symver directive. */
+#define HAVE_AS_SYMVER_DIRECTIVE 1
+
+/* Define to 1 if the target supports __attribute__((alias(...))). */
+#define HAVE_ATTRIBUTE_ALIAS 1
+
+/* Define to 1 if the target supports __attribute__((dllexport)). */
+/* #undef HAVE_ATTRIBUTE_DLLEXPORT */
+
+/* Define to 1 if the target supports __attribute__((visibility(...))). */
+#define HAVE_ATTRIBUTE_VISIBILITY 1
+
+/* Define if the POSIX Semaphores do not work on your system. */
+/* #undef HAVE_BROKEN_POSIX_SEMAPHORES */
+
+/* Define to 1 if the target assembler supports thread-local storage. */
+/* #undef HAVE_CC_TLS */
+
+/* Define to 1 if you have the `clock_gettime' function. */
+#define HAVE_CLOCK_GETTIME 1
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#define HAVE_DLFCN_H 1
+
+/* Define to 1 if you have the `getloadavg' function. */
+#define HAVE_GETLOADAVG 1
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
+
+/* Define if pthread_{,attr_}{g,s}etaffinity_np is supported. */
+/* #undef HAVE_PTHREAD_AFFINITY_NP */
+
+/* Define to 1 if you have the <semaphore.h> header file. */
+#define HAVE_SEMAPHORE_H 1
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the `strtoull' function. */
+#define HAVE_STRTOULL 1
+
+/* Define to 1 if the target runtime linker supports binding the same symbol
+   to different versions. */
+#define HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT 1
+
+/* Define to 1 if the target supports __sync_*_compare_and_swap */
+#define HAVE_SYNC_BUILTINS 1
+
+/* Define to 1 if you have the <sys/loadavg.h> header file. */
+/* #undef HAVE_SYS_LOADAVG_H */
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#define HAVE_SYS_TIME_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if the target supports thread-local storage. */
+#define HAVE_TLS 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define to 1 if GNU symbol versioning is used for libgomp. */
+#define LIBGOMP_GNU_SYMBOL_VERSIONING 1
+
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#define LT_OBJDIR ".libs/"
+
+/* Name of package */
+#define PACKAGE "libgomp"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT ""
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "GNU OpenMP Runtime Library"
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "GNU OpenMP Runtime Library 1.0"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "libgomp"
+
+/* Define to the home page for this package. */
+#define PACKAGE_URL "http://www.gnu.org/software/libgomp/"
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "1.0"
+
+/* The size of `char', as computed by sizeof. */
+/* #undef SIZEOF_CHAR */
+
+/* The size of `int', as computed by sizeof. */
+/* #undef SIZEOF_INT */
+
+/* The size of `long', as computed by sizeof. */
+/* #undef SIZEOF_LONG */
+
+/* The size of `short', as computed by sizeof. */
+/* #undef SIZEOF_SHORT */
+
+/* The size of `void *', as computed by sizeof. */
+/* #undef SIZEOF_VOID_P */
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Define if you can safely include both <string.h> and <strings.h>. */
+#define STRING_WITH_STRINGS 1
+
+/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
+#define TIME_WITH_SYS_TIME 1
+
+/* Version number of package */
+#define VERSION "1.0"
diff --git a/gnu/lib/gcc47/libgomp/libgomp.spec b/gnu/lib/gcc47/libgomp/libgomp.spec
new file mode 100644 (file)
index 0000000..7102255
--- /dev/null
@@ -0,0 +1,3 @@
+# This spec file is read by gcc when linking.  It is used to specify the
+# standard libraries we need in order to link with -fopenmp.
+*link_gomp: -lgomp %{static: }