From 1027c535ea753e63d9ffe469a423e04467cf8940 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 28 Aug 2014 06:00:54 +0000 Subject: glibc: Migrate eglibc 2.19 -> glibc 2.20 - This is a big swoop change where we switch to using glibc - option-groups are forward ported - cross-localedef is extracted out from eglibc and hosted at github.com/kraj/localedef, its used for cross-localedef recipe - Other non ported patches from eglibc are forward ported ppc8xx cache line workaround SH fpcr values dynamic resolver installing PIC archives is there but is not applied libc header bootstrap - Delete eglibc recipes we moved back to using glibc now - Fix ppc/e500 build - Fix crypt module build when options are used - Fix fnmatch build when options OPTION_EGLIBC_LOCALE_CODE is unset HAVE_MBSTATE_T and HAVE_MBSRTOWCS should be defined conditionally based upon OPTION_EGLIBC_LOCALE_CODE being set/unset - Move the ports/ patches to relevant files now that ports is gone Signed-off-by: Khem Raj --- .../fix_for_centos_5.8.patch | 18 - .../eglibc/cross-localedef-native_2.19.bb | 48 - .../eglibc-2.19/0001-R_ARM_TLS_DTPOFF32.patch | 56 - .../0001-eglibc-menuconfig-support.patch | 912 - ...n-libm-err-tab.pl-with-specific-dirs-in-S.patch | 36 - ...0002-eglibc-menuconfig-hex-string-options.patch | 169 - ...0003-eglibc-menuconfig-build-instructions.patch | 176 - .../eglibc/eglibc-2.19/GLRO_dl_debug_mask.patch | 143 - .../eglibc/eglibc-2.19/IO-acquire-lock-fix.patch | 17 - .../eglibc-2.19/add_resource_h_to_wait_h.patch | 20 - .../eglibc-svn-arm-lowlevellock-include-tls.patch | 21 - .../eglibc_fix_findidx_parameters.patch | 38 - .../recipes-core/eglibc/eglibc-2.19/etc/ld.so.conf | 0 .../eglibc-2.19/fileops-without-wchar-io.patch | 22 - .../eglibc/eglibc-2.19/fix-tibetian-locales.patch | 38 - .../eglibc/eglibc-2.19/fix_am_rootsbindir.patch | 32 - .../eglibc/eglibc-2.19/fsl-ppc-no-fsqrt.patch | 100 - .../eglibc/eglibc-2.19/generate-supported.mk | 11 - .../eglibc/eglibc-2.19/glibc.fix_sqrt2.patch | 1516 -- .../eglibc/eglibc-2.19/grok_gold.patch | 34 - .../eglibc/eglibc-2.19/initgroups_keys.patch | 20 - .../eglibc/eglibc-2.19/ld-search-order.patch | 56 - .../eglibc/eglibc-2.19/mips-rld-map-check.patch | 26 - .../eglibc/eglibc-2.19/multilib_readlib.patch | 17 - .../eglibc/eglibc-2.19/ppc-sqrt_finite.patch | 184 - .../eglibc/eglibc-2.19/ppc_slow_ieee754_sqrt.patch | 365 - .../ppce6500-32b_slow_ieee754_sqrt.patch | 47 - .../eglibc/eglibc-2.19/relocatable_sdk.patch | 108 - .../eglibc-2.19/relocatable_sdk_fix_openpath.patch | 41 - .../timezone-re-written-tzselect-as-posix-sh.patch | 40 - meta/recipes-core/eglibc/eglibc-collateral.inc | 12 - meta/recipes-core/eglibc/eglibc-common.inc | 9 - meta/recipes-core/eglibc/eglibc-initial.inc | 78 - meta/recipes-core/eglibc/eglibc-initial_2.19.bb | 11 - meta/recipes-core/eglibc/eglibc-ld.inc | 56 - meta/recipes-core/eglibc/eglibc-locale.inc | 96 - meta/recipes-core/eglibc/eglibc-locale_2.19.bb | 1 - meta/recipes-core/eglibc/eglibc-mtrace.inc | 13 - meta/recipes-core/eglibc/eglibc-mtrace_2.19.bb | 1 - meta/recipes-core/eglibc/eglibc-options.inc | 162 - meta/recipes-core/eglibc/eglibc-package.inc | 157 - meta/recipes-core/eglibc/eglibc-scripts.inc | 16 - meta/recipes-core/eglibc/eglibc-scripts_2.19.bb | 1 - meta/recipes-core/eglibc/eglibc-testing.inc | 79 - meta/recipes-core/eglibc/eglibc.inc | 92 - meta/recipes-core/eglibc/eglibc_2.19.bb | 145 - .../eglibc/ldconfig-native-2.12.1/32and64bit.patch | 331 - .../eglibc/ldconfig-native-2.12.1/README | 8 - .../endian-ness_handling.patch | 454 - .../ldconfig-native-2.12.1/endianess-header.patch | 113 - .../eglibc/ldconfig-native-2.12.1/flag_fix.patch | 24 - .../ldconfig-default-to-all-multilib-dirs.patch | 37 - .../ldconfig-native-2.12.1.tar.bz2 | Bin 21491 -> 0 bytes .../eglibc/ldconfig-native-2.12.1/ldconfig.patch | 471 - .../ldconfig_aux-cache_path_fix.patch | 36 - meta/recipes-core/eglibc/ldconfig-native_2.12.1.bb | 32 - meta/recipes-core/eglibc/site_config/funcs | 474 - meta/recipes-core/eglibc/site_config/headers | 156 - meta/recipes-core/eglibc/site_config/types | 21 - .../fix_for_centos_5.8.patch | 18 + .../glibc/cross-localedef-native_2.20.bb | 52 + meta/recipes-core/glibc/glibc-collateral.inc | 12 + meta/recipes-core/glibc/glibc-common.inc | 9 + meta/recipes-core/glibc/glibc-initial.inc | 78 + meta/recipes-core/glibc/glibc-initial_2.20.bb | 11 + meta/recipes-core/glibc/glibc-ld.inc | 56 + meta/recipes-core/glibc/glibc-locale.inc | 96 + meta/recipes-core/glibc/glibc-locale_2.20.bb | 1 + meta/recipes-core/glibc/glibc-mtrace.inc | 13 + meta/recipes-core/glibc/glibc-mtrace_2.20.bb | 1 + meta/recipes-core/glibc/glibc-options.inc | 162 + meta/recipes-core/glibc/glibc-package.inc | 157 + meta/recipes-core/glibc/glibc-scripts.inc | 16 + meta/recipes-core/glibc/glibc-scripts_2.20.bb | 1 + meta/recipes-core/glibc/glibc-testing.inc | 79 + meta/recipes-core/glibc/glibc.inc | 92 + .../0001-Define-__GI_fegetenv-for-e500-libm.patch | 45 + .../glibc/glibc/0001-R_ARM_TLS_DTPOFF32.patch | 56 + ...n-libm-err-tab.pl-with-specific-dirs-in-S.patch | 33 + .../glibc/glibc/GLRO_dl_debug_mask.patch | 529 + .../glibc/glibc/IO-acquire-lock-fix.patch | 17 + .../glibc/glibc/add_resource_h_to_wait_h.patch | 20 + .../glibc/glibc/eglibc-header-bootstrap.patch | 85 + .../glibc/glibc/eglibc-install-pic-archives.patch | 109 + .../eglibc-ppc8xx-cache-line-workaround.patch | 68 + .../glibc/glibc/eglibc-resolv-dynamic.patch | 54 + .../glibc/glibc/eglibc-sh4-fpscr_values.patch | 42 + .../glibc/glibc/eglibc-use-option-groups.patch | 16631 +++++++++++++++++++ meta/recipes-core/glibc/glibc/eglibc.patch | 602 + meta/recipes-core/glibc/glibc/etc/ld.so.conf | 0 .../glibc/glibc/fix-tibetian-locales.patch | 38 + .../glibc/glibc/fix_am_rootsbindir.patch | 29 + .../glibc/glibc/fsl-ppc-no-fsqrt.patch | 100 + .../recipes-core/glibc/glibc/generate-supported.mk | 11 + .../recipes-core/glibc/glibc/glibc.fix_sqrt2.patch | 1516 ++ meta/recipes-core/glibc/glibc/grok_gold.patch | 34 + .../recipes-core/glibc/glibc/initgroups_keys.patch | 20 + .../recipes-core/glibc/glibc/ld-search-order.patch | 56 + .../glibc/glibc/mips-rld-map-check.patch | 27 + .../glibc/glibc/multilib_readlib.patch | 19 + meta/recipes-core/glibc/glibc/option-groups.patch | 1397 ++ .../recipes-core/glibc/glibc/ppc-sqrt_finite.patch | 184 + .../glibc/glibc/ppc_slow_ieee754_sqrt.patch | 365 + .../glibc/ppce6500-32b_slow_ieee754_sqrt.patch | 47 + .../recipes-core/glibc/glibc/relocatable_sdk.patch | 108 + .../glibc/glibc/relocatable_sdk_fix_openpath.patch | 41 + .../timezone-re-written-tzselect-as-posix-sh.patch | 38 + meta/recipes-core/glibc/glibc_2.20.bb | 154 + .../glibc/ldconfig-native-2.12.1/32and64bit.patch | 331 + .../glibc/ldconfig-native-2.12.1/README | 8 + .../endian-ness_handling.patch | 454 + .../ldconfig-native-2.12.1/endianess-header.patch | 113 + .../glibc/ldconfig-native-2.12.1/flag_fix.patch | 24 + .../ldconfig-default-to-all-multilib-dirs.patch | 37 + .../ldconfig-native-2.12.1.tar.bz2 | Bin 0 -> 21491 bytes .../glibc/ldconfig-native-2.12.1/ldconfig.patch | 471 + .../ldconfig_aux-cache_path_fix.patch | 36 + meta/recipes-core/glibc/ldconfig-native_2.12.1.bb | 32 + meta/recipes-core/glibc/site_config/funcs | 474 + meta/recipes-core/glibc/site_config/headers | 156 + meta/recipes-core/glibc/site_config/types | 21 + 121 files changed, 25486 insertions(+), 7397 deletions(-) delete mode 100644 meta/recipes-core/eglibc/cross-localedef-native-2.19/fix_for_centos_5.8.patch delete mode 100644 meta/recipes-core/eglibc/cross-localedef-native_2.19.bb delete mode 100644 meta/recipes-core/eglibc/eglibc-2.19/0001-R_ARM_TLS_DTPOFF32.patch delete mode 100644 meta/recipes-core/eglibc/eglibc-2.19/0001-eglibc-menuconfig-support.patch delete mode 100644 meta/recipes-core/eglibc/eglibc-2.19/0001-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch delete mode 100644 meta/recipes-core/eglibc/eglibc-2.19/0002-eglibc-menuconfig-hex-string-options.patch delete mode 100644 meta/recipes-core/eglibc/eglibc-2.19/0003-eglibc-menuconfig-build-instructions.patch delete mode 100644 meta/recipes-core/eglibc/eglibc-2.19/GLRO_dl_debug_mask.patch delete mode 100644 meta/recipes-core/eglibc/eglibc-2.19/IO-acquire-lock-fix.patch delete mode 100644 meta/recipes-core/eglibc/eglibc-2.19/add_resource_h_to_wait_h.patch delete mode 100644 meta/recipes-core/eglibc/eglibc-2.19/eglibc-svn-arm-lowlevellock-include-tls.patch delete mode 100644 meta/recipes-core/eglibc/eglibc-2.19/eglibc_fix_findidx_parameters.patch delete mode 100644 meta/recipes-core/eglibc/eglibc-2.19/etc/ld.so.conf delete mode 100644 meta/recipes-core/eglibc/eglibc-2.19/fileops-without-wchar-io.patch delete mode 100644 meta/recipes-core/eglibc/eglibc-2.19/fix-tibetian-locales.patch delete mode 100644 meta/recipes-core/eglibc/eglibc-2.19/fix_am_rootsbindir.patch delete mode 100644 meta/recipes-core/eglibc/eglibc-2.19/fsl-ppc-no-fsqrt.patch delete mode 100644 meta/recipes-core/eglibc/eglibc-2.19/generate-supported.mk delete mode 100644 meta/recipes-core/eglibc/eglibc-2.19/glibc.fix_sqrt2.patch delete mode 100644 meta/recipes-core/eglibc/eglibc-2.19/grok_gold.patch delete mode 100644 meta/recipes-core/eglibc/eglibc-2.19/initgroups_keys.patch delete mode 100644 meta/recipes-core/eglibc/eglibc-2.19/ld-search-order.patch delete mode 100644 meta/recipes-core/eglibc/eglibc-2.19/mips-rld-map-check.patch delete mode 100644 meta/recipes-core/eglibc/eglibc-2.19/multilib_readlib.patch delete mode 100644 meta/recipes-core/eglibc/eglibc-2.19/ppc-sqrt_finite.patch delete mode 100644 meta/recipes-core/eglibc/eglibc-2.19/ppc_slow_ieee754_sqrt.patch delete mode 100644 meta/recipes-core/eglibc/eglibc-2.19/ppce6500-32b_slow_ieee754_sqrt.patch delete mode 100644 meta/recipes-core/eglibc/eglibc-2.19/relocatable_sdk.patch delete mode 100644 meta/recipes-core/eglibc/eglibc-2.19/relocatable_sdk_fix_openpath.patch delete mode 100644 meta/recipes-core/eglibc/eglibc-2.19/timezone-re-written-tzselect-as-posix-sh.patch delete mode 100644 meta/recipes-core/eglibc/eglibc-collateral.inc delete mode 100644 meta/recipes-core/eglibc/eglibc-common.inc delete mode 100644 meta/recipes-core/eglibc/eglibc-initial.inc delete mode 100644 meta/recipes-core/eglibc/eglibc-initial_2.19.bb delete mode 100644 meta/recipes-core/eglibc/eglibc-ld.inc delete mode 100644 meta/recipes-core/eglibc/eglibc-locale.inc delete mode 100644 meta/recipes-core/eglibc/eglibc-locale_2.19.bb delete mode 100644 meta/recipes-core/eglibc/eglibc-mtrace.inc delete mode 100644 meta/recipes-core/eglibc/eglibc-mtrace_2.19.bb delete mode 100644 meta/recipes-core/eglibc/eglibc-options.inc delete mode 100644 meta/recipes-core/eglibc/eglibc-package.inc delete mode 100644 meta/recipes-core/eglibc/eglibc-scripts.inc delete mode 100644 meta/recipes-core/eglibc/eglibc-scripts_2.19.bb delete mode 100644 meta/recipes-core/eglibc/eglibc-testing.inc delete mode 100644 meta/recipes-core/eglibc/eglibc.inc delete mode 100644 meta/recipes-core/eglibc/eglibc_2.19.bb delete mode 100644 meta/recipes-core/eglibc/ldconfig-native-2.12.1/32and64bit.patch delete mode 100644 meta/recipes-core/eglibc/ldconfig-native-2.12.1/README delete mode 100644 meta/recipes-core/eglibc/ldconfig-native-2.12.1/endian-ness_handling.patch delete mode 100644 meta/recipes-core/eglibc/ldconfig-native-2.12.1/endianess-header.patch delete mode 100644 meta/recipes-core/eglibc/ldconfig-native-2.12.1/flag_fix.patch delete mode 100644 meta/recipes-core/eglibc/ldconfig-native-2.12.1/ldconfig-default-to-all-multilib-dirs.patch delete mode 100644 meta/recipes-core/eglibc/ldconfig-native-2.12.1/ldconfig-native-2.12.1.tar.bz2 delete mode 100644 meta/recipes-core/eglibc/ldconfig-native-2.12.1/ldconfig.patch delete mode 100644 meta/recipes-core/eglibc/ldconfig-native-2.12.1/ldconfig_aux-cache_path_fix.patch delete mode 100644 meta/recipes-core/eglibc/ldconfig-native_2.12.1.bb delete mode 100644 meta/recipes-core/eglibc/site_config/funcs delete mode 100644 meta/recipes-core/eglibc/site_config/headers delete mode 100644 meta/recipes-core/eglibc/site_config/types create mode 100644 meta/recipes-core/glibc/cross-localedef-native/fix_for_centos_5.8.patch create mode 100644 meta/recipes-core/glibc/cross-localedef-native_2.20.bb create mode 100644 meta/recipes-core/glibc/glibc-collateral.inc create mode 100644 meta/recipes-core/glibc/glibc-common.inc create mode 100644 meta/recipes-core/glibc/glibc-initial.inc create mode 100644 meta/recipes-core/glibc/glibc-initial_2.20.bb create mode 100644 meta/recipes-core/glibc/glibc-ld.inc create mode 100644 meta/recipes-core/glibc/glibc-locale.inc create mode 100644 meta/recipes-core/glibc/glibc-locale_2.20.bb create mode 100644 meta/recipes-core/glibc/glibc-mtrace.inc create mode 100644 meta/recipes-core/glibc/glibc-mtrace_2.20.bb create mode 100644 meta/recipes-core/glibc/glibc-options.inc create mode 100644 meta/recipes-core/glibc/glibc-package.inc create mode 100644 meta/recipes-core/glibc/glibc-scripts.inc create mode 100644 meta/recipes-core/glibc/glibc-scripts_2.20.bb create mode 100644 meta/recipes-core/glibc/glibc-testing.inc create mode 100644 meta/recipes-core/glibc/glibc.inc create mode 100644 meta/recipes-core/glibc/glibc/0001-Define-__GI_fegetenv-for-e500-libm.patch create mode 100644 meta/recipes-core/glibc/glibc/0001-R_ARM_TLS_DTPOFF32.patch create mode 100644 meta/recipes-core/glibc/glibc/0001-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch create mode 100644 meta/recipes-core/glibc/glibc/GLRO_dl_debug_mask.patch create mode 100644 meta/recipes-core/glibc/glibc/IO-acquire-lock-fix.patch create mode 100644 meta/recipes-core/glibc/glibc/add_resource_h_to_wait_h.patch create mode 100644 meta/recipes-core/glibc/glibc/eglibc-header-bootstrap.patch create mode 100644 meta/recipes-core/glibc/glibc/eglibc-install-pic-archives.patch create mode 100644 meta/recipes-core/glibc/glibc/eglibc-ppc8xx-cache-line-workaround.patch create mode 100644 meta/recipes-core/glibc/glibc/eglibc-resolv-dynamic.patch create mode 100644 meta/recipes-core/glibc/glibc/eglibc-sh4-fpscr_values.patch create mode 100644 meta/recipes-core/glibc/glibc/eglibc-use-option-groups.patch create mode 100644 meta/recipes-core/glibc/glibc/eglibc.patch create mode 100644 meta/recipes-core/glibc/glibc/etc/ld.so.conf create mode 100644 meta/recipes-core/glibc/glibc/fix-tibetian-locales.patch create mode 100644 meta/recipes-core/glibc/glibc/fix_am_rootsbindir.patch create mode 100644 meta/recipes-core/glibc/glibc/fsl-ppc-no-fsqrt.patch create mode 100644 meta/recipes-core/glibc/glibc/generate-supported.mk create mode 100644 meta/recipes-core/glibc/glibc/glibc.fix_sqrt2.patch create mode 100644 meta/recipes-core/glibc/glibc/grok_gold.patch create mode 100644 meta/recipes-core/glibc/glibc/initgroups_keys.patch create mode 100644 meta/recipes-core/glibc/glibc/ld-search-order.patch create mode 100644 meta/recipes-core/glibc/glibc/mips-rld-map-check.patch create mode 100644 meta/recipes-core/glibc/glibc/multilib_readlib.patch create mode 100644 meta/recipes-core/glibc/glibc/option-groups.patch create mode 100644 meta/recipes-core/glibc/glibc/ppc-sqrt_finite.patch create mode 100644 meta/recipes-core/glibc/glibc/ppc_slow_ieee754_sqrt.patch create mode 100644 meta/recipes-core/glibc/glibc/ppce6500-32b_slow_ieee754_sqrt.patch create mode 100644 meta/recipes-core/glibc/glibc/relocatable_sdk.patch create mode 100644 meta/recipes-core/glibc/glibc/relocatable_sdk_fix_openpath.patch create mode 100644 meta/recipes-core/glibc/glibc/timezone-re-written-tzselect-as-posix-sh.patch create mode 100644 meta/recipes-core/glibc/glibc_2.20.bb create mode 100644 meta/recipes-core/glibc/ldconfig-native-2.12.1/32and64bit.patch create mode 100644 meta/recipes-core/glibc/ldconfig-native-2.12.1/README create mode 100644 meta/recipes-core/glibc/ldconfig-native-2.12.1/endian-ness_handling.patch create mode 100644 meta/recipes-core/glibc/ldconfig-native-2.12.1/endianess-header.patch create mode 100644 meta/recipes-core/glibc/ldconfig-native-2.12.1/flag_fix.patch create mode 100644 meta/recipes-core/glibc/ldconfig-native-2.12.1/ldconfig-default-to-all-multilib-dirs.patch create mode 100644 meta/recipes-core/glibc/ldconfig-native-2.12.1/ldconfig-native-2.12.1.tar.bz2 create mode 100644 meta/recipes-core/glibc/ldconfig-native-2.12.1/ldconfig.patch create mode 100644 meta/recipes-core/glibc/ldconfig-native-2.12.1/ldconfig_aux-cache_path_fix.patch create mode 100644 meta/recipes-core/glibc/ldconfig-native_2.12.1.bb create mode 100644 meta/recipes-core/glibc/site_config/funcs create mode 100644 meta/recipes-core/glibc/site_config/headers create mode 100644 meta/recipes-core/glibc/site_config/types (limited to 'meta') diff --git a/meta/recipes-core/eglibc/cross-localedef-native-2.19/fix_for_centos_5.8.patch b/meta/recipes-core/eglibc/cross-localedef-native-2.19/fix_for_centos_5.8.patch deleted file mode 100644 index 7618c99534..0000000000 --- a/meta/recipes-core/eglibc/cross-localedef-native-2.19/fix_for_centos_5.8.patch +++ /dev/null @@ -1,18 +0,0 @@ -Upstream-Status: Inappropriate [other] - -This is a hack to fix building the locale bits on an older -CentOs 5.X machine - -Index: eglibc-2_16/libc/locale/programs/config.h -=================================================================== ---- eglibc-2_16.orig/libc/locale/programs/config.h -+++ eglibc-2_16/libc/locale/programs/config.h -@@ -19,6 +19,8 @@ - #ifndef _LD_CONFIG_H - #define _LD_CONFIG_H 1 - -+#define DUMMY_LOCALE_T -+ - /* Use the internal textdomain used for libc messages. */ - #define PACKAGE _libc_intl_domainname - #ifndef VERSION diff --git a/meta/recipes-core/eglibc/cross-localedef-native_2.19.bb b/meta/recipes-core/eglibc/cross-localedef-native_2.19.bb deleted file mode 100644 index 1c13eb824a..0000000000 --- a/meta/recipes-core/eglibc/cross-localedef-native_2.19.bb +++ /dev/null @@ -1,48 +0,0 @@ -SUMMARY = "Cross locale generation tool for eglibc" -HOMEPAGE = "http://www.eglibc.org/home" -SECTION = "libs" -LICENSE = "LGPL-2.1" - -LIC_DIR = "${WORKDIR}/eglibc-${PV}/libc" -LIC_FILES_CHKSUM = "file://${LIC_DIR}/LICENSES;md5=e9a558e243b36d3209f380deb394b213 \ - file://${LIC_DIR}/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://${LIC_DIR}/posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \ - file://${LIC_DIR}/COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" - - -inherit native -inherit autotools - -FILESEXTRAPATHS =. "${FILE_DIRNAME}/${P}:" - -SRC_URI = "http://downloads.yoctoproject.org/releases/eglibc/eglibc-${PV}-svnr25243.tar.bz2 \ - file://fix_for_centos_5.8.patch;patchdir=.. \ - " -SRC_URI[md5sum] = "197836c2ba42fb146e971222647198dd" -SRC_URI[sha256sum] = "baaa030531fc308f7820c46acdf8e1b2f8e3c1f40bcd28b6e440d1c95d170d4c" - -S = "${WORKDIR}/eglibc-${PV}/localedef" - -do_unpack_append() { - bb.build.exec_func('do_move_ports', d) -} - -do_move_ports() { - if test -d ${WORKDIR}/eglibc-${PV}/ports ; then - rm -rf ${WORKDIR}/libc/ports - mv ${WORKDIR}/eglibc-${PV}/ports ${WORKDIR}/libc/ - fi -} - -EXTRA_OECONF = "--with-glibc=${WORKDIR}/eglibc-${PV}/libc" -CFLAGS += "-DNOT_IN_libc=1" - -do_configure () { - ${S}/configure ${EXTRA_OECONF} -} - - -do_install() { - install -d ${D}${bindir} - install -m 0755 ${B}/localedef ${D}${bindir}/cross-localedef -} diff --git a/meta/recipes-core/eglibc/eglibc-2.19/0001-R_ARM_TLS_DTPOFF32.patch b/meta/recipes-core/eglibc/eglibc-2.19/0001-R_ARM_TLS_DTPOFF32.patch deleted file mode 100644 index b4489e9ae9..0000000000 --- a/meta/recipes-core/eglibc/eglibc-2.19/0001-R_ARM_TLS_DTPOFF32.patch +++ /dev/null @@ -1,56 +0,0 @@ - -Quote from bug 1443 which explains what the patch does : - - We build some random program and link it with -lust. When we run it, - it dies with a SIGSEGV before reaching main(). - - Libust.so depends on liburcu-bp.so from the usermode-rcu package. - Although libust.so is not prelinked, liburcu-bp.so IS prelinked; this - is critical. - - Libust.so uses a TLS / __thread variable that is defined in liburcu- - bp.so. There are special ARM-specific relocation types that allow two - shared libraries to share thread-specific data. This is critical too. - - One more critical issue: although liburcu-bp.so is prelinked, we can't - load it at its prelinked address, because we also link against - librt.so, and librt.so uses that address. - - The dynamic linker is forced to relink liburcu-bp.so at a different - address. In the course of relinking, it processes the special ARM - relocation record mentioned above. The prelinker has already filled - in the information, which is a short offset into a table of thread- - specific data that is allocated per-thread for each library that uses - TLS. Because the normal behavior of a relocation is to add the symbol - value to an addend stored at the address being relocated, we end up - adding the short offset to itself, doubling it. - - Now we have an awkward situation. The libust.so library doesn't know - about the addend, so its TLS data for this element is correct. The - liburcu-bp.so library has a different offset for the element. When we - go to initialize the element for the first time in liburcu-bp.so, we - write the address of the result at the doubled (broken) offset. - Later, when we refer to the address from libust.so, we check the value - at the correct offset, but it's NULL, so we eat hot SIGSEGV. - -Upstream-Status: Pending - -Signed-off-by: Andrei Dinu ---- - .../libc/ports/sysdeps/arm/dl-machine.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -ndex 8d905e8..dcfa71e 100644 ---- libc.orig/ports/sysdeps/arm/dl-machine.h -+++ libc/ports/sysdeps/arm/dl-machine.h -@@ -503,7 +503,7 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc, - - case R_ARM_TLS_DTPOFF32: - if (sym != NULL) -- *reloc_addr += sym->st_value; -+ *reloc_addr = sym->st_value; - break; - - case R_ARM_TLS_TPOFF32: --- - diff --git a/meta/recipes-core/eglibc/eglibc-2.19/0001-eglibc-menuconfig-support.patch b/meta/recipes-core/eglibc/eglibc-2.19/0001-eglibc-menuconfig-support.patch deleted file mode 100644 index 4559a110fb..0000000000 --- a/meta/recipes-core/eglibc/eglibc-2.19/0001-eglibc-menuconfig-support.patch +++ /dev/null @@ -1,912 +0,0 @@ -Pulled from -http://www.eglibc.org/archives/patches/msg01042.html - -Upstream-Status: Pending -Signed-off-by: Khem - -Hi, - -This patch adds 'make menuconfig' support to EGLIBC. - - -EGLIBC can re-use the Linux kernel kconfig host tools ('conf' and 'mconf') unmodified, by passing appropriate environment variables and with some pre- and post-processing on the input/output config files. - -There are three new make targets supported, which all are defined in the new libc/options-config/Makefile, which is included by the top-level libc/Makefile: - -- 'make defconfig'. This passes 'libc/option-groups.defaults' to 'conf' as a default config, and outputs 'option-groups.config' to the top-level build directory, which will be the same as the default config. - -- 'make config'. This is the same line-oriented interface as in the Linux kernel. Input and output is 'option-groups.config' in the top-level build directory. - -- 'make menuconfig'. This is the same menu-based interface as in the Linux kernel. Input and output is 'option-groups.config' in the top-level build directory. - - -Pre-Processing: - - -The Linux kernel kconfig tools expect a prefix of "CONFIG_" on all config option names, but EGLIBC expects a prefix of "OPTION_". The pre-processing script, libc/options-config/config-preproc.pl, simply replaces "CONFIG_ with "OPTION_" in the given config file. The libc/options-config/Makefile passes the script output to a temporary config file, which is then passed to 'conf' or 'mconf'. - -Post-Processing (libc/options-config/config-postproc.pl): - - -- Disabled options are output as a comment line of the form "# CONFIG_FOO is not set". This needs to be changed to an explicit "CONFIG_FOO=n" in order to be compatible with 'option-groups.awk' which generates the option-groups.h header. - -- "CONFIG_" prefix is changed back to "OPTION_". - - -- The kconfig tools will not output anything for options that depend on a parent option, when the parent option is disabled. This implicit disable must be converted to an explicit "CONFIG_FOO=n" in order to be compatible with the way EGLIBC overrides the default option settings in 'libc/option-groups.defaults' with those in 'option-groups.config'. - - -A new configure option, '--with-kconfig=', tells EGLIBC where to find the pre-built 'conf' and 'mconf' host tools from Linux kernel builds. - -libc/EGLIBC.cross-building is updated to include instructions for using '--with-kconfig' for the final EGLIBC build, and shows how and when to run 'make *config'. - -libc/EGLIBC.option-groups is updated to include new information on the menuconfig support. - -Thanks, - -attached is the updated patch to address above issues. - -Steve - --- -Steve Longerbeam | Senior Embedded Engineer, ESD Services -Mentor Embedded(tm) | 46871 Bayside Parkway, Fremont, CA 94538 -P 510.354.5838 | M 408.410.2735 -Nucleus(r) | Linux(r) | Android(tm) | Services | UI | Multi-OS - - -Index: libc/EGLIBC.cross-building -=================================================================== ---- libc.orig/EGLIBC.cross-building -+++ libc/EGLIBC.cross-building -@@ -243,9 +243,29 @@ full EGLIBC build: - > $src/libc/configure \ - > --prefix=/usr \ - > --with-headers=$sysroot/usr/include \ -+ > --with-kconfig=$obj/linux/scripts/kconfig \ - > --build=$build \ - > --host=$target \ - > --disable-profile --without-gd --without-cvs --enable-add-ons -+ -+Note the additional '--with-kconfig' option. This tells EGLIBC where to -+find the host config tools used by the kernel 'make config' and 'make -+menuconfig'. These tools can be re-used by EGLIBC for its own 'make -+*config' support, which will create 'option-groups.config' for you. -+But first make sure those tools have been built by running some -+dummy 'make *config' calls in the kernel directory: -+ -+ $ cd $obj/linux -+ $ PATH=$tools/bin:$PATH make config \ -+ > ARCH=$linux_arch CROSS_COMPILE=$target- \ -+ $ PATH=$tools/bin:$PATH make menuconfig \ -+ > ARCH=$linux_arch CROSS_COMPILE=$target- \ -+ -+Now we can configure and build the full EGLIBC: -+ -+ $ cd $obj/eglibc -+ $ PATH=$tools/bin:$PATH make defconfig -+ $ PATH=$tools/bin:$PATH make menuconfig - $ PATH=$tools/bin:$PATH make - $ PATH=$tools/bin:$PATH make install install_root=$sysroot - -Index: libc/configure.ac -=================================================================== ---- libc.orig/configure.ac -+++ libc/configure.ac -@@ -127,6 +127,16 @@ AC_ARG_WITH([headers], - [sysheaders='']) - AC_SUBST(sysheaders) - -+AC_ARG_WITH([kconfig], -+ AC_HELP_STRING([--with-kconfig=PATH], -+ [location of kconfig tools to use (from Linux -+ kernel builds) to re-use for configuring EGLIBC -+ option groups]), -+ [KCONFIG_TOOLS=$withval], -+ [KCONFIG_TOOLS='']) -+AC_SUBST(KCONFIG_TOOLS) -+ -+ - AC_SUBST(use_default_link) - AC_ARG_WITH([default-link], - AC_HELP_STRING([--with-default-link], -Index: libc/config.make.in -=================================================================== ---- libc.orig/config.make.in -+++ libc/config.make.in -@@ -45,6 +45,8 @@ sysincludes = @SYSINCLUDES@ - c++-sysincludes = @CXX_SYSINCLUDES@ - all-warnings = @all_warnings@ - -+kconfig_tools = @KCONFIG_TOOLS@ -+ - have-z-combreloc = @libc_cv_z_combreloc@ - have-z-execstack = @libc_cv_z_execstack@ - have-Bgroup = @libc_cv_Bgroup@ -Index: libc/options-config/config-postproc.pl -=================================================================== ---- /dev/null -+++ libc/options-config/config-postproc.pl -@@ -0,0 +1,54 @@ -+#!/usr/bin/perl -+ -+$usage = "usage: $0 \n"; -+ -+die "$usage" unless @ARGV; -+$defaults = shift @ARGV; -+die "$usage" unless @ARGV; -+die "Could not open $ARGV[0]" unless -T $ARGV[0]; -+ -+sub yank { -+ @option = grep($_ ne $_[0], @option); -+} -+ -+open(DEFAULTS, $defaults) || die "Could not open $defaults\n"; -+ -+# get the full list of available options using the default config file -+$i = 0; -+while () { -+ if (/^\s*OPTION_(\w+)\s*=/) { -+ $option[$i++] = $1; -+ } -+} -+ -+# now go through the config file, making the necessary changes -+while (<>) { -+ if (/Linux Kernel Configuration/) { -+ # change title -+ s/Linux Kernel/Option Groups/; -+ print; -+ } elsif (/^\s*CONFIG_(\w+)\s*=/) { -+ # this is an explicit option set line, change CONFIG_ to OPTION_ -+ # before printing and remove this option from option list -+ $opt = $1; -+ yank($opt); -+ s/CONFIG_/OPTION_/g; -+ print; -+ } elsif (/^\s*#\s+CONFIG_(\w+) is not set/) { -+ # this is a comment line, change CONFIG_ to OPTION_, remove this -+ # option from option list, and convert to explicit OPTION_FOO=n -+ $opt = $1; -+ yank($opt); -+ s/CONFIG_/OPTION_/g; -+ print "OPTION_$opt=n\n"; -+ } else { -+ print; -+ } -+} -+ -+# any options left in @options, are options that were not mentioned in -+# the config file, and implicitly that means the option must be set =n, -+# so do that here. -+foreach $opt (@option) { -+ print "OPTION_$opt=n\n"; -+} -Index: libc/options-config/config-preproc.pl -=================================================================== ---- /dev/null -+++ libc/options-config/config-preproc.pl -@@ -0,0 +1,8 @@ -+#!/usr/bin/perl -+ -+if (@ARGV) { -+ while (<>) { -+ s/OPTION_/CONFIG_/g; -+ print; -+ } -+} -Index: libc/options-config/Makefile -=================================================================== ---- /dev/null -+++ libc/options-config/Makefile -@@ -0,0 +1,55 @@ -+# =========================================================================== -+# EGLIBC option-groups configuration targets -+# These targets are included from top-level makefile -+ -+ifneq ($(kconfig_tools),) -+ifneq (no,$(PERL)) -+ -+ocdir := options-config -+ -+OconfigDefaults := option-groups.defaults -+OconfigDefaults_tmp := $(common-objpfx).tmp.defconfig -+OconfigDef := option-groups.def -+Oconfig := $(common-objpfx)option-groups.config -+Oconfig_tmp := $(common-objpfx).tmp.config -+ -+conf := $(kconfig_tools)/conf -+mconf := $(kconfig_tools)/mconf -+ -+preproc := $(PERL) $(ocdir)/config-preproc.pl -+postproc := $(PERL) $(ocdir)/config-postproc.pl -+ -+PHONY += defconfig config menuconfig -+ -+defconfig: $(conf) $(OconfigDefaults) $(OconfigDef) -+ rm -f $(OconfigDefaults_tmp) -+ rm -f $(Oconfig_tmp) -+ $(preproc) $(OconfigDefaults) > $(OconfigDefaults_tmp) -+ KCONFIG_CONFIG=$(Oconfig_tmp) $< --defconfig=$(OconfigDefaults_tmp) \ -+ $(OconfigDef) -+ $(postproc) $(OconfigDefaults) $(Oconfig_tmp) > $(Oconfig) -+ rm $(Oconfig_tmp) -+ rm $(OconfigDefaults_tmp) -+ -+config: $(conf) $(OconfigDefaults) $(OconfigDef) -+ rm -f $(Oconfig_tmp) -+ $(preproc) $(wildcard $(Oconfig)) > $(Oconfig_tmp) -+ KCONFIG_CONFIG=$(Oconfig_tmp) $< --oldaskconfig $(OconfigDef) -+ $(postproc) $(OconfigDefaults) $(Oconfig_tmp) > $(Oconfig) -+ rm $(Oconfig_tmp) -+ -+menuconfig: $(mconf) $(OconfigDefaults) $(OconfigDef) -+ rm -f $(Oconfig_tmp) -+ $(preproc) $(wildcard $(Oconfig)) > $(Oconfig_tmp) -+ KCONFIG_CONFIG=$(Oconfig_tmp) $< $(OconfigDef) -+ $(postproc) $(OconfigDefaults) $(Oconfig_tmp) > $(Oconfig) -+ rm $(Oconfig_tmp) -+ -+# Help text used by make help -+help: -+ @echo ' defconfig - New config with default from default config' -+ @echo ' config - Update current config utilising a line-oriented program' -+ @echo ' menuconfig - Update current config utilising a menu based program' -+ -+endif -+endif -Index: libc/option-groups.def -=================================================================== ---- libc.orig/option-groups.def -+++ libc/option-groups.def -@@ -4,19 +4,19 @@ - # - # An entry of the form: - # --# config OPTION_GROUP_NAME -+# config GROUP_NAME - # bool "one-line explanation of what this option group controls" - # help - # Multi-line help explaining the option group's meaning in - # some detail, terminated by indentation level. - # --# defines an option group whose variable is OPTION_GROUP_NAME, with -+# defines an option group whose variable is GROUP_NAME, with - # meaningful values 'y' (enabled) and 'n' (disabled). The - # documentation is formatted to be consumed by some sort of - # interactive configuration interface, but EGLIBC doesn't have such an - # interface yet. - # --# An option may have a 'depends' line, indicating which other options -+# An option may have a 'depends on' line, indicating which other options - # must also be enabled if this option is. At present, EGLIBC doesn't - # check that these dependencies are satisfied. - # -@@ -41,9 +41,9 @@ - # although this simply reestablishes the value already set by - # 'option-groups.defaults'. - --config OPTION_EGLIBC_ADVANCED_INET6 -+config EGLIBC_ADVANCED_INET6 - bool "IPv6 Advanced Sockets API support (RFC3542)" -- depends OPTION_EGLIBC_INET -+ depends on EGLIBC_INET - help - This option group includes the functions specified by RFC 3542, - "Advanced Sockets Application Program Interface (API) for -@@ -71,7 +71,7 @@ config OPTION_EGLIBC_ADVANCED_INET6 - inet6_rth_segments - inet6_rth_space - --config OPTION_EGLIBC_BACKTRACE -+config EGLIBC_BACKTRACE - bool "Functions for producing backtraces" - help - This option group includes functions for producing a list of -@@ -85,7 +85,7 @@ config OPTION_EGLIBC_BACKTRACE - backtrace_symbols - backtrace_symbols_fd - --config OPTION_EGLIBC_BIG_MACROS -+config EGLIBC_BIG_MACROS - bool "Use extensive inline code" - help - This option group specifies whether certain pieces of code -@@ -93,7 +93,7 @@ config OPTION_EGLIBC_BIG_MACROS - group is not selected, function calls will be used instead, - hence reducing the library footprint. - --config OPTION_EGLIBC_BSD -+config EGLIBC_BSD - bool "BSD-specific functions, and their compatibility stubs" - help - This option group includes functions specific to BSD kernels. -@@ -109,10 +109,9 @@ config OPTION_EGLIBC_BSD - revoke - setlogin - --config OPTION_EGLIBC_CXX_TESTS -+config EGLIBC_CXX_TESTS - bool "Tests that link against the standard C++ library." -- depends OPTION_POSIX_WIDE_CHAR_DEVICE_IO -- depends OPTION_EGLIBC_LIBM -+ depends on POSIX_WIDE_CHAR_DEVICE_IO && EGLIBC_LIBM - help - This option group does not include any C library functions; - instead, it controls which EGLIBC tests an ordinary 'make -@@ -121,23 +120,22 @@ config OPTION_EGLIBC_CXX_TESTS - run. - - The standard C++ library depends on the math library 'libm' and -- the wide character I/O functions included in EGLIBC. If those -- option groups are disabled, this test must also be disabled. -+ the wide character I/O functions included in EGLIBC. So those -+ option groups must be enabled if this test is enabled. - --config OPTION_EGLIBC_CATGETS -+config EGLIBC_CATGETS - bool "Functions for accessing message catalogs" -- depends OPTION_EGLIBC_LOCALE_CODE -+ depends on EGLIBC_LOCALE_CODE - help - This option group includes functions for accessing message - catalogs: catopen, catclose, and catgets. - -- This option group depends on the OPTION_EGLIBC_LOCALE_CODE -- option group; if you disable that, you must also disable this. -+ This option group depends on the EGLIBC_LOCALE_CODE -+ option group. - --config OPTION_EGLIBC_CHARSETS -+config EGLIBC_CHARSETS - bool "iconv/gconv character set conversion libraries" - help -- - This option group includes support for character sets other - than ASCII (ANSI_X3.4-1968) and Unicode and ISO-10646 in their - various encodings. This affects both the character sets -@@ -198,16 +196,16 @@ config OPTION_EGLIBC_CHARSETS - WCHAR_T - EGLIBC's internal form (target-endian, - 32-bit ISO 10646) - --config OPTION_EGLIBC_CRYPT -+config EGLIBC_CRYPT - bool "Encryption library" - help - This option group includes the `libcrypt' library which - provides functions for one-way encryption. Supported - encryption algorithms include MD5, SHA-256, SHA-512 and DES. - --config OPTION_EGLIBC_CRYPT_UFC -+config EGLIBC_CRYPT_UFC - bool "Ultra fast `crypt' implementation" -- depends OPTION_EGLIBC_CRYPT -+ depends on EGLIBC_CRYPT - help - This option group provides ultra fast DES-based implementation of - the `crypt' function. When this option group is disabled, -@@ -216,7 +214,7 @@ config OPTION_EGLIBC_CRYPT_UFC - errno to ENOSYS if /salt/ passed does not correspond to either MD5, - SHA-256 or SHA-512 algorithm. - --config OPTION_EGLIBC_DB_ALIASES -+config EGLIBC_DB_ALIASES - bool "Functions for accessing the mail aliases database" - help - This option group includues functions for looking up mail -@@ -233,7 +231,7 @@ config OPTION_EGLIBC_DB_ALIASES - When this option group is disabled, the NSS service libraries - also lack support for querying their mail alias tables. - --config OPTION_EGLIBC_ENVZ -+config EGLIBC_ENVZ - bool "Functions for handling envz-style environment vectors." - help - This option group contains functions for creating and operating -@@ -248,7 +246,7 @@ config OPTION_EGLIBC_ENVZ - envz_entry envz_remove - envz_get envz_strip - --config OPTION_EGLIBC_FCVT -+config EGLIBC_FCVT - bool "Functions for converting floating-point numbers to strings" - help - This option group includes functions for converting -@@ -262,14 +260,14 @@ config OPTION_EGLIBC_FCVT - fcvt_r qfcvt_r - gcvt qgcvt - --config OPTION_EGLIBC_FMTMSG -+config EGLIBC_FMTMSG - bool "Functions for formatting messages" - help - This option group includes the following functions: - - addseverity fmtmsg - --config OPTION_EGLIBC_FSTAB -+config EGLIBC_FSTAB - bool "Access functions for 'fstab'" - help - This option group includes functions for reading the mount -@@ -283,7 +281,7 @@ config OPTION_EGLIBC_FSTAB - getfsent setfsent - getfsfile - --config OPTION_EGLIBC_FTRAVERSE -+config EGLIBC_FTRAVERSE - bool "Functions for traversing file hierarchies" - help - This option group includes functions for traversing file -@@ -297,9 +295,9 @@ config OPTION_EGLIBC_FTRAVERSE - fts_set nftw64 - fts_close - --config OPTION_EGLIBC_GETLOGIN -+config EGLIBC_GETLOGIN - bool "The getlogin function" -- depends OPTION_EGLIBC_UTMP -+ depends on EGLIBC_UTMP - help - This function group includes the 'getlogin' and 'getlogin_r' - functions, which return the user name associated by the login -@@ -309,17 +307,17 @@ config OPTION_EGLIBC_GETLOGIN - fall back on 'getlogin' to find the user's login name for tilde - expansion when the 'HOME' environment variable is not set. - --config OPTION_EGLIBC_IDN -+config EGLIBC_IDN - bool "International domain names support" - help - This option group includes the `libcidn' library which - provides support for international domain names. - --config OPTION_EGLIBC_INET -+config EGLIBC_INET - bool "Networking support" - help - This option group includes networking-specific functions and -- data. With OPTION_EGLIBC_INET disabled, the EGLIBC -+ data. With EGLIBC_INET disabled, the EGLIBC - installation and API changes as follows: - - - The following libraries are not installed: -@@ -439,14 +437,14 @@ config OPTION_EGLIBC_INET - use Unix-domain sockets to communicate with the syslog daemon; - syslog is valuable in non-networked contexts. - --config OPTION_EGLIBC_INET_ANL -+config EGLIBC_INET_ANL - bool "Asynchronous name lookup" -- depends OPTION_EGLIBC_INET -+ depends on EGLIBC_INET - help - This option group includes the `libanl' library which - provides support for asynchronous name lookup. - --config OPTION_EGLIBC_LIBM -+config EGLIBC_LIBM - bool "libm (math library)" - help - This option group includes the 'libm' library, containing -@@ -464,7 +462,7 @@ config OPTION_EGLIBC_LIBM - group, you will not be able to build 'libstdc++' against the - resulting EGLIBC installation. - --config OPTION_EGLIBC_LOCALES -+config EGLIBC_LOCALES - bool "Locale definitions" - help - This option group includes all locale definitions other than -@@ -472,17 +470,17 @@ config OPTION_EGLIBC_LOCALES - only the "C" locale is supported. - - --config OPTION_EGLIBC_LOCALE_CODE -+config EGLIBC_LOCALE_CODE - bool "Locale functions" -- depends OPTION_POSIX_C_LANG_WIDE_CHAR -+ depends on POSIX_C_LANG_WIDE_CHAR - help - This option group includes locale support functions, programs, -- and libraries. With OPTION_EGLIBC_LOCALE_FUNCTIONS disabled, -+ and libraries. With EGLIBC_LOCALE_CODE disabled, - EGLIBC supports only the 'C' locale (also known as 'POSIX'), - and ignores the settings of the 'LANG' and 'LC_*' environment - variables. - -- With OPTION_EGLIBC_LOCALE_CODE disabled, the following -+ With EGLIBC_LOCALE_CODE disabled, the following - functions are omitted from libc: - - duplocale localeconv nl_langinfo rpmatch strfmon_l -@@ -491,46 +489,43 @@ config OPTION_EGLIBC_LOCALE_CODE - Furthermore, only the LC_CTYPE and LC_TIME categories of the - standard "C" locale are available. - -- The OPTION_EGLIBC_CATGETS option group depends on this option -- group; if you disable OPTION_EGLIBC_LOCALE_CODE, you must also -- disable OPTION_EGLIBC_CATGETS. -+ The EGLIBC_CATGETS option group depends on this option group. -+ - --config OPTION_EGLIBC_MEMUSAGE -+config EGLIBC_MEMUSAGE - bool "Memory profiling library" - help - This option group includes the `libmemusage' library and - the `memusage' and `memusagestat' utilities. - These components provide memory profiling functions. - -- OPTION_EGLIBC_MEMUSAGE_DEFAULT_BUFFER_SIZE -+ EGLIBC_MEMUSAGE_DEFAULT_BUFFER_SIZE - - Libmemusage library buffers the profiling data in memory - before writing it out to disk. By default, the library - allocates 1.5M buffer, which can be substantial for some -- systems. OPTION_EGLIBC_MEMUSAGE_DEFAULT_BUFFER_SIZE option -+ systems. EGLIBC_MEMUSAGE_DEFAULT_BUFFER_SIZE option - allows to change the default buffer size. It specifies - the number of entries the buffer should have. - On most architectures one buffer entry amounts to 48 bytes, - so setting this option to the value of 512 will reduce the size of - the memory buffer to 24K. - --config OPTION_EGLIBC_NIS -+config EGLIBC_NIS - bool "Support for NIS, NIS+, and the special 'compat' services." -- depends OPTION_EGLIBC_INET -- depends OPTION_EGLIBC_SUNRPC -+ depends on EGLIBC_INET && EGLIBC_SUNRPC - help - This option group includes the NIS, NIS+, and 'compat' Name - Service Switch service libraries. When it is disabled, those - services libraries are not installed; you should remove any - references to them from your 'nsswitch.conf' file. - -- This option group depends on the OPTION_EGLIBC_INET option -+ This option group depends on the EGLIBC_INET option - group; you must enable that to enable this option group. - --config OPTION_EGLIBC_NSSWITCH -+config EGLIBC_NSSWITCH - bool "Name service switch (nsswitch) support" - help -- - This option group includes support for the 'nsswitch' facility. - With this option group enabled, all EGLIBC functions for - accessing various system databases (passwords and groups; -@@ -544,12 +539,12 @@ config OPTION_EGLIBC_NSSWITCH - 'option-groups.config' file must set the following two - variables: - -- OPTION_EGLIBC_NSSWITCH_FIXED_CONFIG -+ EGLIBC_NSSWITCH_FIXED_CONFIG - - Set this to the name of a file whose contents observe the - same syntax as an ordinary '/etc/nsswitch.conf' file. The - EGLIBC build process parses this file just as EGLIBC would -- at run time if OPTION_EGLIBC_NSSWITCH were enabled, and -+ at run time if EGLIBC_NSSWITCH were enabled, and - produces a C library that uses the nsswitch service - libraries to search for database entries as this file - specifies, instead of consulting '/etc/nsswitch.conf' at run -@@ -567,7 +562,7 @@ config OPTION_EGLIBC_NSSWITCH - you will probably want to delete references to databases not - needed on your system. - -- OPTION_EGLIBC_NSSWITCH_FIXED_FUNCTIONS -+ EGLIBC_NSSWITCH_FIXED_FUNCTIONS - - The EGLIBC build process uses this file to decide which - functions to make available from which service libraries. -@@ -585,28 +580,28 @@ config OPTION_EGLIBC_NSSWITCH - Be sure to mention each function in each service you wish to - use. If you do not mention a service's function here, the - EGLIBC database access functions will not find it, even if -- it is listed in the OPTION_EGLIBC_NSSWITCH_FIXED_CONFIG -+ it is listed in the EGLIBC_NSSWITCH_FIXED_CONFIG - file. - -- In this arrangement, EGLIBC will not use the 'dlopen' and -- 'dlsym' functions to find database access functions. Instead, -- libc hard-codes references to the service libraries' database -- access functions. You must explicitly link your program -- against the name service libraries (those whose names start -- with 'libnss_', in the sysroot's '/lib' directory) whose -- functions you intend to use. This arrangement helps -- system-wide static analysis tools decide which functions a -- system actually uses. -- -- Note that some nsswitch service libraries require other option -- groups to be enabled; for example, the OPTION_EGLIBC_INET -- option group must be enabled to use the 'libnss_dns.so.2' -- service library, which uses the Domain Name System network -- protocol to answer queries. -+ In this arrangement, EGLIBC will not use the 'dlopen' and -+ 'dlsym' functions to find database access functions. Instead, -+ libc hard-codes references to the service libraries' database -+ access functions. You must explicitly link your program -+ against the name service libraries (those whose names start -+ with 'libnss_', in the sysroot's '/lib' directory) whose -+ functions you intend to use. This arrangement helps -+ system-wide static analysis tools decide which functions a -+ system actually uses. -+ -+ Note that some nsswitch service libraries require other option -+ groups to be enabled; for example, the EGLIBC_INET -+ option group must be enabled to use the 'libnss_dns.so.2' -+ service library, which uses the Domain Name System network -+ protocol to answer queries. - --config OPTION_EGLIBC_RCMD -+config EGLIBC_RCMD - bool "Support for 'rcmd' and related library functions" -- depends OPTION_EGLIBC_INET -+ depends on EGLIBC_INET - help - This option group includes functions for running commands on - remote machines via the 'rsh' protocol, and doing authentication -@@ -622,7 +617,7 @@ config OPTION_EGLIBC_RCMD - rresvport ruserpass - rresvport_af - --config OPTION_EGLIBC_RTLD_DEBUG -+config EGLIBC_RTLD_DEBUG - bool "Runtime linker debug print outs" - help - This option group enables debug output of the runtime linker -@@ -633,7 +628,7 @@ config OPTION_EGLIBC_RTLD_DEBUG - the `ldd' utility which may also be used by the prelinker. - In particular, the `--unused' ldd option will not work correctly. - --config OPTION_EGLIBC_SPAWN -+config EGLIBC_SPAWN - bool "Support for POSIX posix_spawn functions" - help - This option group includes the POSIX functions for executing -@@ -669,7 +664,7 @@ config OPTION_EGLIBC_SPAWN - disabled, those programs will only operate on uncompressed - charmap files. - --config OPTION_EGLIBC_STREAMS -+config EGLIBC_STREAMS - bool "Support for accessing STREAMS." - help - This option group includes functions for reading and writing -@@ -685,14 +680,14 @@ config OPTION_EGLIBC_STREAMS - isastream fdetach - putmsg - --config OPTION_EGLIBC_SUNRPC -+config EGLIBC_SUNRPC - bool "Support for the Sun 'RPC' protocol." -- depends OPTION_EGLIBC_INET -+ depends on EGLIBC_INET - help - This option group includes support for the Sun RPC protocols, - including the 'rpcgen' and 'rpcinfo' programs. - --config OPTION_EGLIBC_UTMP -+config EGLIBC_UTMP - bool "Older access functions for 'utmp' login records" - help - This option group includes the older 'utent' family of -@@ -719,9 +714,9 @@ config OPTION_EGLIBC_UTMP - - libutil.so (and libutil.a) - --config OPTION_EGLIBC_UTMPX -+config EGLIBC_UTMPX - bool "POSIX access functions for 'utmp' login records" -- depends OPTION_EGLIBC_UTMP -+ depends on EGLIBC_UTMP - help - This option group includes the POSIX functions for reading and - writing user login records in the 'utmp' file (usually -@@ -742,21 +737,21 @@ config OPTION_EGLIBC_UTMPX - updwtmpx - utmpxname - --config OPTION_EGLIBC_WORDEXP -+config EGLIBC_WORDEXP - bool "Shell-style word expansion" - help - This option group includes the 'wordexp' function for - performing word expansion in the manner of the shell, and the - accompanying 'wordfree' function. - --config OPTION_POSIX_C_LANG_WIDE_CHAR -+config POSIX_C_LANG_WIDE_CHAR - bool "ISO C library wide character functions, excluding I/O" - help - This option group includes the functions defined by the ISO C - standard for working with wide and multibyte characters in - memory. Functions for reading and writing wide and multibyte - characters from and to files call in the -- OPTION_POSIX_WIDE_CHAR_DEVICE_IO option group. -+ POSIX_WIDE_CHAR_DEVICE_IO option group. - - This option group includes the following functions: - -@@ -778,14 +773,14 @@ config OPTION_POSIX_C_LANG_WIDE_CHAR - mbrlen wcscoll wcstol - mbrtowc wcscpy wcstold - --config OPTION_POSIX_REGEXP -+config POSIX_REGEXP - bool "Regular expressions" - help - This option group includes the POSIX regular expression - functions, and the associated non-POSIX extensions and - compatibility functions. - -- With OPTION_POSIX_REGEXP disabled, the following functions are -+ With POSIX_REGEXP disabled, the following functions are - omitted from libc: - - re_comp re_max_failures regcomp -@@ -799,9 +794,9 @@ config OPTION_POSIX_REGEXP - header file, 'compile', 'step', and 'advance', is - omitted. - --config OPTION_POSIX_REGEXP_GLIBC -+config POSIX_REGEXP_GLIBC - bool "Regular expressions from GLIBC" -- depends OPTION_POSIX_REGEXP -+ depends on POSIX_REGEXP - help - This option group specifies which regular expression - library to use. The choice is between regex -@@ -810,9 +805,9 @@ config OPTION_POSIX_REGEXP_GLIBC - optimized for speed; regex from libiberty is more than twice - as small while still is enough for most practical purposes. - --config OPTION_POSIX_WIDE_CHAR_DEVICE_IO -+config POSIX_WIDE_CHAR_DEVICE_IO - bool "Input and output functions for wide characters" -- depends OPTION_POSIX_C_LANG_WIDE_CHAR -+ depends on POSIX_C_LANG_WIDE_CHAR - help - This option group includes functions for reading and writing - wide characters to and from streams. -Index: libc/Makefile -=================================================================== ---- libc.orig/Makefile -+++ libc/Makefile -@@ -24,6 +24,7 @@ endif - - include Makeconfig - -+include options-config/Makefile - - # This is the default target; it makes everything except the tests. - .PHONY: all -Index: libc/configure -=================================================================== ---- libc.orig/configure -+++ libc/configure -@@ -621,6 +621,7 @@ KSH - libc_cv_have_bash2 - BASH_SHELL - libc_cv_gcc_static_libgcc -+KCONFIG_TOOLS - CXX_SYSINCLUDES - SYSINCLUDES - AUTOCONF -@@ -734,6 +735,7 @@ with_fp - with_binutils - with_selinux - with_headers -+with_kconfig - with_default_link - enable_sanity_checks - enable_shared -@@ -1438,6 +1440,9 @@ Optional Packages: - --with-selinux if building with SELinux support - --with-headers=PATH location of system headers to use (for example - /usr/src/linux/include) [default=compiler default] -+ --with-kconfig=PATH location of kconfig tools to use (from Linux kernel -+ builds) to re-use for configuring EGLIBC option -+ groups - --with-default-link do not use explicit linker scripts - --with-cpu=CPU select code for CPU variant - -@@ -3401,6 +3406,14 @@ fi - - - -+# Check whether --with-kconfig was given. -+if test "${with_kconfig+set}" = set; then -+ withval=$with_kconfig; KCONFIG_TOOLS=$withval -+else -+ KCONFIG_TOOLS='' -+fi -+ -+ - - # Check whether --with-default-link was given. - if test "${with_default_link+set}" = set; then : -Index: libc/EGLIBC.option-groups -=================================================================== ---- libc.orig/EGLIBC.option-groups -+++ libc/EGLIBC.option-groups -@@ -56,33 +56,9 @@ disable option groups one by one, until - - The Option Groups - --EGLIBC currently implements the following option groups, also --documented in the file 'option-groups.def': -- --OPTION_EGLIBC_CATGETS -- This option group includes functions for accessing message -- catalogs: catopen, catclose, and catgets. -- --OPTION_EGLIBC_LOCALES -- This option group includes all locale definitions other than -- those for the "C" locale. If this option group is omitted, then -- only the "C" locale is supported. -- --OPTION_EGLIBC_LIBM -- This option group includes the 'libm' library, containing -- mathematical functions. If this option group is omitted, then -- an EGLIBC installation does not include shared or unshared versions -- of the math library. -- -- Note that this does not remove all floating-point related -- functionality from EGLIBC; for example, 'printf' and 'scanf' -- can still print and read floating-point values with this option -- group disabled. -- -- Note that the ISO Standard C++ library 'libstdc++' depends on -- EGLIBC's math library 'libm'. If you disable this option -- group, you will not be able to build 'libstdc++' against the -- resulting EGLIBC installation. -+To see the current full list of implemented option groups, refer to the -+file 'option-groups.def' at the top of the source tree, or run -+'make menuconfig' from the top-level build directory. - - The POSIX.1-2001 specification includes a suggested partition of all - the functions in the POSIX C API into option groups: math functions -@@ -110,6 +86,18 @@ data, but include mathematical functions - OPTION_EGLIBC_LOCALES = n - OPTION_EGLIBC_LIBM = y - -+Like the Linux kernel, EGLIBC supports a similar set of '*config' make -+targets to make it easier to create 'option-groups.config', with all -+dependencies between option groups automatically satisfied. Run -+'make help' to see the list of supported make config targets. For -+example, 'make menuconfig' will update the current config utilising a -+menu based program. -+ -+The option group names and their type (boolean, int, hex, string), help -+description, and dependencies with other option groups, are described by -+'option-groups.def' at the top of the source tree, analogous to the -+'Kconfig' files in the Linux kernel. -+ - In general, each option group variable controls whether a given set of - object files in EGLIBC is compiled and included in the final - libraries, or omitted from the build. -@@ -132,22 +120,3 @@ under development. - - We have used the system to subset some portions of EGLIBC's - functionality. It needs to be extended to cover more of the library. -- --At the moment, EGLIBC performs no sanity checks on the contents of --'option-groups.config'; if an option group's name is mistyped, the --option group is silently included in the build. EGLIBC should check --that all variables set in 'option-groups.config' are proper option --group names, and that their values are appropriate. -- --Some portions of EGLIBC depend on others; for example, the Sun Remote --Procedure Call functions in 'sunrpc' depend on the networking --functions in 'inet'. The sanity checking described above should check --that the selection configuration satisfies dependencies within EGLIBC, --and produce a legible error message if it does not. At the moment, --inconsistent configurations produce link errors late in the build --process. -- --The Linux kernel's configuration system provides interactive --interfaces for creating and modifying configuration files (which also --perform the sanity checking and dependency tracking described above). --EGLIBC should provide similar interfaces. diff --git a/meta/recipes-core/eglibc/eglibc-2.19/0001-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch b/meta/recipes-core/eglibc/eglibc-2.19/0001-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch deleted file mode 100644 index a8463ea915..0000000000 --- a/meta/recipes-core/eglibc/eglibc-2.19/0001-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 713d822908d1b2ae8403af7f9375c7054ed3dd49 Mon Sep 17 00:00:00 2001 -From: Ting Liu -Date: Wed, 19 Dec 2012 04:39:57 -0600 -Subject: [PATCH] eglibc: run libm-err-tab.pl with specific dirs in ${S} - -libm-err-tab.pl will parse all the files named "libm-test-ulps" -in the given dir recursively. To avoid parsing the one in -${S}/.pc/ (it does exist after eglibc adds aarch64 support, -${S}/.pc/aarch64-0001-glibc-fsf-v1-eaf6f205.patch/ports/sysdeps/ -aarch64/libm-test-ulps), run libm-err-tab.pl with specific dirs -in ${S}. - -Upstream-Status: inappropriate [OE specific] - -Signed-off-by: Ting Liu ---- - manual/Makefile | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/manual/Makefile b/manual/Makefile -index 6fddff0..7af242e 100644 ---- a/manual/Makefile -+++ b/manual/Makefile -@@ -109,7 +109,8 @@ $(objpfx)libm-err.texi: $(objpfx)stamp-libm-err - $(objpfx)stamp-libm-err: libm-err-tab.pl $(wildcard $(foreach dir,$(sysdirs),\ - $(dir)/libm-test-ulps)) - pwd=`pwd`; \ -- $(PERL) $< $$pwd/.. > $(objpfx)libm-err-tmp -+ $(PERL) $< $$pwd/../ports > $(objpfx)libm-err-tmp -+ $(PERL) $< $$pwd/../sysdeps >> $(objpfx)libm-err-tmp - $(move-if-change) $(objpfx)libm-err-tmp $(objpfx)libm-err.texi - touch $@ - --- -1.7.9.7 - diff --git a/meta/recipes-core/eglibc/eglibc-2.19/0002-eglibc-menuconfig-hex-string-options.patch b/meta/recipes-core/eglibc/eglibc-2.19/0002-eglibc-menuconfig-hex-string-options.patch deleted file mode 100644 index 7caba48112..0000000000 --- a/meta/recipes-core/eglibc/eglibc-2.19/0002-eglibc-menuconfig-hex-string-options.patch +++ /dev/null @@ -1,169 +0,0 @@ -pulled from - -http://www.eglibc.org/archives/patches/msg01043.html - - -Upstream-Status: Pending -Signed-off-by: Khem - - -This patch builds on the menuconfig patch for EGLIBC. - - -There are a few options that have non-boolean types, that would benefit from the new 'make *config' support: - -EGLIBC_MEMUSAGE_DEFAULT_BUFFER_SIZE (int) -EGLIBC_NSSWITCH_FIXED_CONFIG (string) -EGLIBC_NSSWITCH_FIXED_FUNCTIONS (string) - - -The patch converts these to real options in libc/option-groups.def. Also, libc/scripts/option-groups.awk is modified to output a '#define' line for int, hex, or string options encountered in the config file. - -In the post-processing script config-postproc.pl, a small change is needed: for any boolean option FOO that is implicitly disabled in the kconfig output, make sure that option is indeed a boolean before printing the explicit OPTION_FOO=n. - -Finally, libc/malloc/Makefile passes __OPTION_EGLIBC_MEMUSAGE_DEFAULT_BUFFER_SIZE as a CPPFLAGS, which is not necessary anymore because this macro will now be present in the generated header. - -attached is the updated patch to address above issues. - -Steve - --- -Steve Longerbeam | Senior Embedded Engineer, ESD Services -Mentor Embedded(tm) | 46871 Bayside Parkway, Fremont, CA 94538 -P 510.354.5838 | M 408.410.2735 -Nucleus(r) | Linux(r) | Android(tm) | Services | UI | Multi-OS - - -Index: libc/malloc/Makefile -=================================================================== ---- libc.orig/malloc/Makefile 2012-01-04 22:06:18.000000000 -0800 -+++ libc/malloc/Makefile 2012-05-09 19:35:28.598682105 -0700 -@@ -48,10 +48,6 @@ - ifeq ($(OPTION_EGLIBC_MEMUSAGE),y) - extra-libs = libmemusage - extra-libs-others = $(extra-libs) -- --ifdef OPTION_EGLIBC_MEMUSAGE_DEFAULT_BUFFER_SIZE --CPPFLAGS-memusage += -D__OPTION_EGLIBC_MEMUSAGE_DEFAULT_BUFFER_SIZE=$(OPTION_EGLIBC_MEMUSAGE_DEFAULT_BUFFER_SIZE) --endif - endif - - libmemusage-routines = memusage -Index: libc/option-groups.def -=================================================================== ---- libc.orig/option-groups.def 2012-05-09 19:33:48.398677256 -0700 -+++ libc/option-groups.def 2012-05-09 19:35:28.610682107 -0700 -@@ -513,8 +513,11 @@ - the `memusage' and `memusagestat' utilities. - These components provide memory profiling functions. - -- EGLIBC_MEMUSAGE_DEFAULT_BUFFER_SIZE -- -+config EGLIBC_MEMUSAGE_DEFAULT_BUFFER_SIZE -+ int "Memory profiling library buffer size" -+ depends on EGLIBC_MEMUSAGE -+ default "32768" -+ help - Libmemusage library buffers the profiling data in memory - before writing it out to disk. By default, the library - allocates 1.5M buffer, which can be substantial for some -@@ -553,8 +556,11 @@ - 'option-groups.config' file must set the following two - variables: - -- EGLIBC_NSSWITCH_FIXED_CONFIG -- -+config EGLIBC_NSSWITCH_FIXED_CONFIG -+ string "Nsswitch fixed config filename" -+ depends on !EGLIBC_NSSWITCH -+ default "" -+ help - Set this to the name of a file whose contents observe the - same syntax as an ordinary '/etc/nsswitch.conf' file. The - EGLIBC build process parses this file just as EGLIBC would -@@ -576,8 +582,11 @@ - you will probably want to delete references to databases not - needed on your system. - -- EGLIBC_NSSWITCH_FIXED_FUNCTIONS -- -+config EGLIBC_NSSWITCH_FIXED_FUNCTIONS -+ string "Nsswit