From 591fec46c46db5741955ea71f2571001a039f4d0 Mon Sep 17 00:00:00 2001 From: deischen Date: Mon, 1 Sep 2003 05:31:33 +0000 Subject: Backout rev 1.10. Requested by: obrien --- contrib/gcc/config/freebsd-spec.h | 40 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 2 deletions(-) (limited to 'contrib/gcc/config') diff --git a/contrib/gcc/config/freebsd-spec.h b/contrib/gcc/config/freebsd-spec.h index bbb87f6..42311f2 100644 --- a/contrib/gcc/config/freebsd-spec.h +++ b/contrib/gcc/config/freebsd-spec.h @@ -127,13 +127,49 @@ Boston, MA 02111-1307, USA. */ %{shared:crtendS.o%s} \ crtn.o%s " +/* Provide a LIB_SPEC appropriate for FreeBSD as configured and as + required by the user-land thread model. Before __FreeBSD_version + 500016, select the appropriate libc, depending on whether we're + doing profiling or need threads support. At __FreeBSD_version + 500016 and later, when threads support is requested include both + -lc and -lc_r instead of only -lc_r. To make matters interesting, + we can't actually use __FreeBSD_version provided by + directly since it breaks cross-compiling. As a final twist, make + it a hard error if -pthread is provided on the command line and gcc + was configured with --disable-threads (this will help avoid bug + reports from users complaining about threading when they + misconfigured the gcc bootstrap but are later consulting FreeBSD + manual pages that refer to the mythical -pthread option). */ + /* Provide a LIB_SPEC appropriate for FreeBSD. Just select the appropriate - libc, depending on whether we're doing profiling or not. + libc, depending on whether we're doing profiling or need threads support. (simular to the default, except no -lg, and no -p). */ +#ifdef FBSD_NO_THREADS #define FBSD_LIB_SPEC " \ - %{pthread: %eThe -pthread option is deprecated.} \ + %{pthread: %eThe -pthread option is only supported on FreeBSD when gcc \ +is built with the --enable-threads configure-time option.} \ %{!shared: \ %{!pg: -lc} \ %{pg: -lc_p} \ }" +#else +#include +#if __FreeBSD_version >= 500016 +#define FBSD_LIB_SPEC " \ + %{!shared: \ + %{!pg: %{pthread:-lc_r} -lc} \ + %{pg: %{pthread:-lc_r_p} -lc_p} \ + }" +#else +#define FBSD_LIB_SPEC " \ + %{!shared: \ + %{!pg: \ + %{!pthread:-lc} \ + %{pthread:-lc_r}} \ + %{pg: \ + %{!pthread:-lc_p} \ + %{pthread:-lc_r_p}} \ + }" +#endif +#endif -- cgit v1.1