diff options
author | kan <kan@FreeBSD.org> | 2007-05-19 04:25:59 +0000 |
---|---|---|
committer | kan <kan@FreeBSD.org> | 2007-05-19 04:25:59 +0000 |
commit | ebf45ed0c9ac33acf511d695cfa9c23664f0096f (patch) | |
tree | c672216e954c97dc45e1ed2b7fc903556dfde7b5 /gnu/lib/libgomp | |
parent | bbc340f2f6b6d86b4e93b75cf2dc5f1ca503724b (diff) | |
download | FreeBSD-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/Makefile | 58 | ||||
-rw-r--r-- | gnu/lib/libgomp/config.h | 109 |
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" |