patches/gcc/4.4.0/290-freebsd.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Jan 12 19:24:03 2010 +0100 (2010-01-12)
changeset 1761 88020b2c3246
permissions -rw-r--r--
scripts/functions: change handling of nochdir

- 'nochdir' must be the first option
- have systematic pushd/popd, even if nochdir
     1 diff -durN gcc-4.4.0.orig/gcc/config/freebsd-spec.h gcc-4.4.0/gcc/config/freebsd-spec.h
     2 --- gcc-4.4.0.orig/gcc/config/freebsd-spec.h	2009-05-27 21:38:47.000000000 +0200
     3 +++ gcc-4.4.0/gcc/config/freebsd-spec.h	2009-05-27 21:38:47.000000000 +0200
     4 @@ -86,9 +86,10 @@
     5  #define FBSD_STARTFILE_SPEC \
     6    "%{!shared: \
     7       %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \
     8 -		       %{!p:%{profile:gcrt1.o%s} \
     9 -			 %{!profile:crt1.o%s}}}} \
    10 -   crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"
    11 +	%{!p:%{profile:gcrt1.o%s} \
    12 +	 %{!profile:crt1.o%s}}}} \
    13 +   crti.o%s \
    14 +   %{static:crtbeginT.o%s;shared:crtbeginS.o%s;:crtbegin.o%s}"
    15  
    16  /* Provide a ENDFILE_SPEC appropriate for FreeBSD.  Here we tack on
    17     the magical crtend.o file (see crtstuff.c) which provides part of 
    18 @@ -126,7 +127,8 @@
    19      %{pg:  -lc_p}							\
    20    }"
    21  #else
    22 -#if FBSD_MAJOR < 5
    23 +#include <sys/param.h>
    24 +#if __FreeBSD_version < 500016
    25  #define FBSD_LIB_SPEC "							\
    26    %{!shared:								\
    27      %{!pg:								\
    28 @@ -136,17 +138,34 @@
    29        %{!pthread:-lc_p}							\
    30        %{pthread:-lc_r_p}}						\
    31    }"
    32 -#else
    33 +#elif __FreeBSD_version < 700022
    34  #define FBSD_LIB_SPEC "							\
    35    %{!shared:								\
    36      %{!pg: %{pthread:-lpthread} -lc}					\
    37      %{pg:  %{pthread:-lpthread_p} -lc_p}				\
    38    }"
    39 +#else
    40 +#define FBSD_LIB_SPEC "							\
    41 +  %{!shared:								\
    42 +    %{!pg: %{pthread:-lpthread} -lc}					\
    43 +    %{pg:  %{pthread:-lpthread_p} -lc_p}}				\
    44 +  %{shared:								\
    45 +    %{pthread:-lpthread} -lc}						\
    46 +  "
    47  #endif
    48  #endif
    49  
    50 -#if FBSD_MAJOR < 6
    51 +#if FBSD_MAJOR < 5
    52  #define FBSD_DYNAMIC_LINKER "/usr/libexec/ld-elf.so.1"
    53  #else
    54  #define FBSD_DYNAMIC_LINKER "/libexec/ld-elf.so.1"
    55  #endif
    56 +
    57 +#if defined(HAVE_LD_EH_FRAME_HDR)
    58 +#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
    59 +#endif
    60 +
    61 +/* Use --as-needed -lgcc_s for eh support.  */
    62 +#ifdef HAVE_LD_AS_NEEDED
    63 +#define USE_LD_AS_NEEDED 1
    64 +#endif