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:
parent
1f909ea02c
commit
fc8e9ffda6
|
@ -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"
|
||||
|
|
@ -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
|
@ -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
|
|
@ -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
|
|
@ -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 ()
|
||||
{
|
|
@ -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
|
|
@ -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 */
|
|
@ -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
|
|
@ -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
|
@ -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@
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
|
@ -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);
|
||||
}
|
||||
|
|
@ -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; \
|
|
@ -1,4 +0,0 @@
|
|||
require gcc-cross_${PV}.bb
|
||||
require gcc-cross-initial.inc
|
||||
|
||||
EXTRA_OECONF += "--disable-multilib"
|
|
@ -1,6 +0,0 @@
|
|||
PR = "r10"
|
||||
|
||||
require gcc-${PV}.inc
|
||||
require gcc-cross4.inc
|
||||
require gcc-configure-cross.inc
|
||||
require gcc-package-cross.inc
|
|
@ -1,5 +0,0 @@
|
|||
PR = "r7"
|
||||
|
||||
require gcc-${PV}.inc
|
||||
require gcc-configure-target.inc
|
||||
require gcc-package-target.inc
|
Loading…
Reference in New Issue