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 http://gcc.gnu.org/ml/gcc-patches/2008-10/msg00269.html
3 On glibc the libc.so carries a copy of the math function copysignl() but
4 on uClibc math functions like copysignl() live in libm. Since libgcc_s
5 contains unresolved symbols, any attempt to link against libgcc_s
6 without explicitely specifying -lm fails, resulting in a broken
7 bootstrap of the compiler.
10 diff -rdup gcc-4.4.0.old/gcc/config/t-slibgcc-elf-ver gcc-4.4.0/gcc/config/t-slibgcc-elf-ver
11 --- gcc-4.4.0.old/gcc/config/t-slibgcc-elf-ver 2005-10-31 18:03:08.000000000 +0100
12 +++ gcc-4.4.0/gcc/config/t-slibgcc-elf-ver 2008-10-07 19:28:13.000000000 +0200
13 @@ -9,7 +9,7 @@ SHLIB_MAP = @shlib_map_file@
14 SHLIB_OBJS = @shlib_objs@
15 SHLIB_DIR = @multilib_dir@
16 SHLIB_SLIBDIR_QUAL = @shlib_slibdir_qual@
18 +SHLIB_LC = @libgcc_libm@ -lc
20 SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
21 -Wl,--soname=$(SHLIB_SONAME) \
22 diff -rdup gcc-4.4.0.old/libgcc/configure gcc-4.4.0/libgcc/configure
23 --- gcc-4.4.0.old/libgcc/configure 2008-07-17 10:40:53.000000000 +0200
24 +++ gcc-4.4.0/libgcc/configure 2008-10-07 19:40:48.000000000 +0200
25 @@ -272,7 +272,7 @@ PACKAGE_STRING='GNU C Runtime Library 1.
28 ac_unique_file="static-object.mk"
29 -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS libgcc_topdir enable_shared slibdir INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA AWK build build_cpu build_vendor build_os host host_cpu host_vendor host_os host_noncanonical build_libsubdir build_subdir host_subdir target_subdir AR ac_ct_AR LIPO ac_ct_LIPO NM ac_ct_NM RANLIB ac_ct_RANLIB STRIP ac_ct_STRIP LN_S CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP decimal_float enable_decimal_float fixed_point vis_hide set_have_cc_tls tmake_file extra_parts asm_hidden_op LIBOBJS LTLIBOBJS'
30 +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS libgcc_topdir enable_shared slibdir INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA AWK build build_cpu build_vendor build_os host host_cpu host_vendor host_os host_noncanonical build_libsubdir build_subdir host_subdir target_subdir AR ac_ct_AR LIPO ac_ct_LIPO NM ac_ct_NM RANLIB ac_ct_RANLIB STRIP ac_ct_STRIP LN_S CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP decimal_float enable_decimal_float fixed_point vis_hide set_have_cc_tls LIBGCC_LIBM tmake_file extra_parts asm_hidden_op LIBOBJS LTLIBOBJS'
34 @@ -3522,6 +3522,39 @@ if test "$enable_tls $gcc_cv_have_cc_tls
38 +# On powerpc libgcc_s references copysignl which is a libm function but
39 +# glibc apparently also provides it via libc as opposed to uClibc where
41 +echo "$as_me:$LINENO: checking for library containing copysignl" >&5
42 +echo $ECHO_N "checking for library containing copysignl... $ECHO_C" >&6
43 +if test "${libgcc_cv_copysignl_lib+set}" = set; then
44 + echo $ECHO_N "(cached) $ECHO_C" >&6
47 + echo '#include <features.h>' > conftest.c
48 + echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c
49 + libgcc_cv_copysignl_lib="-lc"
50 + if { ac_try='${CC-cc} -S conftest.c -o conftest.s 1>&5'
51 + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
54 + echo "$as_me:$LINENO: \$? = $ac_status" >&5
55 + (exit $ac_status); }; }
57 + libgcc_cv_copysignl_lib="-lm"
62 +echo "$as_me:$LINENO: result: $libgcc_cv_copysignl_lib" >&5
63 +echo "${ECHO_T}$libgcc_cv_copysignl_lib" >&6
65 +case /${libgcc_cv_copysignl_lib}/ in
66 + /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;;
71 # Conditionalize the makefile for this target machine.
73 for f in ${tmake_file}
74 @@ -4242,6 +4275,7 @@ s,@enable_decimal_float@,$enable_decimal
75 s,@fixed_point@,$fixed_point,;t t
76 s,@vis_hide@,$vis_hide,;t t
77 s,@set_have_cc_tls@,$set_have_cc_tls,;t t
78 +s,@LIBGCC_LIBM@,$LIBGCC_LIBM,;t t
79 s,@tmake_file@,$tmake_file,;t t
80 s,@extra_parts@,$extra_parts,;t t
81 s,@asm_hidden_op@,$asm_hidden_op,;t t
82 diff -rdup gcc-4.4.0.old/libgcc/configure.ac gcc-4.4.0/libgcc/configure.ac
83 --- gcc-4.4.0.old/libgcc/configure.ac 2008-07-17 10:40:53.000000000 +0200
84 +++ gcc-4.4.0/libgcc/configure.ac 2008-10-07 19:34:48.000000000 +0200
85 @@ -203,6 +203,27 @@ if test "$enable_tls $gcc_cv_have_cc_tls
87 AC_SUBST(set_have_cc_tls)
89 +# On powerpc libgcc_s references copysignl which is a libm function but
90 +# glibc apparently also provides it via libc as opposed to uClibc where
93 + libgcc_cv_copysignl_lib,
94 + echo '#include <features.h>' > conftest.c
95 + echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c
96 + libgcc_cv_copysignl_lib="-lc"
97 + if AC_TRY_COMMAND(${CC-cc} -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD)
99 + libgcc_cv_copysignl_lib="-lm"
104 +case /${libgcc_cv_copysignl_lib}/ in
105 + /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;;
108 +AC_SUBST(LIBGCC_LIBM)
110 # Conditionalize the makefile for this target machine.
112 for f in ${tmake_file}
113 diff -rdup gcc-4.4.0.old/libgcc/Makefile.in gcc-4.4.0/libgcc/Makefile.in
114 --- gcc-4.4.0.old/libgcc/Makefile.in 2008-07-17 10:40:53.000000000 +0200
115 +++ gcc-4.4.0/libgcc/Makefile.in 2008-10-07 19:28:13.000000000 +0200
116 @@ -40,6 +40,7 @@ enable_shared = @enable_shared@
117 decimal_float = @decimal_float@
118 enable_decimal_float = @enable_decimal_float@
119 fixed_point = @fixed_point@
120 +LIBGCC_LIBM = @LIBGCC_LIBM@
122 host_noncanonical = @host_noncanonical@
124 @@ -786,9 +787,10 @@ libgcc_s$(SHLIB_EXT): $(libgcc-s-objects
125 @multilib_dir@,$(MULTIDIR),$(subst \
126 @shlib_objs@,$(objects),$(subst \
127 @shlib_base_name@,libgcc_s,$(subst \
128 + @libgcc_libm@,$(LIBGCC_LIBM),$(subst \
129 @shlib_map_file@,$(mapfile),$(subst \
130 @shlib_slibdir_qual@,$(MULTIOSSUBDIR),$(subst \
131 - @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK))))))))
132 + @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK)))))))))
134 libunwind$(SHLIB_EXT): $(libunwind-s-objects) $(extra-parts)
135 # @multilib_flags@ is still needed because this may use