gcc: Drop gcc 4.0.2, nothing uses it

git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4041 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
Richard Purdie 2008-03-18 11:00:00 +00:00
parent 1f909ea02c
commit fc8e9ffda6
19 changed files with 0 additions and 25909 deletions

View File

@ -1,29 +0,0 @@
require gcc-common.inc
DEPENDS = "mpfr gmp"
SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://arm-nolibfloat.patch;patch=1 \
file://arm-softfloat.patch;patch=1 \
file://ldflags.patch;patch=1 \
file://GCOV_PREFIX_STRIP-cross-profile_4.1.patch;patch=1 \
file://zecke-xgcc-cpp.patch;patch=1 "
# uclibc patches below
SRC_URI_append = " file://100-uclibc-conf.patch;patch=1 \
file://200-uclibc-locale.patch;patch=1 \
file://301-missing-execinfo_h.patch;patch=1 \
file://302-c99-snprintf.patch;patch=1 \
file://303-c99-complex-ugly-hack.patch;patch=1 \
file://800-arm-bigendian.patch;patch=1 \
file://zecke-host-cpp-ac-hack.patch;patch=1 \
file://gcc-4.0.2-atmel.0.99.2.patch;patch=1 \
"
SRC_URI_append_fail-fast = " file://zecke-no-host-includes.patch;patch=1 "
# Language Overrides
FORTRAN = ""
EXTRA_OECONF += "--disable-libssp"

View File

