From 1eae45747a6ababd8e37f6086e5889db2c2648f5 Mon Sep 17 00:00:00 2001 From: Gerald Pfeifer Date: Mon, 28 May 2018 23:20:15 +0000 Subject: [PATCH] config.gcc: Identify FreeBSD 3.x and 4.x as unsupported. * config.gcc: Identify FreeBSD 3.x and 4.x as unsupported. * config/freebsd-spec.h (FBSD_LIB_SPEC): Only consider FreeBSD 5 and later. From-SVN: r260852 --- gcc/ChangeLog | 7 +++++++ gcc/config.gcc | 2 +- gcc/config/freebsd-spec.h | 28 +++++++--------------------- 3 files changed, 15 insertions(+), 22 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8791af2982ee..686db9370f34 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2018-05-29 Gerald Pfeifer + + * config.gcc: Identify FreeBSD 3.x and 4.x as unsupported. + + * config/freebsd-spec.h (FBSD_LIB_SPEC): Only consider FreeBSD 5 + and later. + 2018-05-28 Bernd Edlinger * tree-dump.c (dump_node): Use splay_tree_delete_pointers. diff --git a/gcc/config.gcc b/gcc/config.gcc index d73e2cbc99a1..4d9f9c6ea294 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -268,7 +268,7 @@ case ${target} in | pdp11-*-bsd \ | sparc-hal-solaris2* \ | thumb-*-* \ - | *-*-freebsd[12] | *-*-freebsd[12].* \ + | *-*-freebsd[12] | *-*-freebsd[1234].* \ | *-*-freebsd*aout* \ | *-*-linux*aout* \ | *-*-linux*coff* \ diff --git a/gcc/config/freebsd-spec.h b/gcc/config/freebsd-spec.h index 45d69a685b1b..26ed71132b53 100644 --- a/gcc/config/freebsd-spec.h +++ b/gcc/config/freebsd-spec.h @@ -79,15 +79,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #define FBSD_ENDFILE_SPEC \ "%{shared|pie:crtendS.o%s;:crtend.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 the threading lib 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 +/* When threads support is requested include both -lc and the threading + library (which assumes FreeBSD 5.x or later, __FreeBSD_version 500016 + to be precise). + And 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 @@ -106,17 +101,6 @@ is built with the --enable-threads configure-time option.} \ %{pg: -lc_p} \ }" #else -#if FBSD_MAJOR < 5 -#define FBSD_LIB_SPEC " \ - %{!shared: \ - %{!pg: \ - %{!pthread:-lc} \ - %{pthread:-lc_r}} \ - %{pg: \ - %{!pthread:-lc_p} \ - %{pthread:-lc_r_p}} \ - }" -#else #define FBSD_LIB_SPEC " \ %{!shared: \ %{!pg: %{pthread:-lpthread} -lc} \ @@ -126,7 +110,9 @@ is built with the --enable-threads configure-time option.} \ %{pthread:-lpthread} -lc \ }" #endif -#endif + +/* To make matters interesting, we can't actually use __FreeBSD_version + provided by directly since it breaks cross-compiling. */ #if FBSD_MAJOR < 6 #define FBSD_DYNAMIC_LINKER "/usr/libexec/ld-elf.so.1" -- 2.43.5