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