config.gcc: Identify FreeBSD 3.x and 4.x as unsupported.
authorGerald Pfeifer <gerald@pfeifer.com>
Mon, 28 May 2018 23:20:15 +0000 (23:20 +0000)
committerGerald Pfeifer <gerald@gcc.gnu.org>
Mon, 28 May 2018 23:20:15 +0000 (23:20 +0000)
* 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
gcc/config.gcc
gcc/config/freebsd-spec.h

index 8791af2982ee485f7c806d244b4f3c35fbbcc99b..686db9370f348101aa01ece93a56b45585cb6320 100644 (file)
@@ -1,3 +1,10 @@
+2018-05-29  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * 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  <bernd.edlinger@hotmail.de>
 
        * tree-dump.c (dump_node): Use splay_tree_delete_pointers.
index d73e2cbc99a1ec9ce082036faca73c86161e313a..4d9f9c6ea294b0b7c13d1c1bb311223ca9d0102a 100644 (file)
@@ -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*                     \
index 45d69a685b1bf20d9a1fb85540f861cb89d290c7..26ed71132b534052ceb4221a8794de2cba75539d 100644 (file)
@@ -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
-   <osreldate.h> 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 <osreldate.h> directly since it breaks cross-compiling.  */
 
 #if FBSD_MAJOR < 6
 #define FBSD_DYNAMIC_LINKER "/usr/libexec/ld-elf.so.1"