On Linux, -p and -pg do not make gcc link against libc_p.a, only -profile does (as documented in r11246), and thus people expect -p and -pg to work without libc_p.a installed (it is actually even not available any more in Debian). We should thus rather make the Hurd port do the same to avoid build failures.
Samuel * gcc/config/gnu.h (LIB_SPEC) [-p|-pg]: Link with -lc instead of -lc_p. * gcc/config/i386/gnu.h (STARTFILE_SPEC) [-p|-pg]: Use gcrt1.o instead of gcrt0.o. --- gcc/config/gnu.h.orig 2015-09-16 00:43:09.785570853 +0200 +++ gcc/config/gnu.h 2015-09-16 00:43:12.513550418 +0200 @@ -25,7 +25,7 @@ /* Default C library spec. */ #undef LIB_SPEC -#define LIB_SPEC "%{pthread:-lpthread} %{pg|p|profile:-lc_p;:-lc}" +#define LIB_SPEC "%{pthread:-lpthread} %{profile:-lc_p;:-lc}" #undef GNU_USER_TARGET_OS_CPP_BUILTINS #define GNU_USER_TARGET_OS_CPP_BUILTINS() \ --- gcc/config/i386/gnu.h.orig 2015-09-17 21:41:13.000000000 +0000 +++ gcc/config/i386/gnu.h 2015-09-17 23:03:57.000000000 +0000 @@ -27,11 +27,11 @@ #undef STARTFILE_SPEC #if defined HAVE_LD_PIE #define STARTFILE_SPEC \ - "%{!shared: %{pg|p|profile:gcrt0.o%s;pie:Scrt1.o%s;static:crt0.o%s;:crt1.o%s}} \ + "%{!shared: %{pg|p:gcrt1.o%s;profile:gcrt0.o%s;pie:Scrt1.o%s;static:crt0.o%s;:crt1.o%s}} \ crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}" #else #define STARTFILE_SPEC \ - "%{!shared: %{pg|p|profile:gcrt0.o%s;static:crt0.o%s;:crt1.o%s}} \ + "%{!shared: %{pg|p:gcrt1.o%s;profile:gcrt0.o%s;static:crt0.o%s;:crt1.o%s}} \ crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}" #endif