diff options
author | deischen <deischen@FreeBSD.org> | 2003-09-01 05:31:33 +0000 |
---|---|---|
committer | deischen <deischen@FreeBSD.org> | 2003-09-01 05:31:33 +0000 |
commit | 591fec46c46db5741955ea71f2571001a039f4d0 (patch) | |
tree | 7a9f2c2c0831aa64842524279e54359e6ddf0199 /contrib/gcc | |
parent | 284da805ed783bce2fb095603a05350576b5c7ba (diff) | |
download | FreeBSD-src-591fec46c46db5741955ea71f2571001a039f4d0.zip FreeBSD-src-591fec46c46db5741955ea71f2571001a039f4d0.tar.gz |
Backout rev 1.10.
Requested by: obrien
Diffstat (limited to 'contrib/gcc')
-rw-r--r-- | contrib/gcc/config/freebsd-spec.h | 40 |
1 files changed, 38 insertions, 2 deletions
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 <osreldate.h> + 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 <sys/param.h> +#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 |