scripts/addToolsVersion: properly handle .in vs. .in.2
While most components have their version in the .in file, some
have it in the .in.2 (eg. elf2flt).
Currently, to handle this case, we indiscriminately munge both files,
but this is wrong: in the elf2flt case, if we add a binutils version,
we do not want it to be added to elf2flt, and conversely.
So, for each tool, we need to explicitly know what file to munge.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
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-04-10 01:23:07.000000000 +0200
3 +++ gcc-4.4.0/gcc/config/freebsd-spec.h 2009-05-27 21:38:45.000000000 +0200
5 builtin_assert ("system=unix"); \
6 builtin_assert ("system=bsd"); \
7 builtin_assert ("system=FreeBSD"); \
8 + if(!(flag_iso && (c_dialect_cxx () ? cxx_dialect == cxx98 : !flag_isoc99))) \
9 + builtin_define("_LONGLONG"); \
10 FBSD_TARGET_CPU_CPP_BUILTINS(); \
13 diff -durN gcc-4.4.0.orig/gcc/config/t-freebsd-eh gcc-4.4.0/gcc/config/t-freebsd-eh
14 --- gcc-4.4.0.orig/gcc/config/t-freebsd-eh 1970-01-01 01:00:00.000000000 +0100
15 +++ gcc-4.4.0/gcc/config/t-freebsd-eh 2009-05-27 21:38:45.000000000 +0200
17 +# Use unwind-dw2-fde-glibc
18 +LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde-glibc.c \
19 + $(srcdir)/unwind-sjlj.c $(srcdir)/gthr-gnat.c $(srcdir)/unwind-c.c
20 +LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h unwind-dw2-fde.c
21 diff -durN gcc-4.4.0.orig/gcc/config.gcc gcc-4.4.0/gcc/config.gcc
22 --- gcc-4.4.0.orig/gcc/config.gcc 2009-05-27 21:38:34.000000000 +0200
23 +++ gcc-4.4.0/gcc/config.gcc 2009-05-27 21:38:45.000000000 +0200
25 # pleases around the provided core setting.
28 - extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
29 + extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
30 fbsd_major=`echo ${target} | sed -e 's/.*freebsd//g' | sed -e 's/\..*//g'`
31 tm_defines="${tm_defines} FBSD_MAJOR=${fbsd_major}"
32 tmake_file="t-slibgcc-elf-ver t-freebsd"
33 @@ -1042,6 +1042,10 @@
35 i[34567]86-*-freebsd*)
36 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h"
37 + fbsd_major=`echo ${target} | sed -e 's/.*freebsd//g' | sed -e 's/\..*//g'`
38 + if test ${fbsd_major} -ge 7; then
39 + tmake_file="${tmake_file} t-freebsd-eh"
43 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/x86-64.h i386/freebsd.h i386/freebsd64.h"
44 diff -durN gcc-4.4.0.orig/gcc/crtstuff.c gcc-4.4.0/gcc/crtstuff.c
45 --- gcc-4.4.0.orig/gcc/crtstuff.c 2009-04-10 01:23:07.000000000 +0200
46 +++ gcc-4.4.0/gcc/crtstuff.c 2009-05-27 21:38:45.000000000 +0200
48 && !defined(OBJECT_FORMAT_FLAT) \
49 && defined(HAVE_LD_EH_FRAME_HDR) \
50 && !defined(inhibit_libc) && !defined(CRTSTUFFT_O) \
51 - && defined(__GLIBC__) && __GLIBC__ >= 2
52 + && ((defined(__GLIBC__) && __GLIBC__ >= 2) \
53 + || (defined(__FreeBSD_version) && __FreeBSD_version >= 700022))
55 /* uClibc pretends to be glibc 2.2 and DT_CONFIG is defined in its link.h.
56 But it doesn't use PT_GNU_EH_FRAME ELF segment currently. */
57 # if !defined(__UCLIBC__) \
58 - && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \
59 - || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG)))
60 + || (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \
61 + || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG))) \
62 + || (__FreeBSD_version >= 700022)
63 # define USE_PT_GNU_EH_FRAME
66 diff -durN gcc-4.4.0.orig/gcc/unwind-dw2-fde-glibc.c gcc-4.4.0/gcc/unwind-dw2-fde-glibc.c
67 --- gcc-4.4.0.orig/gcc/unwind-dw2-fde-glibc.c 2009-04-10 01:23:07.000000000 +0200
68 +++ gcc-4.4.0/gcc/unwind-dw2-fde-glibc.c 2009-05-27 21:38:45.000000000 +0200
72 #if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
73 - && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \
74 - || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG)))
75 + && ((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \
76 + || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG))) \
77 + || (__FreeBSD_version >= 700022 ))
79 #ifndef __RELOC_POINTER
80 # define __RELOC_POINTER(ptr, base) ((ptr) + (base))
82 #define PT_GNU_EH_FRAME (PT_LOOS + 0x474e550)
85 +/* Support FreeBSD */
92 struct unw_eh_callback_data