@ -1,556 +0,0 @@
From:
http://buildroot.uclibc.org/cgi-bin/viewcvs.cgi/*checkout*/trunk/buildroot/toolchain/gcc/4.0.2/100-uclibc-conf.patch?rev=13898
--- gcc-4.0.2/gcc/config/t-linux-uclibc
+++ gcc-4.0.2/gcc/config/t-linux-uclibc
@@ -0,0 +1,5 @@
+# Remove glibc specific files added in t-linux
+SHLIB_MAPFILES := $(filter-out $(srcdir)/config/libgcc-glibc.ver, $(SHLIB_MAPFILES))
+
+# Use unwind-dw2-fde instead of unwind-dw2-fde-glibc
+LIB2ADDEH := $(subst unwind-dw2-fde-glibc.c,unwind-dw2-fde.c,$(LIB2ADDEH))
--- gcc-4.0.2/gcc/config.gcc
+++ gcc-4.0.2/gcc/config.gcc
@@ -1778,7 +1778,7 @@
;;
sh-*-elf* | sh[12346l]*-*-elf* | sh*-*-kaos* | \
sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \
- sh-*-linux* | sh[346lbe]*-*-linux* | \
+ sh*-*-linux* | sh[346lbe]*-*-linux* | \
sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
sh64-*-netbsd* | sh64l*-*-netbsd*)
tmake_file="${tmake_file} sh/t-sh sh/t-elf"
@@ -2234,10 +2234,16 @@
*)
echo "*** Configuration ${target} not supported" 1>&2
exit 1
;;
esac
+
+# Rather than hook into each target, just do it after all the linux
+# targets have been processed
+case ${target} in
+*-linux-uclibc*) tm_defines="${tm_defines} USE_UCLIBC" ; tmake_file="${tmake_file} t-linux-uclibc"
+esac
case ${target} in
i[34567]86-*-linux*aout* | i[34567]86-*-linux*libc1)
tmake_file="${tmake_file} i386/t-gmm_malloc"
;;
--- gcc-4.0.2/gcc/config/alpha/linux-elf.h
+++ gcc-4.0.2/gcc/config/alpha/linux-elf.h
@@ -27,7 +27,11 @@
#define SUBTARGET_EXTRA_SPECS \
{ "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
+#ifdef USE_UCLIBC
+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
+#else
#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
+#endif
#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \
%{O*:-O3} %{!O*:-O1} \
--- gcc-4.0.2/gcc/config/arm/linux-elf.h
+++ gcc-4.0.2/gcc/config/arm/linux-elf.h
@@ -81,14 +81,19 @@
#define ENDFILE_SPEC \
"%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
+#ifdef USE_UCLIBC
+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
+#else
+#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
+#endif
#undef LINK_SPEC
#define LINK_SPEC "%{h*} %{version:-v} \
%{b} %{Wl,*:%*} \
%{static:-Bstatic} \
%{shared:-shared} \
%{symbolic:-Bsymbolic} \
%{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \
+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "} \
-X \
%{mbig-endian:-EB}" \
SUBTARGET_EXTRA_LINK_SPEC
--- gcc-4.0.2/gcc/config/cris/linux.h
+++ gcc-4.0.2/gcc/config/cris/linux.h
@@ -79,6 +79,25 @@
#undef CRIS_DEFAULT_CPU_VERSION
#define CRIS_DEFAULT_CPU_VERSION CRIS_CPU_NG
+#ifdef USE_UCLIBC
+
+#undef CRIS_SUBTARGET_VERSION
+#define CRIS_SUBTARGET_VERSION " - cris-axis-linux-uclibc"
+
+#undef CRIS_LINK_SUBTARGET_SPEC
+#define CRIS_LINK_SUBTARGET_SPEC \
+ "-mcrislinux\
+ -rpath-link include/asm/../..%s\
+ %{shared} %{static}\
+ %{symbolic:-Bdynamic} %{shlib:-Bdynamic} %{static:-Bstatic}\
+ %{!shared: \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}} \
+ %{!r:%{O2|O3: --gc-sections}}"
+
+#else /* USE_UCLIBC */
+
#undef CRIS_SUBTARGET_VERSION
#define CRIS_SUBTARGET_VERSION " - cris-axis-linux-gnu"
@@ -93,6 +112,8 @@
%{!shared:%{!static:%{rdynamic:-export-dynamic}}}\
%{!r:%{O2|O3: --gc-sections}}"
+#endif /* USE_UCLIBC */
+
/* Node: Run-time Target */
--- gcc-4.0.2/gcc/config/i386/linux.h
+++ gcc-4.0.2/gcc/config/i386/linux.h
@@ -107,6 +107,11 @@
#define LINK_EMULATION "elf_i386"
#define DYNAMIC_LINKER "/lib/ld-linux.so.2"
+#ifdef USE_UCLIBC
+#undef DYNAMIC_LINKER
+#define DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
+#endif
+
#undef SUBTARGET_EXTRA_SPECS
#define SUBTARGET_EXTRA_SPECS \
{ "link_emulation", LINK_EMULATION },\
--- gcc-4.0.2/gcc/config/i386/linux64.h
+++ gcc-4.0.2/gcc/config/i386/linux64.h
@@ -54,14 +54,21 @@
When the -shared link option is used a final link is not being
done. */
+#ifdef USE_UCLIBC
+#define ELF32_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
+#define ELF64_DYNAMIC_LINKER "/lib/ld64-uClibc.so.0"
+#else
+#define ELF32_DYNAMIC_LINKER "/lib/ld-linux.so.2"
+#define ELF64_DYNAMIC_LINKER "/lib64/ld-linux-x86-64.so.2"
+#endif
#undef LINK_SPEC
#define LINK_SPEC "%{!m32:-m elf_x86_64} %{m32:-m elf_i386} \
%{shared:-shared} \
%{!shared: \
%{!static: \
%{rdynamic:-export-dynamic} \
- %{m32:%{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
- %{!m32:%{!dynamic-linker:-dynamic-linker /lib64/ld-linux-x86-64.so.2}}} \
+ %{m32:%{!dynamic-linker:-dynamic-linker " ELF32_DYNAMIC_LINKER "}} \
+ %{!m32:%{!dynamic-linker:-dynamic-linker " ELF64_DYNAMIC_LINKER "}}} \
%{static:-static}}"
#define MULTILIB_DEFAULTS { "m64" }
--- gcc-4.0.2/gcc/config/ia64/linux.h
+++ gcc-4.0.2/gcc/config/ia64/linux.h
@@ -37,13 +37,18 @@
/* Define this for shared library support because it isn't in the main
linux.h file. */
+#ifdef USE_UCLIBC
+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
+#else
+#define ELF_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"
+#endif
#undef LINK_SPEC
#define LINK_SPEC "\
%{shared:-shared} \
%{!shared: \
%{!static: \
%{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker /lib/ld-linux-ia64.so.2}} \
+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
%{static:-static}}"
--- gcc-4.0.2/gcc/config/m68k/linux.h
+++ gcc-4.0.2/gcc/config/m68k/linux.h
@@ -127,12 +127,17 @@
/* If ELF is the default format, we should not use /lib/elf. */
+#ifdef USE_UCLIBC
+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
+#else
+#define ELF_DYNAMIC_LINKER "/lib/ld.so.1"
+#endif
#undef LINK_SPEC
#define LINK_SPEC "-m m68kelf %{shared} \
%{!shared: \
%{!static: \
%{rdynamic:-export-dynamic} \
- %{!dynamic-linker*:-dynamic-linker /lib/ld.so.1}} \
+ %{!dynamic-linker*:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
%{static}}"
/* For compatibility with linux/a.out */
--- gcc-4.0.2/gcc/config/mips/linux.h
+++ gcc-4.0.2/gcc/config/mips/linux.h
@@ -108,14 +108,19 @@
/* Borrowed from sparc/linux.h */
#undef LINK_SPEC
+#ifdef USE_UCLIBC
+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
+#else
+#define ELF_DYNAMIC_LINKER "/lib/ld.so.1"
+#endif
#define LINK_SPEC \
"%(endian_spec) \
%{shared:-shared} \
%{!shared: \
%{!ibcs: \
%{!static: \
%{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
%{static:-static}}}"
#undef SUBTARGET_ASM_SPEC
--- gcc-4.0.2/gcc/config/pa/pa-linux.h
+++ gcc-4.0.2/gcc/config/pa/pa-linux.h
@@ -82,13 +82,18 @@
/* Define this for shared library support because it isn't in the main
linux.h file. */
+#ifdef USE_UCLIBC
+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
+#else
+#define ELF_DYNAMIC_LINKER "/lib/ld.so.1"
+#endif
#undef LINK_SPEC
#define LINK_SPEC "\
%{shared:-shared} \
%{!shared: \
%{!static: \
%{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
%{static:-static}}"
/* glibc's profiling functions don't need gcc to allocate counters. */
--- gcc-4.0.2/gcc/config/rs6000/linux.h
+++ gcc-4.0.2/gcc/config/rs6000/linux.h
@@ -69,7 +69,11 @@
#define LINK_START_DEFAULT_SPEC "%(link_start_linux)"
#undef LINK_OS_DEFAULT_SPEC
+#ifdef USE_UCLIBC
+#define LINK_OS_DEFAULT_SPEC "%(link_os_linux_uclibc)"
+#else
#define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
+#endif
#define LINK_GCC_C_SEQUENCE_SPEC \
"%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
--- gcc-4.0.2/gcc/config/rs6000/sysv4.h
+++ gcc-4.0.2/gcc/config/rs6000/sysv4.h
@@ -949,6 +949,7 @@
mcall-linux : %(link_os_linux) ; \
mcall-gnu : %(link_os_gnu) ; \
mcall-netbsd : %(link_os_netbsd) ; \
+ mcall-linux-uclibc : %(link_os_linux_uclibc); \
mcall-openbsd: %(link_os_openbsd) ; \
: %(link_os_default) }"
@@ -1127,6 +1128,10 @@
%{rdynamic:-export-dynamic} \
%{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
+#define LINK_OS_LINUX_UCLIBC_SPEC "-m elf32ppclinux %{!shared: %{!static: \
+ %{rdynamic:-export-dynamic} \
+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}}"
+
#if defined(HAVE_LD_EH_FRAME_HDR)
# define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
#endif
@@ -1293,6 +1298,7 @@
{ "link_os_sim", LINK_OS_SIM_SPEC }, \
{ "link_os_freebsd", LINK_OS_FREEBSD_SPEC }, \
{ "link_os_linux", LINK_OS_LINUX_SPEC }, \
+ { "link_os_linux_uclibc", LINK_OS_LINUX_UCLIBC_SPEC }, \
{ "link_os_gnu", LINK_OS_GNU_SPEC }, \
{ "link_os_netbsd", LINK_OS_NETBSD_SPEC }, \
{ "link_os_openbsd", LINK_OS_OPENBSD_SPEC }, \
--- gcc-4.0.2/gcc/config/s390/linux.h
+++ gcc-4.0.2/gcc/config/s390/linux.h
@@ -77,6 +77,13 @@
#define MULTILIB_DEFAULTS { "m31" }
#endif
+#ifdef USE_UCLIBC
+#define ELF31_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
+#define ELF64_DYNAMIC_LINKER "/lib/ld64-uClibc.so.0"
+#else
+#define ELF31_DYNAMIC_LINKER "/lib/ld.so.1"
+#define ELF64_DYNAMIC_LINKER "/lib/ld64.so.1"
+#endif
#undef LINK_SPEC
#define LINK_SPEC \
"%{m31:-m elf_s390}%{m64:-m elf64_s390} \
@@ -86,8 +93,8 @@
%{!static: \
%{rdynamic:-export-dynamic} \
%{!dynamic-linker: \
- %{m31:-dynamic-linker /lib/ld.so.1} \
- %{m64:-dynamic-linker /lib/ld64.so.1}}}}"
+ %{m31:-dynamic-linker " ELF31_DYNAMIC_LINKER "} \
+ %{m64:-dynamic-linker " ELF64_DYNAMIC_LINKER "}}}}"
#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
--- gcc-4.0.2/gcc/config/sh/linux.h
+++ gcc-4.0.2/gcc/config/sh/linux.h
@@ -67,11 +67,16 @@
#undef SUBTARGET_LINK_EMUL_SUFFIX
#define SUBTARGET_LINK_EMUL_SUFFIX "_linux"
#undef SUBTARGET_LINK_SPEC
+#ifdef USE_UCLIBC
+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
+#else
+#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
+#endif
#define SUBTARGET_LINK_SPEC \
"%{shared:-shared} \
%{!static: \
%{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
%{static:-static}"
#undef LIB_SPEC
--- gcc-4.0.2/gcc/config/sparc/linux.h
+++ gcc-4.0.2/gcc/config/sparc/linux.h
@@ -130,14 +130,19 @@
/* If ELF is the default format, we should not use /lib/elf. */
+#ifdef USE_UCLIBC
+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
+#else
+#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
+#endif
#undef LINK_SPEC
#define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
%{!mno-relax:%{!r:-relax}} \
%{!shared: \
%{!ibcs: \
%{!static: \
%{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
%{static:-static}}}"
/* The sun bundled assembler doesn't accept -Yd, (and neither does gas).
--- gcc-4.0.2/gcc/config/sparc/linux64.h
+++ gcc-4.0.2/gcc/config/sparc/linux64.h
@@ -167,12 +166,17 @@
{ "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \
{ "link_arch", LINK_ARCH_SPEC },
+#ifdef USE_UCLIBC
+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
+#else
+#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
+#endif
#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
%{!shared: \
%{!ibcs: \
%{!static: \
%{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
%{static:-static}}} \
"
--- gcc-4.0.2/libtool.m4
+++ gcc-4.0.2/libtool.m4
@@ -682,6 +682,11 @@
lt_cv_deplibs_check_method=pass_all
;;
+linux-uclibc*)
+ lt_cv_deplibs_check_method=pass_all
+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
+ ;;
+
netbsd* | knetbsd*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
[lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
--- gcc-4.0.2/ltconfig
+++ gcc-4.0.2/ltconfig
@@ -603,6 +603,7 @@
# Transform linux* to *-*-linux-gnu*, to support old configure scripts.
case $host_os in
+linux-uclibc*) ;;
linux-gnu*) ;;
linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
esac
@@ -1274,6 +1275,23 @@
dynamic_linker='GNU/Linux ld.so'
;;
+linux-uclibc*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+ soname_spec='${libname}${release}.so$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+ # Assume using the uClibc dynamic linker.
+ dynamic_linker="uClibc ld.so"
+ ;;
+
netbsd*)
need_lib_prefix=no
need_version=no
--- gcc-4.0.2/libffi/configure
+++ gcc-4.0.2/libffi/configure
@@ -3457,6 +3457,11 @@
lt_cv_deplibs_check_method=pass_all
;;
+linux-uclibc*)
+ lt_cv_deplibs_check_method=pass_all
+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
+ ;;
+
netbsd* | knetbsd*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
--- gcc-4.0.2/libgfortran/configure
+++ gcc-4.0.2/libgfortran/configure
@@ -3681,6 +3681,11 @@
lt_cv_deplibs_check_method=pass_all
;;
+linux-uclibc*)
+ lt_cv_deplibs_check_method=pass_all
+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
+ ;;
+
netbsd* | knetbsd*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
--- gcc-4.0.2/libjava/configure
+++ gcc-4.0.2/libjava/configure
@@ -4351,6 +4351,11 @@
lt_cv_deplibs_check_method=pass_all
;;
+linux-uclibc*)
+ lt_cv_deplibs_check_method=pass_all
+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
+ ;;
+
netbsd* | knetbsd*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
--- gcc-4.0.2/libmudflap/configure
+++ gcc-4.0.2/libmudflap/configure
@@ -5380,6 +5380,11 @@
lt_cv_deplibs_check_method=pass_all
;;
+linux-uclibc*)
+ lt_cv_deplibs_check_method=pass_all
+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
+ ;;
+
netbsd* | knetbsd*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
--- gcc-4.0.2/libobjc/configure
+++ gcc-4.0.2/libobjc/configure
@@ -3283,6 +3283,11 @@
lt_cv_deplibs_check_method=pass_all
;;
+linux-uclibc*)
+ lt_cv_deplibs_check_method=pass_all
+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
+ ;;
+
netbsd* | knetbsd*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
--- gcc-4.0.2/boehm-gc/configure
+++ gcc-4.0.2/boehm-gc/configure
@@ -4320,6 +4320,11 @@
lt_cv_deplibs_check_method=pass_all
;;
+linux-uclibc*)
+ lt_cv_deplibs_check_method=pass_all
+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
+ ;;
+
netbsd* | knetbsd*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
--- gcc-4.0.2/configure
+++ gcc-4.0.2/configure
@@ -1141,7 +1141,7 @@
;;
"")
case "${target}" in
- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu)
+ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*)
# Enable libmudflap by default in GNU and friends.
;;
*-*-freebsd*)
--- gcc-4.0.2/configure.in
+++ gcc-4.0.2/configure.in
@@ -350,7 +350,7 @@
;;
"")
case "${target}" in
- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu)
+ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*)
# Enable libmudflap by default in GNU and friends.
;;
*-*-freebsd*)
--- gcc-4.0.2/contrib/regression/objs-gcc.sh
+++ gcc-4.0.2/contrib/regression/objs-gcc.sh
@@ -105,6 +105,10 @@
then
make all-gdb all-dejagnu all-ld || exit 1
make install-gdb install-dejagnu install-ld || exit 1
+elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ]
+ then
+ make all-gdb all-dejagnu all-ld || exit 1
+ make install-gdb install-dejagnu install-ld || exit 1
elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then
make bootstrap || exit 1
make install || exit 1
--- gcc-4.0.2/zlib/configure
+++ gcc-4.0.2/zlib/configure
@@ -3426,6 +3426,11 @@
lt_cv_deplibs_check_method=pass_all
;;
+linux-uclibc*)
+ lt_cv_deplibs_check_method=pass_all
+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
+ ;;
+
netbsd* | knetbsd*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'

File diff suppressed because it is too large Load Diff

View File

@ -1,14 +0,0 @@
From:
http://buildroot.uclibc.org/cgi-bin/viewcvs.cgi/*checkout*/trunk/buildroot/toolchain/gcc/4.0.2/301-missing-execinfo_h.patch?rev=11715
--- gcc-4.0.0/boehm-gc/include/gc.h-orig 2005-04-28 22:28:57.000000000 -0500
+++ gcc-4.0.0/boehm-gc/include/gc.h 2005-04-28 22:30:38.000000000 -0500
@@ -500,7 +500,7 @@
#ifdef __linux__
# include <features.h>
# if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
- && !defined(__ia64__)
+ && !defined(__ia64__) && !defined(__UCLIBC__)
# ifndef GC_HAVE_BUILTIN_BACKTRACE
# define GC_HAVE_BUILTIN_BACKTRACE
# endif

View File

@ -1,14 +0,0 @@
From:
http://buildroot.uclibc.org/cgi-bin/viewcvs.cgi/*checkout*/trunk/buildroot/toolchain/gcc/4.0.2/302-c99-snprintf.patch?rev=11715
--- gcc-4.0.0/libstdc++-v3/include/c_std/std_cstdio.h-orig 2005-04-29 00:08:41.000000000 -0500
+++ gcc-4.0.0/libstdc++-v3/include/c_std/std_cstdio.h 2005-04-29 00:08:45.000000000 -0500
@@ -142,7 +142,7 @@
using ::vsprintf;
}
-#if _GLIBCXX_USE_C99
+#if _GLIBCXX_USE_C99 || defined(__UCLIBC__)
#undef snprintf
#undef vfscanf

View File

@ -1,15 +0,0 @@
From:
http://buildroot.uclibc.org/cgi-bin/viewcvs.cgi/*checkout*/trunk/buildroot/toolchain/gcc/4.0.2/303-c99-complex-ugly-hack.patch?rev=11715
--- gcc-4.0.0/libstdc++-v3/configure-old 2005-04-30 22:04:48.061603912 -0500
+++ gcc-4.0.0/libstdc++-v3/configure 2005-04-30 22:06:13.678588152 -0500
@@ -7194,6 +7194,9 @@
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <complex.h>
+#ifdef __UCLIBC__
+#error ugly hack to make sure configure test fails here for cross until uClibc supports the complex funcs
+#endif
int
main ()
{

View File

@ -1,70 +0,0 @@
From:
http://buildroot.uclibc.org/cgi-bin/viewcvs.cgi/trunk/buildroot/toolchain/gcc/4.0.2/800-arm-bigendian.patch?rev=14828&view=markup
By Lennert Buytenhek <buytenh@wantstofly.org>
Adds support for arm*b-linux* big-endian ARM targets
See http://gcc.gnu.org/PR16350
--- gcc-4.0.3/gcc/config/arm/linux-elf.h
+++ gcc-4.0.3/gcc/config/arm/linux-elf.h
@@ -31,19 +31,33 @@
/* Do not assume anything about header files. */
#define NO_IMPLICIT_EXTERN_C
+/*
+ * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for arm*b-*
+ * (big endian) configurations.
+ */
+#if TARGET_BIG_ENDIAN_DEFAULT
+#define TARGET_ENDIAN_DEFAULT ARM_FLAG_BIG_END
+#define TARGET_ENDIAN_OPTION "mbig-endian"
+#define TARGET_LINKER_EMULATION "armelfb_linux"
+#else
+#define TARGET_ENDIAN_DEFAULT 0
+#define TARGET_ENDIAN_OPTION "mlittle-endian"
+#define TARGET_LINKER_EMULATION "armelf_linux"
+#endif
+
#undef TARGET_DEFAULT_FLOAT_ABI
#define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_HARD
#undef TARGET_DEFAULT
-#define TARGET_DEFAULT (0)
+#define TARGET_DEFAULT (TARGET_ENDIAN_DEFAULT)
#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm6
-#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux -p"
+#define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION " -p"
#undef MULTILIB_DEFAULTS
#define MULTILIB_DEFAULTS \
- { "marm", "mlittle-endian", "mhard-float", "mno-thumb-interwork" }
+ { "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mno-thumb-interwork" }
/* The GNU C++ standard library requires that these macros be defined. */
#undef CPLUSPLUS_CPP_SPEC
@@ -90,7 +104,7 @@
%{rdynamic:-export-dynamic} \
%{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \
-X \
- %{mbig-endian:-EB}" \
+ %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
SUBTARGET_EXTRA_LINK_SPEC
#define TARGET_OS_CPP_BUILTINS() \
--- gcc-4.0.3/gcc/config.gcc
+++ gcc-4.0.3/gcc/config.gcc
@@ -672,6 +672,11 @@
;;
arm*-*-linux*) # ARM GNU/Linux with ELF
tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
+ case $target in
+ arm*b-*)
+ tm_defines="TARGET_BIG_ENDIAN_DEFAULT=1 $tm_defines"
+ ;;
+ esac
tmake_file="${tmake_file} arm/t-arm arm/t-linux"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
gnu_ld=yes

View File

@ -1,371 +0,0 @@
2005-05-04 Grigory Zagorodnev <grigory.zagorodnev@intel.com>
H.J. Lu <hongjiu.lu@intel.com>
* gcov-io.c (gcov_open): When in libgcov library
use given data file relocation prefix to build file name.
* gcov-io.h (gcov_open): Updated proto to accept
data file relocation prefix.
* libgcov.c (create_file_directory): New function.
(gcov_prefix): New static variable to hold data file
relocation prefix.
(gcov_version): Use relocation prefix.
(gcov_exit): Always try to create directory for output
file. Relocate filename at each use.
(__gcov_init): Initialize directory relocation prefix
if required. Strip off leading directories from
the initial filename.
* tsystem.h: include filenames.h
(DIR_SEPARATOR): Macro copied from system.h.
(DIR_SEPARATOR_2): Likewise.
* doc/gcov.texi (Cross-profiling): New node documenting
cross-profiling management.
* doc/invoke.texi (-fprofile-arcs): xref to cross-profiling.
--- gcc-4/gcc/doc/gcov.texi.prefix 2005-03-28 11:56:34.000000000 -0800
+++ gcc-4/gcc/doc/gcov.texi 2005-05-04 15:07:44.000000000 -0700
@@ -42,6 +42,7 @@ test code coverage in your programs.
* Invoking Gcov:: How to use gcov.
* Gcov and Optimization:: Using gcov with GCC optimization.
* Gcov Data Files:: The files used by gcov.
+* Cross-profiling:: Data files relocation.
@end menu
@node Gcov Intro
@@ -531,3 +532,36 @@ information.
The full details of the file format is specified in @file{gcov-io.h},
and functions provided in that header file should be used to access the
coverage files.
+
+@node Cross-profiling
+@section Data files relocation to support cross-profiling
+
+Running the program will cause profile output to be generated. For each
+source file compiled with @option{-fprofile-arcs}, an accompanying @file{.gcda}
+file will be placed in the object file directory. That implicitly requires
+running the program at the same system as it was build or having same
+absolute directory structure on the target system (program will try
+to create needed directory structure).
+
+To support cross-profiling, program compiled with @option{-fprofile-arcs}
+performs data file relocation basing on two environment variables:
+
+@itemize @bullet
+@item
+GCOV_PREFIX contains the prefix to add to the absolute paths
+in the object file.
+
+@item
+GCOV_PREFIX_STRIP indicates the how many initial directory names to strip off
+the hardwired absolute paths. Default value is 0.
+@end itemize
+
+For example, if object file @file{/user/build/foo.o} was build with
+@option{-fprofile-arcs}, the final executable will try to create data file
+@file{/user/build/foo.gcda} when running at the target system and will
+fail if corresponding directory does not exists and is not allowed to create.
+
+In this case, manipulating environment variables you can relocate data file
+to the suitable local directory. For our example, setting @samp{GCOV_PREFIX=/target/run}
+and @samp{GCOV_PREFIX_STRIP=1} values will force use of @file{/target/run/build/foo.gcda}
+file name.
--- gcc-4/gcc/doc/invoke.texi.prefix 2005-05-04 11:21:00.000000000 -0700
+++ gcc-4/gcc/doc/invoke.texi 2005-05-04 15:07:44.000000000 -0700
@@ -3420,6 +3420,7 @@ explicitly specified and it is not the f
the basename of the source file. In both cases any suffix is removed
(e.g.@: @file{foo.gcda} for input file @file{dir/foo.c}, or
@file{dir/foo.gcda} for output file specified as @option{-o dir/foo.o}).
+@xref{Cross-profiling}.
@cindex @command{gcov}
@item --coverage
--- gcc-4/gcc/gcov-io.c.prefix 2005-04-28 16:11:30.000000000 -0700
+++ gcc-4/gcc/gcov-io.c 2005-05-04 20:02:35.000000000 -0700
@@ -55,13 +55,14 @@ static inline gcov_unsigned_t from_file
GCOV_LINKAGE int
#if IN_LIBGCOV
-gcov_open (const char *name)
+gcov_open (const char *prefix, const char *name)
#else
gcov_open (const char *name, int mode)
#endif
{
#if IN_LIBGCOV
const int mode = 0;
+ char *tmp;
#endif
#if GCOV_LOCKED
struct flock s_flock;
@@ -82,6 +83,13 @@ gcov_open (const char *name, int mode)
#if !IN_LIBGCOV
gcov_var.endian = 0;
#endif
+
+#if IN_LIBGCOV
+ /* Build complete filename with prefix */
+ tmp = alloca (strlen (prefix) + strlen (name) + 1);
+ name = strcat (strcpy (tmp, prefix), name);
+#endif
+
#if GCOV_LOCKED
if (mode > 0)
fd = open (name, O_RDWR);
--- gcc-4/gcc/gcov-io.h.prefix 2005-05-02 17:43:08.000000000 -0700
+++ gcc-4/gcc/gcov-io.h 2005-05-04 15:07:44.000000000 -0700
@@ -515,7 +515,7 @@ GCOV_LINKAGE struct gcov_var
functions for writing. Your file may become corrupted if you break
these invariants. */
#if IN_LIBGCOV
-GCOV_LINKAGE int gcov_open (const char */*name*/) ATTRIBUTE_HIDDEN;
+GCOV_LINKAGE int gcov_open (const char */*prefix*/, const char */*name*/) ATTRIBUTE_HIDDEN;
#else
GCOV_LINKAGE int gcov_open (const char */*name*/, int /*direction*/);
GCOV_LINKAGE int gcov_magic (gcov_unsigned_t, gcov_unsigned_t);
--- gcc-4/gcc/libgcov.c.prefix 2005-04-28 16:11:30.000000000 -0700
+++ gcc-4/gcc/libgcov.c 2005-05-04 15:07:44.000000000 -0700
@@ -92,6 +92,70 @@ static struct gcov_info *gcov_list;
object file included in multiple programs. */
static gcov_unsigned_t gcov_crc32;
+/* Directory prefix to relocate coverage data file names */
+static char *gcov_prefix = 0;
+
+/* Level of dirs to strip off the initial filename to relocate */
+static int gcov_prefix_strip = 0;
+
+static int
+create_file_directory (const char *prefix, const char *filename)
+{
+ char *dname;
+ char sep, *r, *s;
+ size_t plen, flen;
+
+ /* Detect directory separator */
+ s = strrchr (prefix, DIR_SEPARATOR);
+#ifdef DIR_SEPARATOR_2
+ if (! s)
+ s = strrchr (prefix, DIR_SEPARATOR_2);
+#endif
+ if (s)
+ sep = *s;
+ else
+ sep = DIR_SEPARATOR;
+
+ /* join prefix and filename, split path */
+ plen = strlen(prefix);
+ flen = strlen(filename);
+ r = alloca(plen + flen + 1);
+ strncpy(r, prefix, plen);
+ strncpy(r + plen, filename, flen);
+ r[plen + flen] = '\0';
+ s = strrchr(r, sep);
+ if (s)
+ *(s + 1) = '\0';
+
+ if (access (r, F_OK) == 0)
+ return 0;
+
+ /* Skip consecutive separators. */
+ for (dname = r; *dname && *dname == sep; ++dname);
+ while (1)
+ {
+ char *s = strchr (dname, sep);
+ if (s == 0)
+ break;
+ *s = '\0';
+ /* Try to make directory if it doesn't already exist. */
+ if (access (r, F_OK) == -1
+ && mkdir (r, 0755) == -1
+ /* The directory might have been made by another process. */
+ && errno != EEXIST)
+ {
+ *s = sep;
+ fprintf (stderr, "profiling:%s:Cannot create directory\n", r);
+ return -1;
+ };
+ *s = sep;
+ /* Skip consecutive separators. */
+ for (dname = s + 1; *dname && *dname == sep; ++dname)
+ ;
+ }
+ return 0;
+}
+
static int
gcov_version (struct gcov_info *ptr, gcov_unsigned_t version)
{
@@ -103,8 +167,8 @@ gcov_version (struct gcov_info *ptr, gco
GCOV_UNSIGNED2STRING (e, GCOV_VERSION);
fprintf (stderr,
- "profiling:%s:Version mismatch - expected %.4s got %.4s\n",
- ptr->filename, e, v);
+ "profiling:%s%s:Version mismatch - expected %.4s got %.4s\n",
+ gcov_prefix, ptr->filename, e, v);
return 0;
}
return 1;
@@ -205,9 +269,16 @@ gcov_exit (void)
fi_stride &= ~(__alignof__ (struct gcov_fn_info) - 1);
}
- if (!gcov_open (gi_ptr->filename))
+ if (create_file_directory (gcov_prefix, gi_ptr->filename))
+ {
+ fprintf (stderr, "profiling:%s%s:Skip\n", gcov_prefix,
+ gi_ptr->filename);
+ continue;
+ }
+ else if (!gcov_open (gcov_prefix, gi_ptr->filename))
{
- fprintf (stderr, "profiling:%s:Cannot open\n", gi_ptr->filename);
+ fprintf (stderr, "profiling:%s%s:Cannot open\n", gcov_prefix,
+ gi_ptr->filename);
continue;
}
@@ -217,8 +288,8 @@ gcov_exit (void)
/* Merge data from file. */
if (tag != GCOV_DATA_MAGIC)
{
- fprintf (stderr, "profiling:%s:Not a gcov data file\n",
- gi_ptr->filename);
+ fprintf (stderr, "profiling:%s%s:Not a gcov data file\n",
+ gcov_prefix, gi_ptr->filename);
goto read_fatal;
}
length = gcov_read_unsigned ();
@@ -245,8 +316,8 @@ gcov_exit (void)
|| gcov_read_unsigned () != fi_ptr->checksum)
{
read_mismatch:;
- fprintf (stderr, "profiling:%s:Merge mismatch for %s\n",
- gi_ptr->filename,
+ fprintf (stderr, "profiling:%s%s:Merge mismatch for %s\n",
+ gcov_prefix, gi_ptr->filename,
f_ix + 1 ? "function" : "summaries");
goto read_fatal;
}
@@ -305,7 +376,8 @@ gcov_exit (void)
read_error:;
fprintf (stderr, error < 0 ? "profiling:%s:Overflow merging\n"
- : "profiling:%s:Error merging\n", gi_ptr->filename);
+ : "profiling:%s%s:Error merging\n", gcov_prefix,
+ gi_ptr->filename);
read_fatal:;
gcov_close ();
@@ -355,8 +427,8 @@ gcov_exit (void)
&& (!GCOV_LOCKED || cs_all->runs == cs_prg->runs)
&& memcmp (cs_all, cs_prg, sizeof (*cs_all)))
{
- fprintf (stderr, "profiling:%s:Invocation mismatch - some data files may have been removed%s",
- gi_ptr->filename, GCOV_LOCKED
+ fprintf (stderr, "profiling:%s%s:Invocation mismatch - some data files may have been removed%s",
+ gcov_prefix, gi_ptr->filename, GCOV_LOCKED
? "" : " or concurrent update without locking support");
all.checksum = ~0u;
}
@@ -419,9 +491,9 @@ gcov_exit (void)
gcov_write_unsigned (0);
if ((error = gcov_close ()))
fprintf (stderr, error < 0 ?
- "profiling:%s:Overflow writing\n" :
- "profiling:%s:Error writing\n",
- gi_ptr->filename);
+ "profiling:%s%s:Overflow writing\n" :
+ "profiling:%s%s:Error writing\n",
+ gcov_prefix, gi_ptr->filename);
}
}
@@ -431,11 +503,69 @@ gcov_exit (void)
void
__gcov_init (struct gcov_info *info)
{
+ /* Save initial filename pointer to calculate CRC. */
+ const char *ptr = info->filename;
+
if (!info->version)
return;
+
+ /* Initialize directory prefix if requred */
+ if (gcov_prefix == 0)
+ {
+ if ((gcov_prefix = getenv("GCOV_PREFIX")))
+ {
+ char *tmp;
+
+ /* Normalize prefix: take off trailing separator. */
+ tmp = gcov_prefix + strlen(gcov_prefix) - 1;
+ if (IS_DIR_SEPARATOR(*tmp))
+ *tmp = '\0';
+
+ /* Check if the level of dirs to strip off specified */
+ if ((tmp = getenv("GCOV_PREFIX_STRIP")))
+ {
+ gcov_prefix_strip = atoi (tmp);
+ /* Do not consider negative values. */
+ if (gcov_prefix_strip < 0)
+ gcov_prefix_strip = 0;
+ };
+ }
+ else
+ gcov_prefix = (char *) "";
+ };
+
+ /* Strip off leading directories from the initial filename */
+ if (gcov_prefix_strip > 0)
+ {
+ char sep, *s;
+ int level;
+ const char *fname = info->filename;
+
+ /* Detect directory separator */
+ s = strrchr (fname, DIR_SEPARATOR);
+#ifdef DIR_SEPARATOR_2
+ if (! s)
+ s = strrchr (fname, DIR_SEPARATOR_2);
+#endif
+ if (s)
+ sep = *s;
+ else
+ sep = DIR_SEPARATOR;
+
+ /* Skip selected directory levels */
+ for ( level = gcov_prefix_strip; level > 0; level--)
+ if ((s = strchr(fname + 1, sep)))
+ fname = s;
+ else
+ break;
+
+ /* From this point info block refers stripped file name and
+ further operations must add prefix to get complete name.*/
+ info->filename = fname;
+ };
+
if (gcov_version (info, info->version))
{
- const char *ptr = info->filename;
gcov_unsigned_t crc32 = gcov_crc32;
do
--- gcc-4/gcc/tsystem.h.prefix 2005-03-29 16:06:26.000000000 -0800
+++ gcc-4/gcc/tsystem.h 2005-05-04 15:07:44.000000000 -0700
@@ -131,4 +131,15 @@ extern int errno;
unreachable default case of a switch. Do not use gcc_assert(0). */
#define gcc_unreachable() (abort ())
+/* Filename handling macros. */
+#include "filenames.h"
+
+/* These should be phased out in favor of IS_DIR_SEPARATOR, where possible. */
+#ifndef DIR_SEPARATOR
+# define DIR_SEPARATOR '/'
+# ifdef HAVE_DOS_BASED_FILE_SYSTEM
+# define DIR_SEPARATOR_2 '\\'
+# endif
+#endif
+
#endif /* ! GCC_TSYSTEM_H */

View File

@ -1,24 +0,0 @@
# Dimitry Andric <dimitry@andric.com>, 2004-05-01
#
# * Removed the extra -lfloat option from LIBGCC_SPEC, since it isn't needed
# anymore. (The required functions are now in libgcc.)
#
# Fixes errors like
# arm-softfloat-linux-gnu/3.4.0/../../../../arm-softfloat-linux-gnu/bin/ld: cannot find -lfloat
# collect2: ld returned 1 exit status
# make[2]: *** [arm-softfloat-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/iconvdata/ISO8859-1.so] Error 1
# when building glibc-2.3.3 with gcc-3.4.0 for arm-softfloat
Index: gcc-4.0.2/gcc/config/arm/linux-elf.h
===================================================================
--- gcc-4.0.2.orig/gcc/config/arm/linux-elf.h 2005-03-04 16:14:01.000000000 +0000
+++ gcc-4.0.2/gcc/config/arm/linux-elf.h 2005-11-11 18:02:54.000000000 +0000
@@ -56,7 +56,7 @@
%{shared:-lc} \
%{!shared:%{profile:-lc_p}%{!profile:-lc}}"
-#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
+#define LIBGCC_SPEC "-lgcc"
/* Provide a STARTFILE_SPEC appropriate for GNU/Linux. Here we add
the GNU/Linux magical crtbegin.o file (see crtstuff.c) which

View File

@ -1,16 +0,0 @@
Index: gcc-4.0.2/gcc/config/arm/t-linux
===================================================================
--- gcc-4.0.2.orig/gcc/config/arm/t-linux 2004-05-15 12:41:35.000000000 +0000
+++ gcc-4.0.2/gcc/config/arm/t-linux 2005-11-11 16:07:53.000000000 +0000
@@ -4,7 +4,10 @@
LIBGCC2_DEBUG_CFLAGS = -g0
LIB1ASMSRC = arm/lib1funcs.asm
-LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx
+LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \
+ _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
+ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
+ _fixsfsi _fixunssfsi _floatdidf _floatdisf
# MULTILIB_OPTIONS = mhard-float/msoft-float
# MULTILIB_DIRNAMES = hard-float soft-float

File diff suppressed because it is too large Load Diff

View File

@ -1,22 +0,0 @@
--- gcc-4.0.0/Makefile.tpl.old 2005-06-10 13:05:09.000000000 +0100
+++ gcc-4.0.0/Makefile.tpl 2005-06-10 13:05:10.000000000 +0100
@@ -339,7 +339,7 @@
NM = @NM@
LD = @LD@
-LDFLAGS =
+LDFLAGS = @LDFLAGS@
RANLIB = @RANLIB@
--- gcc-4.0.0/Makefile.in.old 2005-06-10 17:13:12.000000000 +0100
+++ gcc-4.0.0/Makefile.in 2005-06-10 17:13:22.000000000 +0100
@@ -336,7 +336,7 @@
NM = @NM@
LD = @LD@
-LDFLAGS =
+LDFLAGS = @LDFLAGS@
RANLIB = @RANLIB@

View File

@ -1,10 +0,0 @@
--- /tmp/configure 2007-06-02 09:26:29.000000000 +0200
+++ gcc-4.0.2/libstdc++-v3/configure 2007-06-02 09:26:40.135215000 +0200
@@ -101472,7 +101472,6 @@
_ACEOF
fi
-done
fi

View File

@ -1,140 +0,0 @@
gcc (AC_CHECK_HEADERS) is using $CPP to check if the header pass
the precompiler, if compiling with $CC failed.
Sadly $CC is xgcc of gcc, and $CPP is 'gcc -E'. And as you build
on a glibc machine, precompiling of the headers (execinfo.h and
iconv.h will succeed). As a dirty hack we will handle this case
as failure.
This fixes the libmudflap build for uclibc which lacks execinfo.h
but has HAVE_EXECINFO_H defined
Index: gcc-4.0.2/libmudflap/configure
===================================================================
--- gcc-4.0.2.orig/libmudflap/configure 2006-04-30 16:57:47.000000000 +0200
+++ gcc-4.0.2/libmudflap/configure 2006-04-30 17:00:59.000000000 +0200
@@ -3719,6 +3719,8 @@
ac_header_preproc=yes
;;
no:yes:* )
+ # hack, hack, hack
+ ac_header_preproc=no
{ echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
{ echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
@@ -3731,6 +3733,8 @@
echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
{ echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: Zecke says do not trust the wrong cpp! Ignoring." >&5
+echo "$as_me: WARNING: $ac_header: Zecke says do not trust the wrong cpp! Ignoring." >&2;}
(
cat <<\_ASBOX
## ------------------------------------- ##
Index: gcc-4.0.2/libstdc++-v3/configure
===================================================================
--- gcc-4.0.2.orig/libstdc++-v3/configure 2006-04-30 16:57:53.000000000 +0200
+++ gcc-4.0.2/libstdc++-v3/configure 2006-04-30 22:59:00.000000000 +0200
@@ -30513,6 +30513,7 @@
ac_header_preproc=yes
;;
no:yes:* )
+ ac_header_preproc=no
{ echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5
echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;}
{ echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5
@@ -30525,6 +30526,8 @@
echo "$as_me: WARNING: iconv.h: proceeding with the preprocessor's result" >&2;}
{ echo "$as_me:$LINENO: WARNING: iconv.h: in the future, the compiler will take precedence" >&5
echo "$as_me: WARNING: iconv.h: in the future, the compiler will take precedence" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: Zecke says do not trust the wrong cpp! Ignoring." >&5
+echo "$as_me: WARNING: $ac_header: Zecke says do not trust the wrong cpp! Ignoring." >&2;}
(
cat <<\_ASBOX
## ----------------------------------------- ##
@@ -53622,6 +53625,7 @@
ac_header_preproc=yes
;;
no:yes:* )
+ ac_header_preproc=no
{ echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5
echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;}
{ echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5
@@ -75885,6 +75889,7 @@
ac_header_preproc=yes
;;
no:yes:* )
+ ac_header_preproc=no
{ echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5
echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;}
{ echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5
@@ -78600,6 +78605,7 @@
ac_header_preproc=yes
;;
no:yes:* )
+ ac_header_preproc=no
{ echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5
echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;}
{ echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5
@@ -80969,6 +80975,7 @@
ac_header_preproc=yes
;;
no:yes:* )
+ ac_header_preproc=no
{ echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5
echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;}
{ echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5
@@ -83214,6 +83221,7 @@
ac_header_preproc=yes
;;
no:yes:* )
+ ac_header_preproc=no
{ echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5
echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;}
{ echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5
@@ -86227,6 +86235,7 @@
ac_header_preproc=yes
;;
no:yes:* )
+ ac_header_preproc=no
{ echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5
echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;}
{ echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5
@@ -88425,6 +88434,7 @@
ac_header_preproc=yes
;;
no:yes:* )
+ ac_header_preproc=no
{ echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5
echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;}
{ echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5
@@ -90672,6 +90682,7 @@
ac_header_preproc=yes
;;
no:yes:* )
+ ac_header_preproc=no
{ echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5
echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;}
{ echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5
@@ -93280,6 +93291,7 @@
ac_header_preproc=yes
;;
no:yes:* )
+ ac_header_preproc=no
{ echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5
echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;}
{ echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5
@@ -94996,6 +95008,7 @@
ac_header_preproc=yes
;;
no:yes:* )
+ ac_header_preproc=no
{ echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5
echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;}
{ echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5
@@ -97337,6 +97350,7 @@
ac_header_preproc=yes
;;
no:yes:* )
+ ac_header_preproc=no
{ echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5
echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;}
{ echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5

View File

@ -1,31 +0,0 @@
Index: gcc-4.0.2/gcc/c-incpath.c
===================================================================
--- gcc-4.0.2.orig/gcc/c-incpath.c 2005-01-23 16:05:27.000000000 +0100
+++ gcc-4.0.2/gcc/c-incpath.c 2006-05-15 21:23:02.000000000 +0200
@@ -350,6 +350,26 @@
p->construct = 0;
p->user_supplied_p = user_supplied_p;
+#ifdef CROSS_COMPILE
+ /* A common error when cross compiling is including
+ host headers. This code below will try to fail fast
+ for cross compiling. Currently we consider /usr/include,
+ /opt/include and /sw/include as harmful. */
+ {
+ /* printf("Adding Path: %s\n", p->name ); */
+ if( strstr(p->name, "/usr/include" ) == p->name ) {
+ fprintf(stderr, _("CROSS COMPILE Badness: /usr/include in INCLUDEPATH: %s\n"), p->name);
+ abort();
+ } else if( strstr(p->name, "/sw/include") == p->name ) {
+ fprintf(stderr, _("CROSS COMPILE Badness: /sw/include in INCLUDEPATH: %s\n"), p->name);
+ abort();
+ } else if( strstr(p->name, "/opt/include") == p->name ) {
+ fprintf(stderr, _("CROSS COMPILE Badness: /opt/include in INCLUDEPATH: %s\n"), p->name);
+ abort();
+ }
+ }
+#endif
+
add_cpp_dir_path (p, chain);
}

View File

@ -1,12 +0,0 @@
Index: gcc-4.0.2/Makefile.in
===================================================================
--- gcc-4.0.2.orig/Makefile.in 2006-08-06 13:17:09.000000000 +0200
+++ gcc-4.0.2/Makefile.in 2006-08-06 13:18:35.000000000 +0200
@@ -197,6 +197,7 @@
AS="$(AS_FOR_TARGET)"; export AS; \
CC="$(CC_FOR_TARGET)"; export CC; \
CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+ CPP="$(CC_FOR_TARGET) -E"; export CCP; \
CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \
CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \

View File

@ -1,4 +0,0 @@
require gcc-cross_${PV}.bb
require gcc-cross-initial.inc
EXTRA_OECONF += "--disable-multilib"

View File

@ -1,6 +0,0 @@
PR = "r10"
require gcc-${PV}.inc
require gcc-cross4.inc
require gcc-configure-cross.inc
require gcc-package-cross.inc

View File

@ -1,5 +0,0 @@
PR = "r7"
require gcc-${PV}.inc
require gcc-configure-target.inc
require gcc-package-target.inc