On 28.05.18 08:57, Gerald Pfeifer wrote:
On Thu, 24 May 2018, Jeff Law wrote:
Happy to trust you on what versions can be dropped and the resulting
simplifications.

Is it worth noting those old versions as deprecated/obsolete in config.gcc?

Good catch, Jeff, thanks.  Updated patch (also wrt. comments) below.

Andreas, anyhing from your side?

Ok.
Thanks,
Andreas

Gerald

2018-05-27  Gerald Pfeifer  <ger...@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.

Index: gcc/config.gcc
===================================================================
--- gcc/config.gcc      (revision 260808)
+++ gcc/config.gcc      (working copy)
@@ -268,7 +268,7 @@
   | pdp11-*-bsd                                \
   | sparc-hal-solaris2*                        \
   | thumb-*-*                          \
- | *-*-freebsd[12] | *-*-freebsd[12].* \
+ | *-*-freebsd[12] | *-*-freebsd[1234].* \
   | *-*-freebsd*aout*                  \
   | *-*-linux*aout*                    \
   | *-*-linux*coff*                    \
Index: gcc/config/freebsd-spec.h
===================================================================
--- gcc/config/freebsd-spec.h   (revision 260808)
+++ gcc/config/freebsd-spec.h   (working copy)
@@ -79,15 +79,10 @@
  #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,19 +101,8 @@
      %{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}                                  \
      %{pg:  %{pthread:-lpthread_p} -lc_p}                              \
    }                                                                   \
@@ -126,8 +110,10 @@
      %{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"
  #else


Reply via email to