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? 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