summaryrefslogtreecommitdiffstats
path: root/gnu/lib/libgomp
diff options
context:
space:
mode:
authorkan <kan@FreeBSD.org>2007-05-19 04:25:59 +0000
committerkan <kan@FreeBSD.org>2007-05-19 04:25:59 +0000
commitebf45ed0c9ac33acf511d695cfa9c23664f0096f (patch)
treec672216e954c97dc45e1ed2b7fc903556dfde7b5 /gnu/lib/libgomp
parentbbc340f2f6b6d86b4e93b75cf2dc5f1ca503724b (diff)
downloadFreeBSD-src-ebf45ed0c9ac33acf511d695cfa9c23664f0096f.zip
FreeBSD-src-ebf45ed0c9ac33acf511d695cfa9c23664f0096f.tar.gz
Update bmake glue to build GCC 4.2.
Also: Switch FreeBSD to use libgcc_s.so.1. Use dl_iterate_phdr to locate shared objects' exception frame info instead of depending on older register_frame_info machinery. This allows us to avoid depending on libgcc_s.so.1 in binaries that do not use exception handling directly. As an additional benefit it breaks circular libc <=> libgcc_s.so.1 dependency too. Build newly added libgomp.so.1 library, the runtime support bits for OpenMP. Build LGPLed libssp library. Our libc provides our own BSD-licensed SSP callbacks implementation, so this library is only built to benefit applications that have hadcoded knowledge of libssp.so and libssp_nonshared.a. When linked in from command line, these libraries override libc implementation.
Diffstat (limited to 'gnu/lib/libgomp')
-rw-r--r--gnu/lib/libgomp/Makefile58
-rw-r--r--gnu/lib/libgomp/config.h109
2 files changed, 167 insertions, 0 deletions
diff --git a/gnu/lib/libgomp/Makefile b/gnu/lib/libgomp/Makefile
new file mode 100644
index 0000000..e0e111e
--- /dev/null
+++ b/gnu/lib/libgomp/Makefile
@@ -0,0 +1,58 @@
+# $FreeBSD$
+
+GCCDIR= ${.CURDIR}/../../../contrib/gcc
+GCCLIB= ${.CURDIR}/../../../contrib/gcclibs
+SRCDIR= ${GCCLIB}/libgomp
+
+.PATH: ${SRCDIR} ${SRCDIR}/config/posix
+
+LIB= gomp
+SHLIB_MAJOR= 1
+
+SRCS= alloc.c barrier.c critical.c env.c \
+ error.c iter.c loop.c ordered.c parallel.c sections.c \
+ single.c team.c work.c lock.c mutex.c proc.c sem.c \
+ bar.c time.c fortran.c
+SRCS+= gstdint.h libgomp_f.h omp.h omp_lib.h
+
+CFLAGS+= -DHAVE_CONFIG_H
+CFLAGS+= -I${.CURDIR} -I. -I${SRCDIR} -I${SRCDIR}/config/posix
+
+VERSION_MAP= ${SRCDIR}/libgomp.map
+
+# Target-specific OpenMP configuration
+.if ${MACHINE_ARCH} == arm || ${MACHINE_ARCH} == i386 || \
+ ${MACHINE_ARCH} == powerpc
+OMP_LOCK_ALIGN = 4
+OMP_LOCK_KIND= 4
+OMP_LOCK_SIZE= 4
+OMP_NEST_LOCK_ALIGN= 4
+OMP_NEST_LOCK_KIND= 8
+OMP_NEST_LOCK_SIZE= 8
+.else
+OMP_LOCK_ALIGN = 8
+OMP_LOCK_KIND= 8
+OMP_LOCK_SIZE= 8
+OMP_NEST_LOCK_ALIGN= 8
+OMP_NEST_LOCK_KIND= 8
+OMP_NEST_LOCK_SIZE= 16
+.endif
+
+gstdint.h:
+ echo '#include <sys/types.h>' > ${.TARGET}
+ echo '#include <stdint.h>' >> ${.TARGET}
+CLEANFILES+= gstdint.h
+
+.for HFILE in libgomp_f.h omp.h omp_lib.h
+${HFILE}: ${SRCDIR}/${HFILE}.in
+ sed -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_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+= ${HFILE}
+.endfor
+
+.include <bsd.lib.mk>
diff --git a/gnu/lib/libgomp/config.h b/gnu/lib/libgomp/config.h
new file mode 100644
index 0000000..2616a50
--- /dev/null
+++ b/gnu/lib/libgomp/config.h
@@ -0,0 +1,109 @@
+/* config.h. Generated by configure. */
+/* config.h.in. Generated from configure.ac by autoheader. */
+/* $FreeBSD$ */
+
+/* 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 you have the `clock_gettime' function. */
+#define HAVE_CLOCK_GETTIME 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 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 the target supports __sync_*_compare_and_swap */
+#ifdef __amd64__
+#define HAVE_SYNC_BUILTINS 1
+#endif
+
+/* 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. */
+#if !defined(__sparc64__) && !defined(__arm__)
+#define HAVE_TLS 1
+#endif
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* 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 version of this package. */
+#define PACKAGE_VERSION "1.0"
+
+/* The size of a `char', as computed by sizeof. */
+/* #undef SIZEOF_CHAR */
+
+/* The size of a `int', as computed by sizeof. */
+/* #undef SIZEOF_INT */
+
+/* The size of a `long', as computed by sizeof. */
+/* #undef SIZEOF_LONG */
+
+/* The size of a `short', as computed by sizeof. */
+/* #undef SIZEOF_SHORT */
+
+/* The size of a `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 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"
OpenPOWER on IntegriCloud