yann@2149: diff -durN gcc-4.4.5.orig/gcc/config/freebsd-spec.h gcc-4.4.5/gcc/config/freebsd-spec.h yann@2149: --- gcc-4.4.5.orig/gcc/config/freebsd-spec.h 2010-10-09 23:09:53.000000000 +0200 yann@2149: +++ gcc-4.4.5/gcc/config/freebsd-spec.h 2010-10-09 23:10:02.000000000 +0200 yann@2149: @@ -86,9 +86,10 @@ yann@2149: #define FBSD_STARTFILE_SPEC \ yann@2149: "%{!shared: \ yann@2149: %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \ yann@2149: - %{!p:%{profile:gcrt1.o%s} \ yann@2149: - %{!profile:crt1.o%s}}}} \ yann@2149: - crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}" yann@2149: + %{!p:%{profile:gcrt1.o%s} \ yann@2149: + %{!profile:crt1.o%s}}}} \ yann@2149: + crti.o%s \ yann@2149: + %{static:crtbeginT.o%s;shared:crtbeginS.o%s;:crtbegin.o%s}" yann@2149: yann@2149: /* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on yann@2149: the magical crtend.o file (see crtstuff.c) which provides part of yann@2149: @@ -126,7 +127,8 @@ yann@2149: %{pg: -lc_p} \ yann@2149: }" yann@2149: #else yann@2149: -#if FBSD_MAJOR < 5 yann@2149: +#include yann@2149: +#if __FreeBSD_version < 500016 yann@2149: #define FBSD_LIB_SPEC " \ yann@2149: %{!shared: \ yann@2149: %{!pg: \ yann@2149: @@ -136,17 +138,34 @@ yann@2149: %{!pthread:-lc_p} \ yann@2149: %{pthread:-lc_r_p}} \ yann@2149: }" yann@2149: -#else yann@2149: +#elif __FreeBSD_version < 700022 yann@2149: #define FBSD_LIB_SPEC " \ yann@2149: %{!shared: \ yann@2149: %{!pg: %{pthread:-lpthread} -lc} \ yann@2149: %{pg: %{pthread:-lpthread_p} -lc_p} \ yann@2149: }" yann@2149: +#else yann@2149: +#define FBSD_LIB_SPEC " \ yann@2149: + %{!shared: \ yann@2149: + %{!pg: %{pthread:-lpthread} -lc} \ yann@2149: + %{pg: %{pthread:-lpthread_p} -lc_p}} \ yann@2149: + %{shared: \ yann@2149: + %{pthread:-lpthread} -lc} \ yann@2149: + " yann@2149: #endif yann@2149: #endif yann@2149: yann@2149: -#if FBSD_MAJOR < 6 yann@2149: +#if FBSD_MAJOR < 5 yann@2149: #define FBSD_DYNAMIC_LINKER "/usr/libexec/ld-elf.so.1" yann@2149: #else yann@2149: #define FBSD_DYNAMIC_LINKER "/libexec/ld-elf.so.1" yann@2149: #endif yann@2149: + yann@2149: +#if defined(HAVE_LD_EH_FRAME_HDR) yann@2149: +#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " yann@2149: +#endif yann@2149: + yann@2149: +/* Use --as-needed -lgcc_s for eh support. */ yann@2149: +#ifdef HAVE_LD_AS_NEEDED yann@2149: +#define USE_LD_AS_NEEDED 1 yann@2149: +#endif