+# Add glibc to the overrides.
+OVERRIDES .= ":libc-glibc"
+
+# The things glibc can provide. We default to wanting glibc to provide them.
+PREFERRED_PROVIDER_virtual/libiconv ?= "external-toolchain-${TOOLCHAIN_BRAND}"
+PREFERRED_PROVIDER_virtual/libintl ?= "external-toolchain-${TOOLCHAIN_BRAND}"
+PREFERRED_PROVIDER_virtual/libc = "external-toolchain-${TOOLCHAIN_BRAND}"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "external-toolchain-${TOOLCHAIN_BRAND}"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "external-toolchain-${TOOLCHAIN_BRAND}"
+PREFERRED_PROVIDER_linux-libc-headers ?= "external-toolchain-${TOOLCHAIN_BRAND}"
+
+# glibc is configured for OLDEST_KERNEL kernel version, so we set minimal
+# sane versions there
+
+OLDEST_KERNEL ?= "2.4.0"
+
+# ARM OABI is fine with 2.4.0, EABI is not, so we override on "-gnueabi"
+# TARGET_OS here, not on architecture which is 'arm' in both cases
+OLDEST_KERNEL_linux-gnueabi ?= "2.6.14"
+OLDEST_KERNEL_sparc64 ?= "2.4.21"
+OLDEST_KERNEL_ppc64 ?= "2.4.21"
+# Add glibc to the overrides.
+OVERRIDES .= ":libc-glibc"
+
+# The things glibc can provide. We default to wanting glibc to provide them.
+PREFERRED_PROVIDER_virtual/libiconv ?= "glibc"
+PREFERRED_PROVIDER_virtual/libintl ?= "glibc"
+PREFERRED_PROVIDER_virtual/libc = "glibc"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "glibc-initial"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "glibc"
+PREFERRED_PROVIDER_linux-libc-headers = "linux-libc-headers"
+
+# glibc is configured for OLDEST_KERNEL kernel version, so we set minimal
+# sane versions there
+
+OLDEST_KERNEL ?= "2.4.0"
+
+# ARM OABI is fine with 2.4.0, EABI is not, so we override on "-gnueabi"
+# TARGET_OS here, not on architecture which is 'arm' in both cases
+OLDEST_KERNEL_linux-gnueabi ?= "2.6.14"
+OLDEST_KERNEL_sparc64 ?= "2.4.21"
+OLDEST_KERNEL_ppc64 ?= "2.4.21"
+# Toolchain specific virtuals
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "external-toolchain-${TOOLCHAIN_BRAND}"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial = "external-toolchain-${TOOLCHAIN_BRAND}"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-intermediate = "external-toolchain-${TOOLCHAIN_BRAND}"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "external-toolchain-${TOOLCHAIN_BRAND}"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "external-toolchain-${TOOLCHAIN_BRAND}"
+# Toolchain specific virtuals
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "binutils-cross"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial = "gcc-cross-initial"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-intermediate = "gcc-cross-intermediate"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "gcc-cross"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "gcc-cross"