patches/gcc/4.4.4/290-freebsd.patch
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Wed Dec 05 20:31:43 2012 +0100 (2012-12-05)
changeset 3134 863723936e24
parent 1948 d341be24dc68
permissions -rw-r--r--
scripts/xldd: use user's sed and grep

xldd uses sed and grep as detected by ./configure. This works well if is
used on the machine that build the toolchain.

But if the user moves the toolchain to another machine where sed and grep
are not in the same directory (eg. /bin/sed vs. /usr/bin/sed), then xldd
will stop functionning.

Fix that by using ${SED} and ${GREP} if they are set in the environment.

Reported-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
     1 diff -durN gcc-4.4.4.orig/gcc/config/freebsd-spec.h gcc-4.4.4/gcc/config/freebsd-spec.h
     2 --- gcc-4.4.4.orig/gcc/config/freebsd-spec.h	2010-05-16 19:36:15.000000000 +0200
     3 +++ gcc-4.4.4/gcc/config/freebsd-spec.h	2010-05-16 19:36:21.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