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/libssp | |
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/libssp')
-rw-r--r-- | gnu/lib/libssp/Makefile | 33 | ||||
-rw-r--r-- | gnu/lib/libssp/config.h | 87 | ||||
-rw-r--r-- | gnu/lib/libssp/libssp_nonshared/Makefile | 18 |
3 files changed, 138 insertions, 0 deletions
diff --git a/gnu/lib/libssp/Makefile b/gnu/lib/libssp/Makefile new file mode 100644 index 0000000..aa027e4 --- /dev/null +++ b/gnu/lib/libssp/Makefile @@ -0,0 +1,33 @@ +# $FreeBSD$ + +GCCDIR= ${.CURDIR}/../../../contrib/gcc +GCCLIB= ${.CURDIR}/../../../contrib/gcclibs +SRCDIR= ${GCCLIB}/libssp + +.PATH: ${SRCDIR} ${SRCDIR}/ssp + +LIB= ssp +SHLIB_MAJOR= 0 +SHLIBDIR?= /lib +NO_PROFILE= + +SRCS= ssp.c gets-chk.c memcpy-chk.c memmove-chk.c mempcpy-chk.c \ + memset-chk.c snprintf-chk.c sprintf-chk.c stpcpy-chk.c \ + strcat-chk.c strcpy-chk.c strncat-chk.c strncpy-chk.c \ + vsnprintf-chk.c vsprintf-chk.c + +CFLAGS+= -DHAVE_CONFIG_H +CFLAGS+= -I${.CURDIR} -I${SRCDIR} -I${GCCLIB}/include + +VERSION_MAP= ${SRCDIR}/ssp.map + + +INCS= ssp.h string.h stdio.h unistd.h +INCSDIR=${INCLUDEDIR}/ssp + +ssp.h: ssp.h.in + sed -e 's/@ssp_have_usable_vsnprintf@/define/' ${.ALLSRC} > ${.TARGET} + +SUBDIR+= libssp_nonshared + +.include <bsd.lib.mk> diff --git a/gnu/lib/libssp/config.h b/gnu/lib/libssp/config.h new file mode 100644 index 0000000..680f107 --- /dev/null +++ b/gnu/lib/libssp/config.h @@ -0,0 +1,87 @@ +/* config.h. Generated by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ +/* $FreeBSD$ */ + +/* Define to 1 if you have the <alloca.h> header file. */ +/* #undef HAVE_ALLOCA_H */ + +/* Define to 1 if you have the <fcntl.h> header file. */ +#define HAVE_FCNTL_H 1 + +/* __attribute__((visibility ("hidden"))) supported */ +#define HAVE_HIDDEN_VISIBILITY 1 + +/* Define to 1 if you have the <inttypes.h> header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the <limits.h> header file. */ +#define HAVE_LIMITS_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 `mempcpy' function. */ +/* #undef HAVE_MEMPCPY */ + +/* Define to 1 if you have the <paths.h> header file. */ +#define HAVE_PATHS_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 <stdio.h> header file. */ +#define HAVE_STDIO_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 `strncat' function. */ +#define HAVE_STRNCAT 1 + +/* Define to 1 if you have the `strncpy' function. */ +#define HAVE_STRNCPY 1 + +/* Define to 1 if you have the <syslog.h> header file. */ +#define HAVE_SYSLOG_H 1 + +/* 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/types.h> header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the <unistd.h> header file. */ +#define HAVE_UNISTD_H 1 + +/* vsnprintf is present and works */ +#define HAVE_USABLE_VSNPRINTF 1 + +/* Name of package */ +#define PACKAGE "libssp" + +/* 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 "libssp" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "libssp 1.0" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libssp" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "1.0" + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +#define VERSION "1.0" diff --git a/gnu/lib/libssp/libssp_nonshared/Makefile b/gnu/lib/libssp/libssp_nonshared/Makefile new file mode 100644 index 0000000..1dcd54f --- /dev/null +++ b/gnu/lib/libssp/libssp_nonshared/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ + +GCCDIR= ${.CURDIR}/../../../../contrib/gcc +GCCLIB= ${.CURDIR}/../../../../contrib/gcclibs + +.PATH: ${GCCLIB}/libssp ${GCCLIB}/libssp/ssp + +LIB= ssp_nonshared +NO_PIC= +NO_PROFILE= + +SRCS= ssp-local.c + +CFLAGS+= -DHAVE_CONFIG_H +CFLAGS+= -I${.CURDIR}/.. -I${GCCLIB}/libssp -I${GCCLIB}/include +CFLAGS+= -fPIC -DPIC + +.include <bsd.lib.mk> |