diff options
author | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2018-12-17 04:11:34 +0300 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2019-01-09 02:21:44 +0300 |
commit | 1a4b7ee28bf7413af6513fb45ad0d0736048f866 (patch) | |
tree | 79f6d8ea698cab8f2eaf4f54b793d2ca7a1451ce /poky/meta/recipes-core/glibc | |
parent | 5b9ede0403237c7dace972affa65cf64a1aadd0e (diff) | |
download | openbmc-1a4b7ee28bf7413af6513fb45ad0d0736048f866.tar.xz |
reset upstream subtrees to yocto 2.6
Reset the following subtrees on thud HEAD:
poky: 87e3a9739d
meta-openembedded: 6094ae18c8
meta-security: 31dc4e7532
meta-raspberrypi: a48743dc36
meta-xilinx: c42016e2e6
Also re-apply backports that didn't make it into thud:
poky:
17726d0 systemd-systemctl-native: handle Install wildcards
meta-openembedded:
4321a5d libtinyxml2: update to 7.0.1
042f0a3 libcereal: Add native and nativesdk classes
e23284f libcereal: Allow empty package
030e8d4 rsyslog: curl-less build with fmhttp PACKAGECONFIG
179a1b9 gtest: update to 1.8.1
Squashed OpenBMC subtree compatibility updates:
meta-aspeed:
Brad Bishop (1):
aspeed: add yocto 2.6 compatibility
meta-ibm:
Brad Bishop (1):
ibm: prepare for yocto 2.6
meta-ingrasys:
Brad Bishop (1):
ingrasys: set layer compatibility to yocto 2.6
meta-openpower:
Brad Bishop (1):
openpower: set layer compatibility to yocto 2.6
meta-phosphor:
Brad Bishop (3):
phosphor: set layer compatibility to thud
phosphor: libgpg-error: drop patches
phosphor: react to fitimage artifact rename
Ed Tanous (4):
Dropbear: upgrade options for latest upgrade
yocto2.6: update openssl options
busybox: remove upstream watchdog patch
systemd: Rebase CONFIG_CGROUP_BPF patch
Change-Id: I7b1fe71cca880d0372a82d94b5fd785323e3a9e7
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'poky/meta/recipes-core/glibc')
55 files changed, 1193 insertions, 1387 deletions
diff --git a/poky/meta/recipes-core/glibc/cross-localedef-native_2.27.bb b/poky/meta/recipes-core/glibc/cross-localedef-native_2.28.bb index 5e92eb71d..a05b94e3b 100644 --- a/poky/meta/recipes-core/glibc/cross-localedef-native_2.27.bb +++ b/poky/meta/recipes-core/glibc/cross-localedef-native_2.28.bb @@ -3,7 +3,7 @@ HOMEPAGE = "http://www.gnu.org/software/libc/libc.html" SECTION = "libs" LICENSE = "LGPL-2.1" -LIC_FILES_CHKSUM = "file://LICENSES;md5=e9a558e243b36d3209f380deb394b213 \ +LIC_FILES_CHKSUM = "file://LICENSES;md5=cfc0ed77a9f62fa62eded042ebe31d72 \ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" @@ -21,21 +21,20 @@ SRCBRANCH ?= "release/${PV}/master" GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git" UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.\d+(\.(?!90)\d+)*)" -SRCREV_glibc ?= "df3ff4e49d4ee3cbbdaeb0b1cb5dc2344c08be98" -SRCREV_localedef ?= "de5bdbd5e76b5403a4151b9b9f958b6cca36b3e7" +SRCREV_glibc ?= "3c03baca37fdcb52c3881e653ca392bba7a99c2b" +SRCREV_localedef ?= "c328777219ccc480be3112cf807217ca6b570b64" SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ git://github.com/kraj/localedef;branch=master;name=localedef;destsuffix=git/localedef \ - file://0015-timezone-re-written-tzselect-as-posix-sh.patch \ - file://0016-Remove-bash-dependency-for-nscd-init-script.patch \ - file://0017-eglibc-Cross-building-and-testing-instructions.patch \ - file://0018-eglibc-Help-bootstrap-cross-toolchain.patch \ - file://0019-eglibc-Clear-cache-lines-on-ppc8xx.patch \ - file://0020-eglibc-Resolve-__fpscr_values-on-SH4.patch \ - file://0021-eglibc-Install-PIC-archives.patch \ + file://0016-timezone-re-written-tzselect-as-posix-sh.patch \ + file://0017-Remove-bash-dependency-for-nscd-init-script.patch \ + file://0018-eglibc-Cross-building-and-testing-instructions.patch \ + file://0019-eglibc-Help-bootstrap-cross-toolchain.patch \ + file://0020-eglibc-Clear-cache-lines-on-ppc8xx.patch \ + file://0021-eglibc-Resolve-__fpscr_values-on-SH4.patch \ file://0022-eglibc-Forward-port-cross-locale-generation-support.patch \ file://0023-Define-DUMMY_LOCALE_T-if-not-defined.patch \ - file://archive-path.patch \ + file://0029-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \ " # Makes for a rather long rev (22 characters), but... # diff --git a/poky/meta/recipes-core/glibc/glibc-collateral.inc b/poky/meta/recipes-core/glibc/glibc-collateral.inc index aa871ac83..536edfb04 100644 --- a/poky/meta/recipes-core/glibc/glibc-collateral.inc +++ b/poky/meta/recipes-core/glibc/glibc-collateral.inc @@ -9,6 +9,7 @@ HOMEPAGE = "http://www.gnu.org/software/libc/index.html" # http://lists.openembedded.org/pipermail/openembedded-core/2015-January/100679.html ARM_INSTRUCTION_SET_armv4 = "arm" ARM_INSTRUCTION_SET_armv5 = "arm" +ARM_INSTRUCTION_SET_armv6 = "arm" deltask do_fetch deltask do_unpack diff --git a/poky/meta/recipes-core/glibc/glibc-initial.inc b/poky/meta/recipes-core/glibc/glibc-initial.inc index b86e2fb2d..acd0d6b1d 100644 --- a/poky/meta/recipes-core/glibc/glibc-initial.inc +++ b/poky/meta/recipes-core/glibc/glibc-initial.inc @@ -1,4 +1,4 @@ -DEPENDS = "linux-libc-headers virtual/${TARGET_PREFIX}gcc-initial libgcc-initial" +DEPENDS = "linux-libc-headers virtual/${TARGET_PREFIX}gcc-initial libgcc-initial make-native bison-native" PROVIDES = "virtual/${TARGET_PREFIX}libc-initial" PACKAGES = "" @@ -13,9 +13,9 @@ do_configure () { cfgscript=`python3 -c "import os; print(os.path.relpath('${S}', '.'))"`/configure $cfgscript --host=${TARGET_SYS} --build=${BUILD_SYS} \ --prefix=/usr \ - --without-cvs --disable-sanity-checks \ + --disable-sanity-checks \ --with-headers=${STAGING_DIR_TARGET}${includedir} \ - --enable-hacker-mode --enable-addons + --enable-hacker-mode } do_compile () { diff --git a/poky/meta/recipes-core/glibc/glibc-initial_2.27.bb b/poky/meta/recipes-core/glibc/glibc-initial_2.28.bb index e86770e12..e86770e12 100644 --- a/poky/meta/recipes-core/glibc/glibc-initial_2.27.bb +++ b/poky/meta/recipes-core/glibc/glibc-initial_2.28.bb diff --git a/poky/meta/recipes-core/glibc/glibc-ld.inc b/poky/meta/recipes-core/glibc/glibc-ld.inc index c1d635dc8..bb167b32b 100644 --- a/poky/meta/recipes-core/glibc/glibc-ld.inc +++ b/poky/meta/recipes-core/glibc/glibc-ld.inc @@ -1,43 +1,15 @@ -def ld_append_if_tune_exists(d, infos, dict): - tune = d.getVar("DEFAULTTUNE") or "" - libdir = d.getVar("base_libdir") or "" - if tune in dict: - infos['ldconfig'].add('{"' + libdir + '/' + dict[tune][0] + '",' + dict[tune][1] + ' }') - infos['lddrewrite'].add(libdir+'/'+dict[tune][0]) +inherit linuxloader -def glibc_dl_info(d): - ld_info_all = { - "mipsarch": ["ld.so.1", "FLAG_ELF_LIBC6"], - "mipsarchr6": ["ld-linux-mipsn8.so.1", "FLAG_ELF_LIBC6"], - "powerpc": ["ld.so.1", "FLAG_ELF_LIBC6"], - "powerpc-nf": ["ld.so.1", "FLAG_ELF_LIBC6"], - "powerpc64": ["ld64.so.1", "FLAG_ELF_LIBC6"], - "powerpc64-nf": ["ld64.so.1", "FLAG_ELF_LIBC6"], - "core2-32": ["ld-linux.so.2", "FLAG_ELF_LIBC6"], - "core2-64": ["ld-linux-x86-64.so.2", "FLAG_ELF_LIBC6"], - "x86": ["ld-linux.so.2", "FLAG_ELF_LIBC6"], - "x86-64": ["ld-linux-x86-64.so.2", "FLAG_ELF_LIBC6"], - "i586": ["ld-linux.so.2", "FLAG_ELF_LIBC6"], - "corei7-32": ["ld-linux.so.2", "FLAG_ELF_LIBC6"], - "corei7-64": ["ld-linux-x86-64.so.2", "FLAG_ELF_LIBC6"], - } +GLIBC_GETLOADER = "${@get_linuxloader(d)}" +def glibc_dl_info(d): infos = {'ldconfig':set(), 'lddrewrite':set()} - ld_append_if_tune_exists(d, infos, ld_info_all) - #DEFAULTTUNE_MULTILIB_ORIGINAL - original_tune=d.getVar("DEFAULTTUNE_MULTILIB_ORIGINAL") - if original_tune: - localdata = bb.data.createCopy(d) - localdata.setVar("DEFAULTTUNE", original_tune) - ld_append_if_tune_exists(localdata, infos, ld_info_all) + loaders = all_multilib_tune_values(d, "GLIBC_GETLOADER").split() + for loader in loaders: + infos['ldconfig'].add('{"' + loader + '",' + "FLAG_ELF_LIBC6" + ' }') + infos['lddrewrite'].add(loader) - variants = d.getVar("MULTILIB_VARIANTS") or "" - for item in variants.split(): - localdata = bb.data.createCopy(d) - overrides = localdata.getVar("OVERRIDES", False) + ":virtclass-multilib-" + item - localdata.setVar("OVERRIDES", overrides) - ld_append_if_tune_exists(localdata, infos, ld_info_all) infos['ldconfig'] = ','.join(infos['ldconfig']) infos['lddrewrite'] = ' '.join(infos['lddrewrite']) return infos diff --git a/poky/meta/recipes-core/glibc/glibc-locale.inc b/poky/meta/recipes-core/glibc/glibc-locale.inc index e50e5cf5e..1b676dc26 100644 --- a/poky/meta/recipes-core/glibc/glibc-locale.inc +++ b/poky/meta/recipes-core/glibc/glibc-locale.inc @@ -21,13 +21,13 @@ RDEPENDS_localedef += "glibc" # to decrease initial boot time and avoid localedef being killed by the OOM # killer which used to effectively break i18n on machines with < 128MB RAM. -# default to disabled +# default to disabled ENABLE_BINARY_LOCALE_GENERATION ?= "0" ENABLE_BINARY_LOCALE_GENERATION_pn-nativesdk-glibc-locale = "1" #enable locale generation on these arches # BINARY_LOCALE_ARCHES is a space separated list of regular expressions -BINARY_LOCALE_ARCHES ?= "arm.* aarch64 i[3-6]86 x86_64 powerpc mips mips64" +BINARY_LOCALE_ARCHES ?= "arm.* aarch64 i[3-6]86 x86_64 powerpc mips mips64 riscv32 riscv64" # set "1" to use cross-localedef for locale generation # set "0" for qemu emulation of native localedef for locale generation diff --git a/poky/meta/recipes-core/glibc/glibc-locale_2.27.bb b/poky/meta/recipes-core/glibc/glibc-locale_2.28.bb index f7702e035..f7702e035 100644 --- a/poky/meta/recipes-core/glibc/glibc-locale_2.27.bb +++ b/poky/meta/recipes-core/glibc/glibc-locale_2.28.bb diff --git a/poky/meta/recipes-core/glibc/glibc-mtrace_2.27.bb b/poky/meta/recipes-core/glibc/glibc-mtrace_2.28.bb index 0b69bad46..0b69bad46 100644 --- a/poky/meta/recipes-core/glibc/glibc-mtrace_2.27.bb +++ b/poky/meta/recipes-core/glibc/glibc-mtrace_2.28.bb diff --git a/poky/meta/recipes-core/glibc/glibc-package.inc b/poky/meta/recipes-core/glibc/glibc-package.inc index c1d186ab9..a98ae1a29 100644 --- a/poky/meta/recipes-core/glibc/glibc-package.inc +++ b/poky/meta/recipes-core/glibc/glibc-package.inc @@ -1,6 +1,6 @@ INHIBIT_SYSROOT_STRIP = "1" -PACKAGES = "${PN}-dbg catchsegv sln nscd ldd tzcode glibc-thread-db ${PN}-pic libcidn libmemusage libsegfault ${PN}-pcprofile libsotruss ${PN} ${PN}-utils glibc-extra-nss ${PN}-dev ${PN}-staticdev ${PN}-doc" +PACKAGES = "${PN}-dbg catchsegv sln nscd ldd tzcode glibc-thread-db ${PN}-pic libcidn libmemusage libnss-db libsegfault ${PN}-pcprofile libsotruss ${PN} ${PN}-utils glibc-extra-nss ${PN}-dev ${PN}-staticdev ${PN}-doc" # The ld.so in this glibc supports the GNU_HASH RPROVIDES_${PN} = "eglibc rtld(GNU_HASH)" @@ -14,7 +14,7 @@ RPROVIDES_glibc-extra-nss = "eglibc-extra-nss" RPROVIDES_glibc-thread-db = "eglibc-thread-db" RPROVIDES_${PN}-pcprofile = "eglibc-pcprofile" RPROVIDES_${PN}-dbg = "eglibc-dbg" -libc_baselibs = "${base_libdir}/libcrypt*.so.* ${base_libdir}/libcrypt-*.so ${base_libdir}/libc.so.* ${base_libdir}/libc-*.so ${base_libdir}/libm*.so.* ${base_libdir}/libm-*.so ${base_libdir}/libmvec-*.so ${base_libdir}/ld*.so.* ${base_libdir}/ld-*.so ${base_libdir}/libpthread*.so.* ${base_libdir}/libpthread-*.so ${base_libdir}/libresolv*.so.* ${base_libdir}/libresolv-*.so ${base_libdir}/librt*.so.* ${base_libdir}/librt-*.so ${base_libdir}/libutil*.so.* ${base_libdir}/libutil-*.so ${base_libdir}/libnsl*.so.* ${base_libdir}/libnsl-*.so ${base_libdir}/libnss_files*.so.* ${base_libdir}/libnss_files-*.so ${base_libdir}/libnss_compat*.so.* ${base_libdir}/libnss_compat-*.so ${base_libdir}/libnss_dns*.so.* ${base_libdir}/libnss_dns-*.so ${base_libdir}/libdl*.so.* ${base_libdir}/libdl-*.so ${base_libdir}/libanl*.so.* ${base_libdir}/libanl-*.so ${base_libdir}/libBrokenLocale*.so.* ${base_libdir}/libBrokenLocale-*.so" +libc_baselibs = "${base_libdir}/libc.so.* ${base_libdir}/libc-*.so ${base_libdir}/libm*.so.* ${base_libdir}/libm-*.so ${base_libdir}/libmvec-*.so ${base_libdir}/ld*.so.* ${base_libdir}/ld-*.so ${base_libdir}/libpthread*.so.* ${base_libdir}/libpthread-*.so ${base_libdir}/libresolv*.so.* ${base_libdir}/libresolv-*.so ${base_libdir}/librt*.so.* ${base_libdir}/librt-*.so ${base_libdir}/libutil*.so.* ${base_libdir}/libutil-*.so ${base_libdir}/libnsl*.so.* ${base_libdir}/libnsl-*.so ${base_libdir}/libnss_files*.so.* ${base_libdir}/libnss_files-*.so ${base_libdir}/libnss_compat*.so.* ${base_libdir}/libnss_compat-*.so ${base_libdir}/libnss_dns*.so.* ${base_libdir}/libnss_dns-*.so ${base_libdir}/libdl*.so.* ${base_libdir}/libdl-*.so ${base_libdir}/libanl*.so.* ${base_libdir}/libanl-*.so ${base_libdir}/libBrokenLocale*.so.* ${base_libdir}/libBrokenLocale-*.so" libc_baselibs_append_aarch64 = " /lib/ld-linux-aarch64*.so.1" INSANE_SKIP_${PN}_append_aarch64 = " libdir" @@ -23,12 +23,14 @@ FILES_ldd = "${bindir}/ldd" FILES_libsegfault = "${base_libdir}/libSegFault*" FILES_libcidn = "${base_libdir}/libcidn-*.so ${base_libdir}/libcidn.so.*" FILES_libmemusage = "${base_libdir}/libmemusage.so" +FILES_libnss-db = "${base_libdir}/libnss_db.so.* ${base_libdir}/libnss_db-*.so ${localstatedir}/db/Makefile ${localstatedir}/db/makedbs.sh" +RDEPENDS_libnss-db = "${PN}-utils" FILES_glibc-extra-nss = "${base_libdir}/libnss_*-*.so ${base_libdir}/libnss_*.so.*" FILES_sln = "${base_sbindir}/sln" FILES_${PN}-pic = "${libdir}/*_pic.a ${libdir}/*_pic.map ${libdir}/libc_pic/*.o" FILES_libsotruss = "${libdir}/audit/sotruss-lib.so" FILES_SOLIBSDEV = "${libdir}/lib*${SOLIBSDEV}" -FILES_${PN}-dev += "${bindir}/rpcgen ${libdir}/*_nonshared.a ${base_libdir}/*_nonshared.a ${base_libdir}/*.o ${datadir}/aclocal" +FILES_${PN}-dev += "${libdir}/*_nonshared.a ${base_libdir}/*_nonshared.a ${base_libdir}/*.o ${datadir}/aclocal" FILES_${PN}-staticdev += "${libdir}/*.a ${base_libdir}/*.a" FILES_nscd = "${sbindir}/nscd* ${sysconfdir}/init.d/nscd ${systemd_unitdir}/system/nscd* ${sysconfdir}/tmpfiles.d/nscd.conf \ ${sysconfdir}/nscd.conf ${sysconfdir}/default/volatiles/98_nscd ${localstatedir}/db/nscd" @@ -51,7 +53,7 @@ DESCRIPTION_glibc-extra-nss = "glibc: nis, nisplus and hesiod search services." SUMMARY_ldd = "print shared library dependencies" DESCRIPTION_ldd = "${bindir}/ldd prints shared library dependencies for each program or shared library specified on the command line." SUMMARY_${PN}-utils = "Miscellaneous utilities provided by glibc" -DESCRIPTION_${PN}-utils = "Miscellaneous utilities including getconf, iconv, locale, gencat, rpcgen, ..." +DESCRIPTION_${PN}-utils = "Miscellaneous utilities including getconf, iconv, locale, gencat, ..." DESCRIPTION_libsotruss = "Library to support sotruss which traces calls through PLTs" DESCRIPTION_tzcode = "tzcode, timezone zoneinfo utils -- zic, zdump, tzselect" @@ -59,7 +61,6 @@ inherit libc-common multilib_header do_install_append () { rm -f ${D}${sysconfdir}/localtime - rm -rf ${D}${localstatedir} # remove empty glibc dir if [ -d ${D}${libexecdir} ]; then @@ -71,7 +72,6 @@ do_install_append () { if [ -f ${D}${bindir}/mtrace ]; then sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' -e '2s,exec.*perl,exec ${USRBINPATH}/env perl,' ${D}${bindir}/mtrace fi - rm -rf ${D}${includedir}/rpcsvc/rquota* # Info dir listing isn't interesting at this point so remove it if it exists. if [ -e "${D}${infodir}/dir" ]; then rm -f ${D}${infodir}/dir @@ -96,6 +96,7 @@ do_install_append () { install -d ${D}${localstatedir}/db/nscd install -m 0755 ${S}/nscd/nscd.init ${D}${sysconfdir}/init.d/nscd install -m 0755 ${S}/nscd/nscd.conf ${D}${sysconfdir}/nscd.conf + install -m 0755 ${WORKDIR}/makedbs.sh ${D}${localstatedir}/db sed -i "s%daemon%start-stop-daemon --start --exec%g" ${D}${sysconfdir}/init.d/nscd sed -i "s|\(enable-cache\t\+netgroup\t\+\)yes|\1no|" ${D}${sysconfdir}/nscd.conf @@ -206,10 +207,11 @@ do_poststash_install_cleanup () { rm -rf ${D}/${localedir} rm -rf ${D}${datadir}/locale if [ "${libdir}" != "${exec_prefix}/lib" ]; then - if [ -d ${D}${exec_prefix}/lib/locale ] ; then - rm -rf ${D}${exec_prefix}/lib/locale + if [ -d ${D}${exec_prefix}/lib ]; then # error out if directory isn't empty - rm -f ${D}${exec_prefix}/lib + # this dir should only contain locale dir + # which has been deleted in the previous step + rmdir ${D}${exec_prefix}/lib fi fi } diff --git a/poky/meta/recipes-core/glibc/glibc-scripts_2.27.bb b/poky/meta/recipes-core/glibc/glibc-scripts_2.28.bb index 5a89bd802..5a89bd802 100644 --- a/poky/meta/recipes-core/glibc/glibc-scripts_2.27.bb +++ b/poky/meta/recipes-core/glibc/glibc-scripts_2.28.bb diff --git a/poky/meta/recipes-core/glibc/glibc.inc b/poky/meta/recipes-core/glibc/glibc.inc index ce1222be6..99c92ce46 100644 --- a/poky/meta/recipes-core/glibc/glibc.inc +++ b/poky/meta/recipes-core/glibc/glibc.inc @@ -13,9 +13,6 @@ python () { opt_effective = opt if opt_effective == "-O0": bb.fatal("%s can't be built with %s, try -O1 instead" % (d.getVar('PN'), opt_effective)) - if opt_effective in ("-O", "-O1", "-Os"): - bb.note("%s doesn't build cleanly with %s, adding -Wno-error to SELECTED_OPTIMIZATION" % (d.getVar('PN'), opt_effective)) - d.appendVar("SELECTED_OPTIMIZATION", " -Wno-error") } # siteconfig.bbclass runs configure which needs a working compiler @@ -33,12 +30,8 @@ siteconfig_do_siteconfig_gencache_prepend = " \ # nptl needs unwind support in gcc, which can't be built without glibc. DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial libgcc-initial linux-libc-headers virtual/${TARGET_PREFIX}libc-initial" -# nptl needs libgcc but dlopens it, so our shlibs code doesn't detect this -#RDEPENDS_${PN} += "${@['','libgcc']['nptl' in '${GLIBC_ADDONS}']}" -CRYPTPROVIDES = "virtual/crypt" -CRYPTPROVIDES_class-nativesdk = "" -PROVIDES = "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc ${CRYPTPROVIDES}" +PROVIDES = "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc" PROVIDES += "virtual/libintl virtual/libiconv" inherit autotools texinfo distro_features_check systemd @@ -63,6 +56,7 @@ INHIBIT_DEFAULT_DEPS = "1" # http://lists.openembedded.org/pipermail/openembedded-core/2015-January/100679.html ARM_INSTRUCTION_SET_armv4 = "arm" ARM_INSTRUCTION_SET_armv5 = "arm" +ARM_INSTRUCTION_SET_armv6 = "arm" # glibc uses PARALLELMFLAGS variable to pass parallel build info so transfer # PARALLEL_MAKE into PARALLELMFLAGS and empty out PARALLEL_MAKE @@ -80,8 +74,6 @@ do_configure_prepend() { sed -e "s#@BASH@#/bin/sh#" -i ${S}/elf/ldd.bash.in } -GLIBC_ADDONS ?= "nptl,libidn" - # Enable backtrace from abort() do_configure_append_arm () { echo "CFLAGS-abort.c = -fasynchronous-unwind-tables" >> ${B}/configparms diff --git a/poky/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch b/poky/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch index 86234c9d2..5df26a854 100644 --- a/poky/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch +++ b/poky/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch @@ -1,8 +1,7 @@ -From bd91b60ce6ff01f49b173b6b45e23ce94911b2a6 Mon Sep 17 00:00:00 2001 +From bd51b3add89a5cb2d8f44029a1027c780b2afff5 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Wed, 18 Mar 2015 01:48:24 +0000 -Subject: [PATCH 01/27] nativesdk-glibc: Look for host system ld.so.cache as - well +Subject: [PATCH] nativesdk-glibc: Look for host system ld.so.cache as well Upstream-Status: Inappropriate [embedded specific] @@ -31,10 +30,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/elf/dl-load.c b/elf/dl-load.c -index 7554a99b5a..a73d11a62f 100644 +index c51e4b3718..44bbb69dc4 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c -@@ -2007,6 +2007,14 @@ _dl_map_object (struct link_map *loader, const char *name, +@@ -2085,6 +2085,14 @@ _dl_map_object (struct link_map *loader, const char *name, } } @@ -49,7 +48,7 @@ index 7554a99b5a..a73d11a62f 100644 #ifdef USE_LDCONFIG if (fd == -1 && (__glibc_likely ((mode & __RTLD_SECURE) == 0) -@@ -2065,14 +2073,6 @@ _dl_map_object (struct link_map *loader, const char *name, +@@ -2143,14 +2151,6 @@ _dl_map_object (struct link_map *loader, const char *name, } #endif @@ -64,6 +63,3 @@ index 7554a99b5a..a73d11a62f 100644 /* Add another newline when we are tracing the library loading. */ if (__glibc_unlikely (GLRO(dl_debug_mask) & DL_DEBUG_LIBS)) _dl_debug_printf ("\n"); --- -2.16.1 - diff --git a/poky/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch b/poky/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch index 899481f05..daadec76c 100644 --- a/poky/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch +++ b/poky/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch @@ -1,8 +1,7 @@ -From 50736f7fc1fdc9e1f7c05f1fec75c977d9be9228 Mon Sep 17 00:00:00 2001 +From fdc8a33ac2c81a0237b8a6d8b1aac7f1cdbb46af Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Wed, 18 Mar 2015 01:50:00 +0000 -Subject: [PATCH 02/27] nativesdk-glibc: Fix buffer overrun with a relocated - SDK +Subject: [PATCH] nativesdk-glibc: Fix buffer overrun with a relocated SDK When ld-linux-*.so.2 is relocated to a path that is longer than the original fixed location, the dynamic loader will crash in open_path @@ -22,10 +21,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 1 file changed, 12 insertions(+) diff --git a/elf/dl-load.c b/elf/dl-load.c -index a73d11a62f..62e3eee478 100644 +index 44bbb69dc4..74e2e5e962 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c -@@ -1707,7 +1707,19 @@ open_path (const char *name, size_t namelen, int mode, +@@ -1785,7 +1785,19 @@ open_path (const char *name, size_t namelen, int mode, given on the command line when rtld is run directly. */ return -1; @@ -45,6 +44,3 @@ index a73d11a62f..62e3eee478 100644 do { struct r_search_path_elem *this_dir = *dirs; --- -2.16.1 - diff --git a/poky/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch b/poky/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch index 03f99916f..e08254030 100644 --- a/poky/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch +++ b/poky/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch @@ -1,8 +1,7 @@ -From 695e1cbff6ee6db3435c33e55311c67adf44476d Mon Sep 17 00:00:00 2001 +From 055dd46b793168fb08e44913153010b088011ba2 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Wed, 18 Mar 2015 01:51:38 +0000 -Subject: [PATCH 03/27] nativesdk-glibc: Raise the size of arrays containing dl - paths +Subject: [PATCH] nativesdk-glibc: Raise the size of arrays containing dl paths This patch puts the dynamic loader path in the binaries, SYSTEM_DIRS strings and lengths as well as ld.so.cache path in the dynamic loader to specific @@ -41,10 +40,10 @@ index 6ee5153ff9..37a5f701fa 100644 _dl_cache_libcmp (const char *p1, const char *p2) { diff --git a/elf/dl-load.c b/elf/dl-load.c -index 62e3eee478..6ddba73650 100644 +index 74e2e5e962..8f19186e1c 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c -@@ -109,8 +109,8 @@ static size_t max_capstrlen attribute_relro; +@@ -110,8 +110,8 @@ static size_t max_capstrlen attribute_relro; gen-trusted-dirs.awk. */ #include "trusted-dirs.h" @@ -81,10 +80,10 @@ index fbdd814edf..9f4d8d69b1 100644 a platform. */ static int diff --git a/elf/rtld.c b/elf/rtld.c -index 453f56eb15..08e0c4c94b 100644 +index 1b0c74739f..a70a62d31e 100644 --- a/elf/rtld.c +++ b/elf/rtld.c -@@ -128,6 +128,7 @@ dso_name_valid_for_suid (const char *p) +@@ -130,6 +130,7 @@ dso_name_valid_for_suid (const char *p) } return *p != '\0'; } @@ -92,7 +91,7 @@ index 453f56eb15..08e0c4c94b 100644 /* LD_AUDIT variable contents. Must be processed before the audit_list below. */ -@@ -1000,12 +1001,12 @@ of this helper program; chances are you did not intend to run this program.\n\ +@@ -1001,12 +1002,12 @@ of this helper program; chances are you did not intend to run this program.\n\ --list list all dependencies and how they are resolved\n\ --verify verify that given object really is a dynamically linked\n\ object we can handle\n\ @@ -108,7 +107,7 @@ index 453f56eb15..08e0c4c94b 100644 ++_dl_skip_args; --_dl_argc; diff --git a/iconv/gconv_conf.c b/iconv/gconv_conf.c -index d6cf9d2a3e..9fcf970144 100644 +index f173cde71b..5c3205026f 100644 --- a/iconv/gconv_conf.c +++ b/iconv/gconv_conf.c @@ -36,7 +36,7 @@ @@ -135,6 +134,3 @@ index cf43f1cf3b..7f07adde53 100644 #ifndef add_system_dir # define add_system_dir(dir) add_dir (dir) #endif --- -2.16.1 - diff --git a/poky/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch b/poky/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch index f9d70c2a0..1ae2e33b4 100644 --- a/poky/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch +++ b/poky/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch @@ -1,7 +1,7 @@ -From 2bafdbd7067794c6a24e5e85608c0ec4638c5667 Mon Sep 17 00:00:00 2001 +From a237553ccd15276462be2023057a017fa8ee5d7c Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Thu, 31 Dec 2015 14:35:35 -0800 -Subject: [PATCH 04/27] nativesdk-glibc: Allow 64 bit atomics for x86 +Subject: [PATCH] nativesdk-glibc: Allow 64 bit atomics for x86 The fix consist of allowing 64bit atomic ops for x86. This should be safe for i586 and newer CPUs. @@ -29,6 +29,3 @@ index 272da5dd8f..409c759f14 100644 #define USE_ATOMIC_COMPILER_BUILTINS 0 #define ATOMIC_EXCHANGE_USES_CAS 0 --- -2.16.1 - diff --git a/poky/meta/recipes-core/glibc/glibc/relocate-locales.patch b/poky/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch index 2aea37f5c..b53f2ef2e 100644 --- a/poky/meta/recipes-core/glibc/glibc/relocate-locales.patch +++ b/poky/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch @@ -1,12 +1,24 @@ +From e1dc85af1800afa4fbf4eb5a59cc41025495af57 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 3 Aug 2018 09:55:12 -0700 +Subject: [PATCH] nativesdk-glibc: Make relocatable install for locales + The glibc locale path is hard-coded to the install prefix, but in SDKs we need to be able to relocate the binaries. Expand the strings to 4K and put them in a magic segment that we can relocate at install time. Upstream-Status: Inappropriate (OE-specific) + Signed-off-by: Ross Burton <ross.burton@intel.com> +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + locale/findlocale.c | 4 ++-- + locale/loadarchive.c | 2 +- + locale/localeinfo.h | 2 +- + 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/locale/findlocale.c b/locale/findlocale.c -index 872cadb5..da14fa39 100644 +index 872cadb5b9..dd651e07f5 100644 --- a/locale/findlocale.c +++ b/locale/findlocale.c @@ -56,7 +56,7 @@ struct __locale_data *const _nl_C[] attribute_hidden = @@ -27,8 +39,21 @@ index 872cadb5..da14fa39 100644 } else /* We really have to load some data. First see whether the name is +diff --git a/locale/loadarchive.c b/locale/loadarchive.c +index 516d30d8d1..9bfbe1a5dd 100644 +--- a/locale/loadarchive.c ++++ b/locale/loadarchive.c +@@ -42,7 +42,7 @@ + + + /* Name of the locale archive file. */ +-static const char archfname[] = COMPLOCALEDIR "/locale-archive"; ++static const char archfname[4096] __attribute__ ((section (".gccrelocprefix"))) = COMPLOCALEDIR "/locale-archive"; + + /* Size of initial mapping window, optimal if large enough to + cover the header plus the initial locale. */ diff --git a/locale/localeinfo.h b/locale/localeinfo.h -index 68822a63..537bc351 100644 +index 68822a6319..537bc35149 100644 --- a/locale/localeinfo.h +++ b/locale/localeinfo.h @@ -325,7 +325,7 @@ _nl_lookup_word (locale_t l, int category, int item) @@ -40,16 +65,3 @@ index 68822a63..537bc351 100644 /* Load the locale data for CATEGORY from the file specified by *NAME. If *NAME is "", use environment variables as specified by POSIX, and -diff --git a/locale/loadarchive.c b/locale/loadarchive.c -index 516d30d8..792b37fb 100644 ---- a/locale/loadarchive.c -+++ b/locale/loadarchive.c -@@ -42,7 +43,7 @@ - - - /* Name of the locale archive file. */ --static const char archfname[] = COMPLOCALEDIR "/locale-archive"; -+static const char archfname[4096] __attribute__ ((section (".gccrelocprefix"))) = COMPLOCALEDIR "/locale-archive"; - - /* Size of initial mapping window, optimal if large enough to - cover the header plus the initial locale. */ diff --git a/poky/meta/recipes-core/glibc/glibc/0005-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch b/poky/meta/recipes-core/glibc/glibc/0006-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch index ad9106eef..971700a6d 100644 --- a/poky/meta/recipes-core/glibc/glibc/0005-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch +++ b/poky/meta/recipes-core/glibc/glibc/0006-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch @@ -1,31 +1,31 @@ -From 661adfe9c220d10617bf6bb283827471c3956b01 Mon Sep 17 00:00:00 2001 +From d23c577b0b70b34335971abaf3f50e617dda615e Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Wed, 18 Mar 2015 00:01:50 +0000 -Subject: [PATCH 05/27] fsl e500/e5500/e6500/603e fsqrt implementation +Subject: [PATCH] fsl e500/e5500/e6500/603e fsqrt implementation Upstream-Status: Pending Signed-off-by: Edmar Wienskoski <edmar@freescale.com> Signed-off-by: Khem Raj <raj.khem@gmail.com> --- - sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c | 134 +++++++++++++++++++++ - sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c | 101 ++++++++++++++++ - sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c | 134 +++++++++++++++++++++ - sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c | 101 ++++++++++++++++ - sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c | 134 +++++++++++++++++++++ - sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c | 101 ++++++++++++++++ - sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c | 134 +++++++++++++++++++++ - sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c | 101 ++++++++++++++++ - sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c | 134 +++++++++++++++++++++ - sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c | 101 ++++++++++++++++ - sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c | 134 +++++++++++++++++++++ - sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c | 101 ++++++++++++++++ - .../sysv/linux/powerpc/powerpc32/603e/fpu/Implies | 1 + - .../linux/powerpc/powerpc32/e300c3/fpu/Implies | 2 + - .../linux/powerpc/powerpc32/e500mc/fpu/Implies | 1 + - .../sysv/linux/powerpc/powerpc32/e5500/fpu/Implies | 1 + - .../sysv/linux/powerpc/powerpc32/e6500/fpu/Implies | 1 + - .../sysv/linux/powerpc/powerpc64/e5500/fpu/Implies | 1 + - .../sysv/linux/powerpc/powerpc64/e6500/fpu/Implies | 1 + + sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c | 134 ++++++++++++++++++ + sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c | 101 +++++++++++++ + sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c | 134 ++++++++++++++++++ + .../powerpc/powerpc32/e500mc/fpu/e_sqrtf.c | 101 +++++++++++++ + sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c | 134 ++++++++++++++++++ + sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c | 101 +++++++++++++ + sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c | 134 ++++++++++++++++++ + sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c | 101 +++++++++++++ + sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c | 134 ++++++++++++++++++ + sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c | 101 +++++++++++++ + sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c | 134 ++++++++++++++++++ + sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c | 101 +++++++++++++ + .../linux/powerpc/powerpc32/603e/fpu/Implies | 1 + + .../powerpc/powerpc32/e300c3/fpu/Implies | 2 + + .../powerpc/powerpc32/e500mc/fpu/Implies | 1 + + .../linux/powerpc/powerpc32/e5500/fpu/Implies | 1 + + .../linux/powerpc/powerpc32/e6500/fpu/Implies | 1 + + .../linux/powerpc/powerpc64/e5500/fpu/Implies | 1 + + .../linux/powerpc/powerpc64/e6500/fpu/Implies | 1 + 19 files changed, 1418 insertions(+) create mode 100644 sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c create mode 100644 sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c @@ -1579,6 +1579,3 @@ index 0000000000..04ff8cc181 +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/e6500/fpu/Implies @@ -0,0 +1 @@ +powerpc/powerpc64/e6500/fpu --- -2.16.1 - diff --git a/poky/meta/recipes-core/glibc/glibc/0006-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch b/poky/meta/recipes-core/glibc/glibc/0007-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch index a3d50fd05..487134683 100644 --- a/poky/meta/recipes-core/glibc/glibc/0006-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch +++ b/poky/meta/recipes-core/glibc/glibc/0007-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch @@ -1,8 +1,7 @@ -From 615598fcca64461a71d84f756d75374f02d914ad Mon Sep 17 00:00:00 2001 +From d65f6ee214d7d91445fceabc6a5d6bf55b0e8d4b Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Wed, 18 Mar 2015 00:11:22 +0000 -Subject: [PATCH 06/27] readlib: Add OECORE_KNOWN_INTERPRETER_NAMES to known - names +Subject: [PATCH] readlib: Add OECORE_KNOWN_INTERPRETER_NAMES to known names This bolts in a hook for OE to pass its own version of interpreter names into glibc especially for multilib case, where it differs from any @@ -28,6 +27,3 @@ index 573c01476c..d8c7412287 100644 }; static struct known_names known_libs[] = --- -2.16.1 - diff --git a/poky/meta/recipes-core/glibc/glibc/0007-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch b/poky/meta/recipes-core/glibc/glibc/0008-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch index 1234df0a0..c0d96eb1f 100644 --- a/poky/meta/recipes-core/glibc/glibc/0007-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch +++ b/poky/meta/recipes-core/glibc/glibc/0008-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch @@ -1,7 +1,7 @@ -From 804b73ae295bdfda29341e89f2d0c1b99492dc9a Mon Sep 17 00:00:00 2001 +From ee3aa1464f40c916c62cf326bf4c18f8b71a229b Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Wed, 18 Mar 2015 00:15:07 +0000 -Subject: [PATCH 07/27] ppc/sqrt: Fix undefined reference to `__sqrt_finite' +Subject: [PATCH] ppc/sqrt: Fix undefined reference to `__sqrt_finite' on ppc fixes the errors like below | ./.libs/libpulsecore-1.1.so: undefined reference to `__sqrt_finite' @@ -203,6 +203,3 @@ index 26fa067abf..9d175122a8 100644 return f_washf (b); } +strong_alias (__ieee754_sqrtf, __sqrtf_finite) --- -2.16.1 - diff --git a/poky/meta/recipes-core/glibc/glibc/0008-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch b/poky/meta/recipes-core/glibc/glibc/0009-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch index 1b4364751..d0b47cd67 100644 --- a/poky/meta/recipes-core/glibc/glibc/0008-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch +++ b/poky/meta/recipes-core/glibc/glibc/0009-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch @@ -1,8 +1,8 @@ -From 1a53084249d9dae1ef4281246efc899c8f9d63ed Mon Sep 17 00:00:00 2001 +From 17e82d594b2d8d3a6998face953382f9d14fb046 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Wed, 18 Mar 2015 00:16:38 +0000 -Subject: [PATCH 08/27] __ieee754_sqrt{,f} are now inline functions and call - out __slow versions +Subject: [PATCH] __ieee754_sqrt{,f} are now inline functions and call out + __slow versions Upstream-Status: Pending @@ -382,6 +382,3 @@ index 9d175122a8..10de1f0cc3 100644 +} + strong_alias (__ieee754_sqrtf, __sqrtf_finite) --- -2.16.1 - diff --git a/poky/meta/recipes-core/glibc/glibc/0009-Quote-from-bug-1443-which-explains-what-the-patch-do.patch b/poky/meta/recipes-core/glibc/glibc/0010-Quote-from-bug-1443-which-explains-what-the-patch-do.patch index ea498569b..86ef3a105 100644 --- a/poky/meta/recipes-core/glibc/glibc/0009-Quote-from-bug-1443-which-explains-what-the-patch-do.patch +++ b/poky/meta/recipes-core/glibc/glibc/0010-Quote-from-bug-1443-which-explains-what-the-patch-do.patch @@ -1,8 +1,7 @@ -From 48262b6dda935278a40374ddf0080ab6cc999582 Mon Sep 17 00:00:00 2001 +From fe8d9b76e7c881cc0a0b728ea2bd637fafca0978 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Wed, 18 Mar 2015 00:20:09 +0000 -Subject: [PATCH 09/27] Quote from bug 1443 which explains what the patch does - : +Subject: [PATCH] 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(). @@ -45,7 +44,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sysdeps/arm/dl-machine.h b/sysdeps/arm/dl-machine.h -index 8a00eab5e3..623edcb1bd 100644 +index 1a4fd3f17b..a02c47571a 100644 --- a/sysdeps/arm/dl-machine.h +++ b/sysdeps/arm/dl-machine.h @@ -510,7 +510,7 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc, @@ -57,6 +56,3 @@ index 8a00eab5e3..623edcb1bd 100644 break; case R_ARM_TLS_TPOFF32: --- -2.16.1 - diff --git a/poky/meta/recipes-core/glibc/glibc/0010-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch b/poky/meta/recipes-core/glibc/glibc/0011-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch index 17513185d..32aae5cd5 100644 --- a/poky/meta/recipes-core/glibc/glibc/0010-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch +++ b/poky/meta/recipes-core/glibc/glibc/0011-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch @@ -1,7 +1,7 @@ -From 72ea5410909aef6b6aee70e7f9a88d534583aa00 Mon Sep 17 00:00:00 2001 +From 3012cb839a64e7d5c621efa79b643d169290e6e9 Mon Sep 17 00:00:00 2001 From: Ting Liu <b28495@freescale.com> Date: Wed, 19 Dec 2012 04:39:57 -0600 -Subject: [PATCH 10/27] eglibc: run libm-err-tab.pl with specific dirs in ${S} +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 @@ -31,6 +31,3 @@ index c2756640a7..1b5bb16a96 100644 $(move-if-change) $(objpfx)libm-err-tmp $(objpfx)libm-err.texi touch $@ --- -2.16.1 - diff --git a/poky/meta/recipes-core/glibc/glibc/0011-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch b/poky/meta/recipes-core/glibc/glibc/0012-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch index 1e70b2a30..93395c389 100644 --- a/poky/meta/recipes-core/glibc/glibc/0011-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch +++ b/poky/meta/recipes-core/glibc/glibc/0012-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch @@ -1,8 +1,8 @@ -From 8ae998a10b24545e0c12f1f3d8be97b191178204 Mon Sep 17 00:00:00 2001 +From 93ab69ae4c98303929ba9492130a021fa4a215be Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Wed, 18 Mar 2015 00:24:46 +0000 -Subject: [PATCH 11/27] __ieee754_sqrt{,f} are now inline functions and call - out __slow versions +Subject: [PATCH] __ieee754_sqrt{,f} are now inline functions and call out + __slow versions Upstream-Status: Pending @@ -56,6 +56,3 @@ index 812653558f..10de1f0cc3 100644 float b; #endif { --- -2.16.1 - diff --git a/poky/meta/recipes-core/glibc/glibc/0012-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch b/poky/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch index c35b759a2..9998691fa 100644 --- a/poky/meta/recipes-core/glibc/glibc/0012-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch +++ b/poky/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch @@ -1,7 +1,7 @@ -From 4f9f39761909e67bd6d29b970b7165863e33e565 Mon Sep 17 00:00:00 2001 +From a7bd8aa65f3f2755d6dbd0d5adbfd269c1fb0094 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Wed, 18 Mar 2015 00:27:10 +0000 -Subject: [PATCH 12/27] sysdeps/gnu/configure.ac: handle correctly +Subject: [PATCH] sysdeps/gnu/configure.ac: handle correctly $libc_cv_rootsbindir Upstream-Status:Pending @@ -37,6 +37,3 @@ index 634fe4de2a..3db1697f4f 100644 + test -n "$libc_cv_rootsbindir" || libc_cv_rootsbindir=/sbin ;; esac --- -2.16.1 - diff --git a/poky/meta/recipes-core/glibc/glibc/0013-Add-unused-attribute.patch b/poky/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch index 62c65253d..9d6ab30e2 100644 --- a/poky/meta/recipes-core/glibc/glibc/0013-Add-unused-attribute.patch +++ b/poky/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch @@ -1,7 +1,7 @@ -From bba7a647b636618d5fd083e904f995f7736b9168 Mon Sep 17 00:00:00 2001 +From 2ce5bc6da23dcb402afdeb967fa44c39eecf6d37 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Wed, 18 Mar 2015 00:28:41 +0000 -Subject: [PATCH 13/27] Add unused attribute +Subject: [PATCH] Add unused attribute Helps in avoiding gcc warning when header is is included in a source file which does not use both functions @@ -29,6 +29,3 @@ index 123e2a62ce..63cc83ec84 100644 strip (char *wp, const char *s) { int slash_count = 0; --- -2.16.1 - diff --git a/poky/meta/recipes-core/glibc/glibc/0014-yes-within-the-path-sets-wrong-config-variables.patch b/poky/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch index 66911285a..0267e7a4e 100644 --- a/poky/meta/recipes-core/glibc/glibc/0014-yes-within-the-path-sets-wrong-config-variables.patch +++ b/poky/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch @@ -1,7 +1,7 @@ -From 62f44ce3dd01a257cf67116e355492cb1659a917 Mon Sep 17 00:00:00 2001 +From b382138c41ccf6079b44592f1e74f183ca8281bb Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Wed, 18 Mar 2015 00:31:06 +0000 -Subject: [PATCH 14/27] 'yes' within the path sets wrong config variables +Subject: [PATCH] 'yes' within the path sets wrong config variables It seems that the 'AC_EGREP_CPP(yes...' example is quite popular but being such a short word to grep it is likely to produce @@ -258,6 +258,3 @@ index f9cba6e15d..b21f72f1e4 100644 #endif ], libc_cv_ppc64_def_call_elf=yes, libc_cv_ppc64_def_call_elf=no)]) if test $libc_cv_ppc64_def_call_elf = no; then --- -2.16.1 - diff --git a/poky/meta/recipes-core/glibc/glibc/0015-timezone-re-written-tzselect-as-posix-sh.patch b/poky/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch index 66bf4fdab..15453ec6f 100644 --- a/poky/meta/recipes-core/glibc/glibc/0015-timezone-re-written-tzselect-as-posix-sh.patch +++ b/poky/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch @@ -1,7 +1,7 @@ -From ac240fb01f6470ac207968adfbe20ccc93b16f8b Mon Sep 17 00:00:00 2001 +From 04fb7b93dc40c1f96ebc05d29a2f02f9e4f0d572 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Wed, 18 Mar 2015 00:33:03 +0000 -Subject: [PATCH 15/27] timezone: re-written tzselect as posix sh +Subject: [PATCH] timezone: re-written tzselect as posix sh To avoid the bash dependency. @@ -40,6 +40,3 @@ index d2c3a6d1dd..089679f306 100755 # Output one argument as-is to standard output. # Safer than 'echo', which can mishandle '\' or leading '-'. --- -2.16.1 - diff --git a/poky/meta/recipes-core/glibc/glibc/0016-Remove-bash-dependency-for-nscd-init-script.patch b/poky/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch index 0b1ee9687..06d2cd1d2 100644 --- a/poky/meta/recipes-core/glibc/glibc/0016-Remove-bash-dependency-for-nscd-init-script.patch +++ b/poky/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch @@ -1,7 +1,7 @@ -From 790b133ff2bc5b77ed8533b8999abc65ed0da02b Mon Sep 17 00:00:00 2001 +From 7a2f244c0980a54ed74f9544ab44a7269ef12bce Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Thu, 31 Dec 2015 14:33:02 -0800 -Subject: [PATCH 16/27] Remove bash dependency for nscd init script +Subject: [PATCH] Remove bash dependency for nscd init script The nscd init script uses #! /bin/bash but only really uses one bashism (translated strings), so remove them and switch the shell to #!/bin/sh. @@ -70,6 +70,3 @@ index a882da7d8b..b02986ec15 100644 RETVAL=1 ;; esac --- -2.16.1 - diff --git a/poky/meta/recipes-core/glibc/glibc/0017-eglibc-Cross-building-and-testing-instructions.patch b/poky/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch index fd821323d..29109a26e 100644 --- a/poky/meta/recipes-core/glibc/glibc/0017-eglibc-Cross-building-and-testing-instructions.patch +++ b/poky/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch @@ -1,15 +1,15 @@ -From 897430bbb65a0f22284d7957206b5fd4efd6607f Mon Sep 17 00:00:00 2001 +From 44a5c79efea09f5b990e524ec42abdeef444056a Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Wed, 18 Mar 2015 00:42:58 +0000 -Subject: [PATCH 17/27] eglibc: Cross building and testing instructions +Subject: [PATCH] eglibc: Cross building and testing instructions Ported from eglibc Upstream-Status: Pending Signed-off-by: Khem Raj <raj.khem@gmail.com> --- - GLIBC.cross-building | 383 +++++++++++++++++++++++++++++++++++++++++++++++++++ - GLIBC.cross-testing | 205 +++++++++++++++++++++++++++ + GLIBC.cross-building | 383 +++++++++++++++++++++++++++++++++++++++++++ + GLIBC.cross-testing | 205 +++++++++++++++++++++++ 2 files changed, 588 insertions(+) create mode 100644 GLIBC.cross-building create mode 100644 GLIBC.cross-testing @@ -614,6 +614,3 @@ index 0000000000..b67b468466 +- Some tests require access to libstdc++.so.6 and libgcc_s.so.1; we + simply place copies of these libraries in the top GLIBC build + directory. --- -2.16.1 - diff --git a/poky/meta/recipes-core/glibc/glibc/0018-eglibc-Help-bootstrap-cross-toolchain.patch b/poky/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch index 80d547c80..71c2ab918 100644 --- a/poky/meta/recipes-core/glibc/glibc/0018-eglibc-Help-bootstrap-cross-toolchain.patch +++ b/poky/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch @@ -1,7 +1,7 @@ -From fcfa19b69e8749477022161a808a201807ef72ec Mon Sep 17 00:00:00 2001 +From f4ec5527d562d38523abb8587a6c7532e9d21f8a Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Wed, 18 Mar 2015 00:49:28 +0000 -Subject: [PATCH 18/27] eglibc: Help bootstrap cross toolchain +Subject: [PATCH] eglibc: Help bootstrap cross toolchain Taken from EGLIBC, r1484 + r1525 @@ -29,7 +29,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> create mode 100644 include/stubs-bootstrap.h diff --git a/Makefile b/Makefile -index bea4e27f8d..8c83cfadc6 100644 +index d3f25a525a..ab383867e2 100644 --- a/Makefile +++ b/Makefile @@ -70,9 +70,18 @@ subdir-dirs = include @@ -52,7 +52,7 @@ index bea4e27f8d..8c83cfadc6 100644 ifeq (yes,$(build-shared)) headers += gnu/lib-names.h endif -@@ -152,6 +161,16 @@ others: $(common-objpfx)testrun.sh +@@ -195,6 +204,16 @@ others: $(common-objpfx)testrun.sh subdir-stubs := $(foreach dir,$(subdirs),$(common-objpfx)$(dir)/stubs) @@ -69,7 +69,7 @@ index bea4e27f8d..8c83cfadc6 100644 ifndef abi-variants installed-stubs = $(inst_includedir)/gnu/stubs.h else -@@ -178,6 +197,7 @@ $(inst_includedir)/gnu/stubs.h: $(+force) +@@ -221,6 +240,7 @@ $(inst_includedir)/gnu/stubs.h: $(+force) install-others-nosubdir: $(installed-stubs) endif @@ -95,6 +95,3 @@ index 0000000000..1d2b669aff + difficult headers. The <gnu/stubs.h> header depends, via the + EGLIBC subdir 'stubs' make targets, on every .o file in EGLIBC, but + an empty stubs.h like this will do fine for GCC. */ --- -2.16.1 - diff --git a/poky/meta/recipes-core/glibc/glibc/0019-eglibc-Clear-cache-lines-on-ppc8xx.patch b/poky/meta/recipes-core/glibc/glibc/0020-eglibc-Clear-cache-lines-on-ppc8xx.patch index 17bfe4fe8..6e475a711 100644 --- a/poky/meta/recipes-core/glibc/glibc/0019-eglibc-Clear-cache-lines-on-ppc8xx.patch +++ b/poky/meta/recipes-core/glibc/glibc/0020-eglibc-Clear-cache-lines-on-ppc8xx.patch @@ -1,7 +1,7 @@ -From c6f2db0d7c5c65bfa19766a0e1ce8210111f9c7d Mon Sep 17 00:00:00 2001 +From 6c23660d035e71de0e20b40460ad3050bd057665 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Thu, 31 Dec 2015 15:15:09 -0800 -Subject: [PATCH 19/27] eglibc: Clear cache lines on ppc8xx +Subject: [PATCH] eglibc: Clear cache lines on ppc8xx 2007-06-13 Nathan Sidwell <nathan@codesourcery.com> Mark Shinwell <shinwell@codesourcery.com> @@ -78,6 +78,3 @@ index f2ad0c355d..3e6773795e 100644 __cache_line_size = av->a_un.a_val; break; #ifndef SHARED --- -2.16.1 - diff --git a/poky/meta/recipes-core/glibc/glibc/0021-eglibc-Install-PIC-archives.patch b/poky/meta/recipes-core/glibc/glibc/0021-eglibc-Install-PIC-archives.patch deleted file mode 100644 index 530f4e108..000000000 --- a/poky/meta/recipes-core/glibc/glibc/0021-eglibc-Install-PIC-archives.patch +++ /dev/null @@ -1,123 +0,0 @@ -From c1beab8a11985f96f5eb644e7103d343b705afc6 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Wed, 18 Mar 2015 01:57:01 +0000 -Subject: [PATCH 21/27] eglibc: Install PIC archives - -Forward port from eglibc - -2008-02-07 Joseph Myers <joseph@codesourcery.com> - - * Makerules (install-extras, install-map): New variables. - (installed-libcs): Add libc_pic.a. - (install-lib): Include _pic.a files for versioned shared - libraries. - (install-map-nosubdir, install-extras-nosubdir): Add rules for - installing extra files. - (install-no-libc.a-nosubdir): Depend on install-map-nosubdir and - install-extras-nosubdir. - -2008-04-01 Maxim Kuvyrkov <maxim@codesourcery.com> - - * Makerules (install-lib): Don't install libpthread_pic.a. - (install-map): Don't install libpthread_pic.map. - -Upstream-Status: Pending - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - Makerules | 42 ++++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 40 insertions(+), 2 deletions(-) - -diff --git a/Makerules b/Makerules -index ef6abeac6d..eeaa667f49 100644 ---- a/Makerules -+++ b/Makerules -@@ -778,6 +778,9 @@ ifeq ($(build-shared),yes) - $(common-objpfx)libc.so: $(common-objpfx)libc.map - endif - common-generated += libc.so libc_pic.os -+ifndef subdir -+install-extras := soinit.o sofini.o -+endif - ifdef libc.so-version - $(common-objpfx)libc.so$(libc.so-version): $(common-objpfx)libc.so - $(make-link) -@@ -1029,6 +1032,7 @@ endif - - install: check-install-supported - -+installed-libcs := $(installed-libcs) $(inst_libdir)/libc_pic.a - install: $(installed-libcs) - $(installed-libcs): $(inst_libdir)/lib$(libprefix)%: lib $(+force) - $(make-target-directory) -@@ -1057,6 +1061,22 @@ versioned := $(strip $(foreach so,$(install-lib.so),\ - install-lib.so-versioned := $(filter $(versioned), $(install-lib.so)) - install-lib.so-unversioned := $(filter-out $(versioned), $(install-lib.so)) - -+# Install the _pic.a files for versioned libraries, and corresponding -+# .map files. -+# libpthread_pic.a breaks mklibs, so don't install it and its map. -+install-lib := $(install-lib) $(install-lib.so-versioned:%.so=%_pic.a) -+install-lib := $(filter-out libpthread_pic.a,$(install-lib)) -+# Despite having a soname libhurduser and libmachuser do not use symbol -+# versioning, so don't install the corresponding .map files. -+ifeq ($(build-shared),yes) -+install-map := $(patsubst %.so,%.map,\ -+ $(foreach L,$(install-lib.so-versioned),$(notdir $L))) -+install-map := $(filter-out libhurduser.map libmachuser.map libpthread.map,$(install-map)) -+ifndef subdir -+install-map := $(install-map) libc.map -+endif -+endif -+ - # For versioned libraries, we install three files: - # $(inst_libdir)/libfoo.so -- for linking, symlink or ld script - # $(inst_slibdir)/libfoo.so.NN -- for loading by SONAME, symlink -@@ -1311,9 +1331,22 @@ $(addprefix $(inst_includedir)/,$(headers-nonh)): $(inst_includedir)/%: \ - endif # headers-nonh - endif # headers - -+ifdef install-map -+$(addprefix $(inst_libdir)/,$(patsubst lib%.map,lib%_pic.map,$(install-map))): \ -+ $(inst_libdir)/lib%_pic.map: $(common-objpfx)lib%.map $(+force) -+ $(do-install) -+endif -+ -+ifdef install-extras -+$(addprefix $(inst_libdir)/libc_pic/,$(install-extras)): \ -+ $(inst_libdir)/libc_pic/%.o: $(elf-objpfx)%.os $(+force) -+ $(do-install) -+endif -+ - .PHONY: install-bin-nosubdir install-bin-script-nosubdir \ - install-rootsbin-nosubdir install-sbin-nosubdir install-lib-nosubdir \ -- install-data-nosubdir install-headers-nosubdir -+ install-data-nosubdir install-headers-nosubdir install-map-nosubdir \ -+ install-extras-nosubdir - install-bin-nosubdir: $(addprefix $(inst_bindir)/,$(install-bin)) - install-bin-script-nosubdir: $(addprefix $(inst_bindir)/,$(install-bin-script)) - install-rootsbin-nosubdir: \ -@@ -1326,6 +1359,10 @@ install-data-nosubdir: $(addprefix $(inst_datadir)/,$(install-data)) - install-headers-nosubdir: $(addprefix $(inst_includedir)/,$(headers)) - install-others-nosubdir: $(install-others) - install-others-programs-nosubdir: $(install-others-programs) -+install-map-nosubdir: $(addprefix $(inst_libdir)/,\ -+ $(patsubst lib%.map,lib%_pic.map,$(install-map))) -+install-extras-nosubdir: $(addprefix $(inst_libdir)/libc_pic/,\ -+ $(install-extras)) - - # We need all the `-nosubdir' targets so that `install' in the parent - # doesn't depend on several things which each iterate over the subdirs. -@@ -1335,7 +1372,8 @@ install-%:: install-%-nosubdir ; - - .PHONY: install install-no-libc.a-nosubdir - install-no-libc.a-nosubdir: install-headers-nosubdir install-data-nosubdir \ -- install-lib-nosubdir install-others-nosubdir -+ install-lib-nosubdir install-others-nosubdir \ -+ install-map-nosubdir install-extras-nosubdir - ifeq ($(build-programs),yes) - install-no-libc.a-nosubdir: install-bin-nosubdir install-bin-script-nosubdir \ - install-rootsbin-nosubdir install-sbin-nosubdir \ --- -2.16.1 - diff --git a/poky/meta/recipes-core/glibc/glibc/0020-eglibc-Resolve-__fpscr_values-on-SH4.patch b/poky/meta/recipes-core/glibc/glibc/0021-eglibc-Resolve-__fpscr_values-on-SH4.patch index 09f767075..8aecf2624 100644 --- a/poky/meta/recipes-core/glibc/glibc/0020-eglibc-Resolve-__fpscr_values-on-SH4.patch +++ b/poky/meta/recipes-core/glibc/glibc/0021-eglibc-Resolve-__fpscr_values-on-SH4.patch @@ -1,7 +1,7 @@ -From 577085016bb926a687abec145557fe8cb8f5af0e Mon Sep 17 00:00:00 2001 +From 55531ef57d04006c5a1e3b32a8e0410372f86007 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Wed, 18 Mar 2015 00:55:53 +0000 -Subject: [PATCH 20/27] eglibc: Resolve __fpscr_values on SH4 +Subject: [PATCH] eglibc: Resolve __fpscr_values on SH4 2010-09-29 Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Andrew Stubbs <ams@codesourcery.com> @@ -51,6 +51,3 @@ index c4e28ffb98..648bae03d5 100644 + .long 0x80000 +weak_alias (___fpscr_values, __fpscr_values) + --- -2.16.1 - diff --git a/poky/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch b/poky/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch index a629ce141..aa62c6352 100644 --- a/poky/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch +++ b/poky/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch @@ -1,24 +1,24 @@ -From e019fe6a2b410db6043e21803f497b5cbdd90a83 Mon Sep 17 00:00:00 2001 +From 4bb23fbb07984b93fd14f353fd9325d927b0cd98 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Wed, 18 Mar 2015 01:33:49 +0000 -Subject: [PATCH 22/27] eglibc: Forward port cross locale generation support +Subject: [PATCH] eglibc: Forward port cross locale generation support Upstream-Status: Pending Signed-off-by: Khem Raj <raj.khem@gmail.com> --- - locale/Makefile | 3 ++- - locale/catnames.c | 48 +++++++++++++++++++++++++++++++++++ + locale/Makefile | 3 +- + locale/catnames.c | 48 ++++++++++++++++++++++++++++ locale/localeinfo.h | 2 +- - locale/programs/charmap-dir.c | 6 +++++ - locale/programs/ld-collate.c | 17 ++++++------- - locale/programs/ld-ctype.c | 27 ++++++++++---------- - locale/programs/ld-time.c | 31 +++++++++++++++-------- + locale/programs/charmap-dir.c | 6 ++++ + locale/programs/ld-collate.c | 17 +++++----- + locale/programs/ld-ctype.c | 27 ++++++++-------- + locale/programs/ld-time.c | 31 ++++++++++++------ locale/programs/linereader.c | 2 +- - locale/programs/localedef.c | 8 ++++++ - locale/programs/locfile.c | 5 +++- - locale/programs/locfile.h | 59 +++++++++++++++++++++++++++++++++++++++++-- - locale/setlocale.c | 30 ---------------------- + locale/programs/localedef.c | 8 +++++ + locale/programs/locfile.c | 5 ++- + locale/programs/locfile.h | 59 +++++++++++++++++++++++++++++++++-- + locale/setlocale.c | 30 ------------------ 12 files changed, 169 insertions(+), 69 deletions(-) create mode 100644 locale/catnames.c @@ -91,7 +91,7 @@ index 0000000000..9fad357db1 + [LC_ALL] = sizeof ("LC_ALL") - 1 + }; diff --git a/locale/localeinfo.h b/locale/localeinfo.h -index 68822a6319..fa36123776 100644 +index 537bc35149..73ba20d695 100644 --- a/locale/localeinfo.h +++ b/locale/localeinfo.h @@ -224,7 +224,7 @@ __libc_tsd_define (extern, locale_t, LOCALE) @@ -561,6 +561,3 @@ index e4de907e1f..b5d8f5c17d 100644 #ifdef NL_CURRENT_INDIRECT # define WEAK_POSTLOAD(postload) weak_extern (postload) #else --- -2.16.1 - diff --git a/poky/meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch b/poky/meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch index ae708ef83..68fad9641 100644 --- a/poky/meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch +++ b/poky/meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch @@ -1,7 +1,7 @@ -From 9d71526be21abe68dd8ca3a5a219445851bbc2f4 Mon Sep 17 00:00:00 2001 +From 1b2ceb6c2414e3c98c7bcd029583287ced9f3159 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Wed, 20 Apr 2016 21:11:00 -0700 -Subject: [PATCH 23/27] Define DUMMY_LOCALE_T if not defined +Subject: [PATCH] Define DUMMY_LOCALE_T if not defined This is a hack to fix building the locale bits on an older CentOs 5.X machine @@ -27,6 +27,3 @@ index 9956cd8446..04342f3644 100644 /* Use the internal textdomain used for libc messages. */ #define PACKAGE _libc_intl_domainname #ifndef VERSION --- -2.16.1 - diff --git a/poky/meta/recipes-core/glibc/glibc/0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch b/poky/meta/recipes-core/glibc/glibc/0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch index 42ff66781..28cff2b90 100644 --- a/poky/meta/recipes-core/glibc/glibc/0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch +++ b/poky/meta/recipes-core/glibc/glibc/0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch @@ -1,7 +1,7 @@ -From 03873af286f1dab1062f598d6deb774ce513421d Mon Sep 17 00:00:00 2001 +From a6159c9486745664a5f116ee9cc45837021b7624 Mon Sep 17 00:00:00 2001 From: Mark Hatle <mark.hatle@windriver.com> Date: Thu, 18 Aug 2016 14:07:58 -0500 -Subject: [PATCH 24/27] elf/dl-deps.c: Make _dl_build_local_scope breadth first +Subject: [PATCH] elf/dl-deps.c: Make _dl_build_local_scope breadth first According to the ELF specification: @@ -24,10 +24,10 @@ Signed-off-by: Mark Hatle <mark.hatle@windriver.com> 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/elf/dl-deps.c b/elf/dl-deps.c -index c975fcffd7..6ee58c74e0 100644 +index 9d9b1ba7f2..8414028c58 100644 --- a/elf/dl-deps.c +++ b/elf/dl-deps.c -@@ -72,13 +72,19 @@ _dl_build_local_scope (struct link_map **list, struct link_map *map) +@@ -73,13 +73,19 @@ _dl_build_local_scope (struct link_map **list, struct link_map *map) { struct link_map **p = list; struct link_map **q; @@ -51,6 +51,3 @@ index c975fcffd7..6ee58c74e0 100644 return p - list; } --- -2.16.1 - diff --git a/poky/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch b/poky/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch index 7f5d1421d..4a7919ff5 100644 --- a/poky/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch +++ b/poky/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch @@ -1,7 +1,7 @@ -From 56dab024751941c07eb479f47ef6682e2168c86a Mon Sep 17 00:00:00 2001 +From 6c6aecba19b3e7947100623532a41b6f16734ace Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Rosen?= <jeremy.rosen@smile.fr> Date: Mon, 22 Aug 2016 16:09:25 +0200 -Subject: [PATCH 25/27] locale: fix hard-coded reference to gcc -E +Subject: [PATCH] locale: fix hard-coded reference to gcc -E When new version of compilers are published, they may not be compatible with older versions of software. This is particularly common when software is built @@ -33,6 +33,3 @@ index 30d3f2f195..e97653017c 100644 sub cstrlen { --- -2.16.1 - diff --git a/poky/meta/recipes-core/glibc/glibc/0026-reset-dl_load_write_lock-after-forking.patch b/poky/meta/recipes-core/glibc/glibc/0026-reset-dl_load_write_lock-after-forking.patch index eca1193dd..71ddc1234 100644 --- a/poky/meta/recipes-core/glibc/glibc/0026-reset-dl_load_write_lock-after-forking.patch +++ b/poky/meta/recipes-core/glibc/glibc/0026-reset-dl_load_write_lock-after-forking.patch @@ -1,7 +1,7 @@ -From 847d37d5a34e4bf294de4ba98de3668950e28bc7 Mon Sep 17 00:00:00 2001 +From efb0fca7db742f4195e1771d8ba4c7fba4938819 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sat, 27 Jan 2018 10:05:07 -0800 -Subject: [PATCH 26/27] reset dl_load_write_lock after forking +Subject: [PATCH] reset dl_load_write_lock after forking The patch in this Bugzilla entry was requested by a customer: @@ -20,10 +20,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sysdeps/nptl/fork.c b/sysdeps/nptl/fork.c -index 846fa49ef2..f87506f398 100644 +index ec56a827eb..0f48933ff1 100644 --- a/sysdeps/nptl/fork.c +++ b/sysdeps/nptl/fork.c -@@ -194,9 +194,9 @@ __libc_fork (void) +@@ -130,9 +130,9 @@ __libc_fork (void) _IO_list_resetlock (); } @@ -33,8 +33,5 @@ index 846fa49ef2..f87506f398 100644 - + __rtld_lock_initialize (GL(dl_load_write_lock)); /* Run the handlers registered for the child. */ - while (allp != NULL) - { --- -2.16.1 - + __run_fork_handlers (atfork_run_child); + } diff --git a/poky/meta/recipes-core/glibc/glibc/0027-Acquire-ld.so-lock-before-switching-to-malloc_atfork.patch b/poky/meta/recipes-core/glibc/glibc/0027-Acquire-ld.so-lock-before-switching-to-malloc_atfork.patch index 9ec234bd5..dd37f2cd4 100644 --- a/poky/meta/recipes-core/glibc/glibc/0027-Acquire-ld.so-lock-before-switching-to-malloc_atfork.patch +++ b/poky/meta/recipes-core/glibc/glibc/0027-Acquire-ld.so-lock-before-switching-to-malloc_atfork.patch @@ -1,7 +1,7 @@ -From 94225ab4bcc1613531558a632270b5edce779bc9 Mon Sep 17 00:00:00 2001 +From 6ea962e0946da7564a774b08dd3eda28d64e9e56 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sat, 27 Jan 2018 10:08:04 -0800 -Subject: [PATCH 27/27] Acquire ld.so lock before switching to malloc_atfork +Subject: [PATCH] Acquire ld.so lock before switching to malloc_atfork The patch is from https://sourceware.org/bugzilla/show_bug.cgi?id=4578 @@ -28,11 +28,11 @@ Signed-off-by: Yuanjie Huang <yuanjie.huang@windriver.com> Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com> --- - sysdeps/nptl/fork.c | 9 +++++++++ - 1 file changed, 9 insertions(+) + sysdeps/nptl/fork.c | 7 +++++++ + 1 file changed, 7 insertions(+) diff --git a/sysdeps/nptl/fork.c b/sysdeps/nptl/fork.c -index f87506f398..225e7b51f8 100644 +index 0f48933ff1..eef3f9669b 100644 --- a/sysdeps/nptl/fork.c +++ b/sysdeps/nptl/fork.c @@ -25,6 +25,7 @@ @@ -43,28 +43,23 @@ index f87506f398..225e7b51f8 100644 #include <stdio-lock.h> #include <atomic.h> #include <nptl/pthreadP.h> -@@ -60,6 +61,10 @@ __libc_fork (void) - but our current fork implementation is not. */ +@@ -56,6 +57,9 @@ __libc_fork (void) bool multiple_threads = THREAD_GETMEM (THREAD_SELF, header.multiple_threads); + __run_fork_handlers (atfork_run_prepare); + /* grab ld.so lock BEFORE switching to malloc_atfork */ + __rtld_lock_lock_recursive (GL(dl_load_lock)); + __rtld_lock_lock_recursive (GL(dl_load_write_lock)); -+ - /* Run all the registered preparation handlers. In reverse order. - While doing this we build up a list of all the entries. */ - struct fork_handler *runp; -@@ -246,6 +251,10 @@ __libc_fork (void) - allp = allp->next; - } -+ + /* If we are not running multiple threads, we do not have to + preserve lock state. If fork runs from a signal handler, only +@@ -150,6 +154,9 @@ __libc_fork (void) + + /* Run the handlers registered for the parent. */ + __run_fork_handlers (atfork_run_parent); + /* unlock ld.so last, because we locked it first */ + __rtld_lock_unlock_recursive (GL(dl_load_write_lock)); + __rtld_lock_unlock_recursive (GL(dl_load_lock)); } return pid; --- -2.16.1 - diff --git a/poky/meta/recipes-core/glibc/glibc/0028-bits-siginfo-consts.h-enum-definition-for-TRAP_HWBKP.patch b/poky/meta/recipes-core/glibc/glibc/0028-bits-siginfo-consts.h-enum-definition-for-TRAP_HWBKP.patch index 436c84778..fae8d0040 100644 --- a/poky/meta/recipes-core/glibc/glibc/0028-bits-siginfo-consts.h-enum-definition-for-TRAP_HWBKP.patch +++ b/poky/meta/recipes-core/glibc/glibc/0028-bits-siginfo-consts.h-enum-definition-for-TRAP_HWBKP.patch @@ -1,8 +1,8 @@ -From af3054b3856379d353a779801678f330e1b58c9a Mon Sep 17 00:00:00 2001 -Message-Id: <af3054b3856379d353a779801678f330e1b58c9a.1490183611.git.panand@redhat.com> +From 38fad3e5ab3b45c56810abd35fa11a72fa10b8f1 Mon Sep 17 00:00:00 2001 From: Pratyush Anand <panand@redhat.com> Date: Wed, 22 Mar 2017 17:02:38 +0530 -Subject: [PATCH] bits/siginfo-consts.h: enum definition for TRAP_HWBKPT is missing +Subject: [PATCH] bits/siginfo-consts.h: enum definition for TRAP_HWBKPT is + missing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -29,7 +29,7 @@ Upstream-Status: Submitted [https://sourceware.org/bugzilla/show_bug.cgi?id=2128 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/bits/siginfo-consts.h b/bits/siginfo-consts.h -index a58ac4b..8448fac 100644 +index 7464c1882b..298314527a 100644 --- a/bits/siginfo-consts.h +++ b/bits/siginfo-consts.h @@ -106,8 +106,12 @@ enum @@ -47,10 +47,10 @@ index a58ac4b..8448fac 100644 # endif diff --git a/sysdeps/unix/sysv/linux/bits/siginfo-consts.h b/sysdeps/unix/sysv/linux/bits/siginfo-consts.h -index 525840c..57a9edb 100644 +index 193bd9c471..3fe852bc5f 100644 --- a/sysdeps/unix/sysv/linux/bits/siginfo-consts.h +++ b/sysdeps/unix/sysv/linux/bits/siginfo-consts.h -@@ -137,8 +137,12 @@ enum +@@ -141,8 +141,12 @@ enum { TRAP_BRKPT = 1, /* Process breakpoint. */ # define TRAP_BRKPT TRAP_BRKPT @@ -64,6 +64,3 @@ index 525840c..57a9edb 100644 }; # endif --- -2.7.4 - diff --git a/poky/meta/recipes-core/glibc/glibc/0029-Replace-strncpy-with-memccpy-to-fix-Wstringop-trunca.patch b/poky/meta/recipes-core/glibc/glibc/0029-Replace-strncpy-with-memccpy-to-fix-Wstringop-trunca.patch deleted file mode 100644 index fa29f4165..000000000 --- a/poky/meta/recipes-core/glibc/glibc/0029-Replace-strncpy-with-memccpy-to-fix-Wstringop-trunca.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 113e0516fbd3ce18253f0423762416d4c4b38fb0 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Thu, 22 Mar 2018 17:57:37 -0700 -Subject: [PATCH 29/29] Replace strncpy with memccpy to fix - -Wstringop-truncation. - - * nis/nss_nisplus/nisplus-parser.c: Replace strncpy with memcpy to - avoid -Wstringop-truncation. ---- -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Upstream-Status: Submitted [https://sourceware.org/ml/libc-alpha/2018-03/msg00531.html] - - nis/nss_nisplus/nisplus-parser.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/nis/nss_nisplus/nisplus-parser.c b/nis/nss_nisplus/nisplus-parser.c -index 8dc021e73d..b53284f889 100644 ---- a/nis/nss_nisplus/nisplus-parser.c -+++ b/nis/nss_nisplus/nisplus-parser.c -@@ -87,7 +87,7 @@ _nss_nisplus_parse_pwent (nis_result *result, struct passwd *pw, - if (len >= room_left) - goto no_more_room; - -- strncpy (first_unused, numstr, len); -+ memcpy (first_unused, numstr, len); - first_unused[len] = '\0'; - numstr = first_unused; - } -@@ -103,7 +103,7 @@ _nss_nisplus_parse_pwent (nis_result *result, struct passwd *pw, - if (len >= room_left) - goto no_more_room; - -- strncpy (first_unused, numstr, len); -+ memcpy (first_unused, numstr, len); - first_unused[len] = '\0'; - numstr = first_unused; - } --- -2.16.2 - diff --git a/poky/meta/recipes-core/glibc/glibc/0029-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch b/poky/meta/recipes-core/glibc/glibc/0029-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch new file mode 100644 index 000000000..e17f6aa3b --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc/0029-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch @@ -0,0 +1,89 @@ +From 865651d2496a90f7ae8e7cc19a2e54b6f17a8ad5 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 3 Aug 2018 09:42:06 -0700 +Subject: [PATCH] localedef --add-to-archive uses a hard-coded locale path + +it doesn't exist in normal use, and there's no way to pass an +alternative filename. + +Add a fallback of $LOCALEARCHIVE from the environment, and allow +creation of new locale archives that are not the system archive. + +Upstream-Status: Inappropriate (OE-specific) + +Signed-off-by: Ross Burton <ross.burton@intel.com> +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + locale/programs/locarchive.c | 37 ++++++++++++++++++++++++++---------- + 1 file changed, 27 insertions(+), 10 deletions(-) + +diff --git a/locale/programs/locarchive.c b/locale/programs/locarchive.c +index ca332a345f..91f62da662 100644 +--- a/locale/programs/locarchive.c ++++ b/locale/programs/locarchive.c +@@ -340,12 +340,24 @@ enlarge_archive (struct locarhandle *ah, const struct locarhead *head) + struct namehashent *oldnamehashtab; + struct locarhandle new_ah; + size_t prefix_len = output_prefix ? strlen (output_prefix) : 0; +- char archivefname[prefix_len + sizeof (ARCHIVE_NAME)]; +- char fname[prefix_len + sizeof (ARCHIVE_NAME) + sizeof (".XXXXXX") - 1]; ++ char *archivefname; ++ char *fname; ++ char *envarchive = getenv("LOCALEARCHIVE"); + +- if (output_prefix) +- memcpy (archivefname, output_prefix, prefix_len); +- strcpy (archivefname + prefix_len, ARCHIVE_NAME); ++ if (envarchive != NULL) ++ { ++ archivefname = xmalloc(strlen(envarchive) + 1); ++ fname = xmalloc(strlen(envarchive) + sizeof (".XXXXXX")); ++ strcpy (archivefname, envarchive); ++ } ++ else ++ { ++ archivefname = xmalloc(prefix_len + sizeof (ARCHIVE_NAME)); ++ fname = xmalloc(prefix_len + sizeof (ARCHIVE_NAME) + sizeof (".XXXXXX") - 1); ++ if (output_prefix) ++ memcpy (archivefname, output_prefix, prefix_len); ++ strcpy (archivefname + prefix_len, ARCHIVE_NAME); ++ } + strcpy (stpcpy (fname, archivefname), ".XXXXXX"); + + /* Not all of the old file has to be mapped. Change this now this +@@ -551,6 +563,8 @@ enlarge_archive (struct locarhandle *ah, const struct locarhead *head) + + /* Add the information for the new one. */ + *ah = new_ah; ++ free(archivefname); ++ free(fname); + } + + +@@ -569,10 +583,13 @@ open_archive (struct locarhandle *ah, bool readonly) + /* If ah has a non-NULL fname open that otherwise open the default. */ + if (archivefname == NULL) + { +- archivefname = default_fname; +- if (output_prefix) +- memcpy (default_fname, output_prefix, prefix_len); +- strcpy (default_fname + prefix_len, ARCHIVE_NAME); ++ archivefname = getenv("LOCALEARCHIVE"); ++ if (archivefname == NULL) { ++ archivefname = default_fname; ++ if (output_prefix) ++ memcpy (default_fname, output_prefix, prefix_len); ++ strcpy (default_fname + prefix_len, ARCHIVE_NAME); ++ } + } + + while (1) +@@ -585,7 +602,7 @@ open_archive (struct locarhandle *ah, bool readonly) + the default locale archive we ignore the failure and + list an empty archive, otherwise we print an error + and exit. */ +- if (errno == ENOENT && archivefname == default_fname) ++ if (errno == ENOENT) + { + if (readonly) + { diff --git a/poky/meta/recipes-core/glibc/glibc/0030-plural_c_no_preprocessor_lines.patch b/poky/meta/recipes-core/glibc/glibc/0030-intl-Emit-no-lines-in-bison-generated-files.patch index 6f03e1c62..db97d91c9 100644 --- a/poky/meta/recipes-core/glibc/glibc/0030-plural_c_no_preprocessor_lines.patch +++ b/poky/meta/recipes-core/glibc/glibc/0030-intl-Emit-no-lines-in-bison-generated-files.patch @@ -1,16 +1,26 @@ +From a54c15d0567d547137066f41b1b22eba4875c27b Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 3 Aug 2018 09:44:00 -0700 +Subject: [PATCH] intl: Emit no lines in bison generated files + Improve reproducibility: Do not put any #line preprocessor commands in bison generated files. These lines contain absolute paths containing file locations on the host build machine. Upstream-Status: Pending + Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + intl/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/intl/Makefile b/intl/Makefile -index 2219717..a203780 100644 +index 672edf1b38..d31888d013 100644 --- a/intl/Makefile +++ b/intl/Makefile -@@ -151,7 +151,7 @@ $(objpfx)tst-gettext6.out: $(objpfx)tst-gettext.out +@@ -155,7 +155,7 @@ $(objpfx)tst-gettext6.out: $(objpfx)tst-gettext.out CPPFLAGS += -D'LOCALEDIR="$(localedir)"' \ -D'LOCALE_ALIAS_PATH="$(localedir)"' diff --git a/poky/meta/recipes-core/glibc/glibc/0031-nativesdk-deprecate-libcrypt.patch b/poky/meta/recipes-core/glibc/glibc/0031-nativesdk-deprecate-libcrypt.patch deleted file mode 100644 index a9132ed3d..000000000 --- a/poky/meta/recipes-core/glibc/glibc/0031-nativesdk-deprecate-libcrypt.patch +++ /dev/null @@ -1,419 +0,0 @@ -Background information: - -https://sourceware.org/ml/libc-alpha/2017-08/msg01257.html -https://fedoraproject.org/wiki/Changes/Replace_glibc_libcrypt_with_libxcrypt - -Upstream-Status: Submitted [libc-alpha@sourceware.org] -Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> - -From: Zack Weinberg <zackw@panix.com> -Subject: [PATCH] Deprecate libcrypt and don't build it by default - -Back in June, Björn Esser proposed to add OpenBSD-compatible bcrypt -support to our implementation of crypt(3), and Zack Weinberg replied -that it might actually make more sense to _remove_ libcrypt from -glibc, freeing up libcrypt.so.1 and crypt.h to be provided by a -separate project that could move faster. (For instance, libxcrypt: -https://github.com/besser82/libxcrypt) - -This patch disables build and installation of libcrypt by default. It -can be re-enabled with --enable-obsolete-crypt to configure. Unlike -libnsl, we do *not* install a runtime shared library; that's left to -the replacement. (Unlike the SunRPC situation, I think we can -probably drop this code altogether in a release or two.) - -The function prototypes for crypt and encrypt are removed from -unistd.h, and the function prototype for setkey is removed from -stdlib.h; they do *not* come back with --enable-obsolete-crypt. This -means glibc no longer provides the POSIX CRYPT option, and the macro -_XOPEN_CRYPT is also removed from unistd.h to indicate that. -(_SC_XOPEN_CRYPT is still defined, but sysconf(_SC_XOPEN_CRYPT) will -return -1 at runtime.) These functions are also unconditionally -removed from conform/data/{stdlib,unistd}.h-data. - - * posix/unistd.h (_XOPEN_CRYPT, crypt, encrypt): Don't declare. - * stdlib/stdlib.h (setkey): Don't declare. - - * configure.ac (--enable-obsolete-crypt): New configure option. - * configure: Regenerate. - * config.make.in (build-obsolete-crypt): New makefile variable. - * crypt/Banner: Delete file. - * crypt/Makefile: Don't build anything unless - $(build-obsolete-crypt) is 'yes'. - * sysdeps/sparc/sparc32/sparcv9/multiarch/Makefile: Only add things - to libcrypt-sysdep_routines when $(build-obsolete-crypt) is 'yes'. - * sysdeps/sparc/sparc64/multiarch/Makefile: Likewise. - * sysdeps/unix/sysv/linux/arm/Makefile: Likewise. - - * conform/Makefile: Only include libcrypt.a in linknamespace tests - when $(build-obsolete-crypt) is 'yes'. - * conform/data/stdlib.h-data (setkey): Don't expect. - * conform/data/unistd.h-data (crypt, encrypt): Don't expect. - * elf/Makefile: Only perform various tests of libcrypt.so/libcrypt.a - when $(build-obsolete-crypt) is 'yes'. - * elf/tst-linkall-static.c: Don't include crypt.h when USE_CRYPT - is false. ---- - NEWS | 18 ++++++++++++++++++ - config.make.in | 1 + - configure | 13 +++++++++++++ - configure.ac | 8 ++++++++ - conform/Makefile | 14 ++++++++++---- - conform/data/stdlib.h-data | 3 --- - conform/data/unistd.h-data | 6 ------ - crypt/Makefile | 5 +++++ - elf/Makefile | 16 ++++++++++++---- - elf/tst-linkall-static.c | 2 ++ - posix/unistd.h | 16 ---------------- - stdlib/stdlib.h | 6 ------ - sysdeps/sparc/sparc32/sparcv9/multiarch/Makefile | 2 ++ - sysdeps/sparc/sparc64/multiarch/Makefile | 2 ++ - sysdeps/unix/sysv/linux/arm/Makefile | 2 ++ - 15 files changed, 75 insertions(+), 39 deletions(-) - -diff --git a/config.make.in b/config.make.in -index 9e5e24b2c6..8fe610d04d 100644 ---- a/config.make.in -+++ b/config.make.in -@@ -82,6 +82,7 @@ mach-interface-list = @mach_interface_list@ - - experimental-malloc = @experimental_malloc@ - -+build-obsolete-crypt = @build_obsolete_crypt@ - nss-crypt = @libc_cv_nss_crypt@ - static-nss-crypt = @libc_cv_static_nss_crypt@ - -diff --git a/configure b/configure -index 7a8bd3f817..46f6bd7f86 100755 ---- a/configure -+++ b/configure -@@ -672,6 +672,7 @@ base_machine - have_tunables - build_pt_chown - build_nscd -+build_obsolete_crypt - build_obsolete_nsl - link_obsolete_rpc - libc_cv_static_nss_crypt -@@ -782,6 +783,7 @@ enable_experimental_malloc - enable_nss_crypt - enable_obsolete_rpc - enable_obsolete_nsl -+enable_obsolete_crypt - enable_systemtap - enable_build_nscd - enable_nscd -@@ -1453,6 +1455,7 @@ Optional Features: - link-time usage - --enable-obsolete-nsl build and install the obsolete libnsl library and - depending NSS modules -+ --enable-obsolete-crypt build and install the obsolete libcrypt library - --enable-systemtap enable systemtap static probe points [default=no] - --disable-build-nscd disable building and installing the nscd daemon - --disable-nscd library functions will not contact the nscd daemon -@@ -3632,6 +3635,16 @@ if test "$build_obsolete_nsl" = yes; then - - fi - -+# Check whether --enable-obsolete-crypt was given. -+if test "${enable_obsolete_crypt+set}" = set; then : -+ enableval=$enable_obsolete_crypt; build_obsolete_crypt=$enableval -+else -+ build_obsolete_crypt=no -+fi -+ -+ -+ -+ - # Check whether --enable-systemtap was given. - if test "${enable_systemtap+set}" = set; then : - enableval=$enable_systemtap; systemtap=$enableval -diff --git a/configure.ac b/configure.ac -index ca1282a6b3..0142353740 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -378,6 +378,14 @@ if test "$build_obsolete_nsl" = yes; then - AC_DEFINE(LINK_OBSOLETE_NSL) - fi - -+AC_ARG_ENABLE([obsolete-crypt], -+ AC_HELP_STRING([--enable-obsolete-crypt], -+ [build and install the obsolete libcrypt library]), -+ [build_obsolete_crypt=$enableval], -+ [build_obsolete_crypt=no]) -+AC_SUBST(build_obsolete_crypt) -+ -+ - AC_ARG_ENABLE([systemtap], - [AS_HELP_STRING([--enable-systemtap], - [enable systemtap static probe points @<:@default=no@:>@])], -diff --git a/conform/Makefile b/conform/Makefile -index 864fdeca21..5ef474fb24 100644 ---- a/conform/Makefile -+++ b/conform/Makefile -@@ -193,22 +193,28 @@ linknamespace-libs-thr = $(linknamespace-libs-isoc) \ - $(common-objpfx)rt/librt.a $(static-thread-library) - linknamespace-libs-posix = $(linknamespace-libs-thr) \ - $(common-objpfx)dlfcn/libdl.a --linknamespace-libs-xsi = $(linknamespace-libs-posix) \ -- $(common-objpfx)crypt/libcrypt.a -+linknamespace-libs-xsi = $(linknamespace-libs-posix) - linknamespace-libs-ISO = $(linknamespace-libs-isoc) - linknamespace-libs-ISO99 = $(linknamespace-libs-isoc) - linknamespace-libs-ISO11 = $(linknamespace-libs-isoc) --linknamespace-libs-XPG4 = $(linknamespace-libs-isoc) \ -- $(common-objpfx)crypt/libcrypt.a -+linknamespace-libs-XPG4 = $(linknamespace-libs-isoc) - linknamespace-libs-XPG42 = $(linknamespace-libs-XPG4) - linknamespace-libs-POSIX = $(linknamespace-libs-thr) - linknamespace-libs-UNIX98 = $(linknamespace-libs-xsi) - linknamespace-libs-XOPEN2K = $(linknamespace-libs-xsi) - linknamespace-libs-POSIX2008 = $(linknamespace-libs-posix) - linknamespace-libs-XOPEN2K8 = $(linknamespace-libs-xsi) -+ -+ifeq ($(build-obsolete-crypt),yes) -+linknamespace-libs-xsi += $(common-objpfx)crypt/libcrypt.a -+linknamespace-libs-XPG4 += $(common-objpfx)crypt/libcrypt.a -+endif -+ - linknamespace-libs = $(foreach std,$(conformtest-standards),\ - $(linknamespace-libs-$(std))) - -+ -+ - $(linknamespace-symlist-stdlibs-tests): $(objpfx)symlist-stdlibs-%: \ - $(linknamespace-libs) - LC_ALL=C $(READELF) -W -s $(linknamespace-libs-$*) > $@; \ -diff --git a/conform/data/stdlib.h-data b/conform/data/stdlib.h-data -index d8fcccc2fb..6913828196 100644 ---- a/conform/data/stdlib.h-data -+++ b/conform/data/stdlib.h-data -@@ -149,9 +149,6 @@ function {unsigned short int*} seed48 (unsigned short int[3]) - #if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98 - function int setenv (const char*, const char*, int) - #endif --#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008 --function void setkey (const char*) --#endif - #if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined POSIX && !defined POSIX2008 - function {char*} setstate (char*) - #endif -diff --git a/conform/data/unistd.h-data b/conform/data/unistd.h-data -index ddf4f25132..aa070528e8 100644 ---- a/conform/data/unistd.h-data -+++ b/conform/data/unistd.h-data -@@ -437,9 +437,6 @@ function int chroot (const char*) - function int chown (const char*, uid_t, gid_t) - function int close (int) - function size_t confstr (int, char*, size_t) --#if !defined POSIX && !defined POSIX2008 --function {char*} crypt (const char*, const char*) --#endif - #if defined XPG4 || defined XPG42 || defined UNIX98 - function {char*} ctermid (char*) - function {char*} cuserid (char*) -@@ -449,9 +446,6 @@ allow cuserid - #endif - function int dup (int) - function int dup2 (int, int) --#if !defined POSIX && !defined POSIX2008 --function void encrypt (char[64], int) --#endif - function int execl (const char*, const char*, ...) - function int execle (const char*, const char*, ...) - function int execlp (const char*, const char*, ...) -diff --git a/crypt/Makefile b/crypt/Makefile -index 303800df73..024ec2c6ab 100644 ---- a/crypt/Makefile -+++ b/crypt/Makefile -@@ -22,6 +22,8 @@ subdir := crypt - - include ../Makeconfig - -+ifeq ($(build-obsolete-crypt),yes) -+ - headers := crypt.h - - extra-libs := libcrypt -@@ -52,9 +54,11 @@ tests += md5test sha256test sha512test - # machine over a minute. - xtests = md5test-giant - endif -+endif - - include ../Rules - -+ifeq ($(build-obsolete-crypt),yes) - ifneq ($(nss-crypt),yes) - md5-routines := md5 $(filter md5%,$(libcrypt-sysdep_routines)) - sha256-routines := sha256 $(filter sha256%,$(libcrypt-sysdep_routines)) -@@ -71,3 +75,4 @@ $(addprefix $(objpfx),$(tests)): $(objpfx)libcrypt.so - else - $(addprefix $(objpfx),$(tests)): $(objpfx)libcrypt.a - endif -+endif -diff --git a/elf/Makefile b/elf/Makefile -index 2a432d8bee..366f7b80ec 100644 ---- a/elf/Makefile -+++ b/elf/Makefile -@@ -385,15 +385,19 @@ $(objpfx)tst-_dl_addr_inside_object: $(objpfx)dl-addr-obj.os - CFLAGS-tst-_dl_addr_inside_object.c += $(PIE-ccflag) - endif - --# By default tst-linkall-static should try to use crypt routines to test --# static libcrypt use. --CFLAGS-tst-linkall-static.c += -DUSE_CRYPT=1 -+ifeq ($(build-obsolete-crypt),yes) -+# If the libcrypt library is being built, tst-linkall-static should -+# try to use crypt routines to test static libcrypt use. -+CFLAGS-tst-linkall-static.c = -DUSE_CRYPT=1 - # However, if we are using NSS crypto and we don't have a static - # library, then we exclude the use of crypt functions in the test. - # We similarly exclude libcrypt.a from the static link (see below). - ifeq (yesno,$(nss-crypt)$(static-nss-crypt)) - CFLAGS-tst-linkall-static.c += -UUSE_CRYPT -DUSE_CRYPT=0 - endif -+else -+CFLAGS-tst-linkall-static.c = -DUSE_CRYPT=0 -+endif - - include ../Rules - -@@ -1113,8 +1117,10 @@ localplt-built-dso := $(addprefix $(common-objpfx),\ - rt/librt.so \ - dlfcn/libdl.so \ - resolv/libresolv.so \ -- crypt/libcrypt.so \ - ) -+ifeq ($(build-obsolete-crypt),yes) -+localplt-built-dso += $(addprefix $(common-objpfx), crypt/libcrypt.so) -+endif - ifeq ($(build-mathvec),yes) - localplt-built-dso += $(addprefix $(common-objpfx), mathvec/libmvec.so) - endif -@@ -1395,6 +1401,7 @@ $(objpfx)tst-linkall-static: \ - $(common-objpfx)resolv/libanl.a \ - $(static-thread-library) - -+ifeq ($(build-obsolete-crypt),yes) - # If we are using NSS crypto and we have the ability to link statically - # then we include libcrypt.a, otherwise we leave out libcrypt.a and - # link as much as we can into the tst-linkall-static test. This assumes -@@ -1410,6 +1417,7 @@ ifeq (no,$(nss-crypt)) - $(objpfx)tst-linkall-static: \ - $(common-objpfx)crypt/libcrypt.a - endif -+endif - - # The application depends on the DSO, and the DSO loads the plugin. - # The plugin also depends on the DSO. This creates the circular -diff --git a/elf/tst-linkall-static.c b/elf/tst-linkall-static.c -index e8df38f74e..0ffae7c723 100644 ---- a/elf/tst-linkall-static.c -+++ b/elf/tst-linkall-static.c -@@ -18,7 +18,9 @@ - - #include <math.h> - #include <pthread.h> -+#if USE_CRYPT - #include <crypt.h> -+#endif - #include <resolv.h> - #include <dlfcn.h> - #include <utmp.h> -diff --git a/posix/unistd.h b/posix/unistd.h -index 4d149f9945..e75ce4d4ec 100644 ---- a/posix/unistd.h -+++ b/posix/unistd.h -@@ -107,9 +107,6 @@ __BEGIN_DECLS - /* The X/Open Unix extensions are available. */ - #define _XOPEN_UNIX 1 - --/* Encryption is present. */ --#define _XOPEN_CRYPT 1 -- - /* The enhanced internationalization capabilities according to XPG4.2 - are present. */ - #define _XOPEN_ENH_I18N 1 -@@ -1118,20 +1115,7 @@ ssize_t copy_file_range (int __infd, __off64_t *__pinoff, - extern int fdatasync (int __fildes); - #endif /* Use POSIX199309 */ - -- --/* XPG4.2 specifies that prototypes for the encryption functions must -- be defined here. */ - #ifdef __USE_XOPEN --/* Encrypt at most 8 characters from KEY using salt to perturb DES. */ --extern char *crypt (const char *__key, const char *__salt) -- __THROW __nonnull ((1, 2)); -- --/* Encrypt data in BLOCK in place if EDFLAG is zero; otherwise decrypt -- block in place. */ --extern void encrypt (char *__glibc_block, int __edflag) -- __THROW __nonnull ((1)); -- -- - /* Swab pairs bytes in the first N bytes of the area pointed to by - FROM and copy the result to TO. The value of TO must not be in the - range [FROM - N + 1, FROM - 1]. If N is odd the first byte in FROM -diff --git a/stdlib/stdlib.h b/stdlib/stdlib.h -index 6b1ead31e0..8e23e93557 100644 ---- a/stdlib/stdlib.h -+++ b/stdlib/stdlib.h -@@ -958,12 +958,6 @@ extern int getsubopt (char **__restrict __optionp, - #endif - - --#ifdef __USE_XOPEN --/* Setup DES tables according KEY. */ --extern void setkey (const char *__key) __THROW __nonnull ((1)); --#endif -- -- - /* X/Open pseudo terminal handling. */ - - #ifdef __USE_XOPEN2KXSI -diff --git a/sysdeps/sparc/sparc32/sparcv9/multiarch/Makefile b/sysdeps/sparc/sparc32/sparcv9/multiarch/Makefile -index a6d08f3a00..d8b8297fb0 100644 ---- a/sysdeps/sparc/sparc32/sparcv9/multiarch/Makefile -+++ b/sysdeps/sparc/sparc32/sparcv9/multiarch/Makefile -@@ -1,6 +1,8 @@ - ifeq ($(subdir),crypt) -+ifeq ($(build-obsolete-crypt),yes) - libcrypt-sysdep_routines += md5-crop sha256-crop sha512-crop - endif -+endif - - ifeq ($(subdir),locale) - localedef-aux += md5-crop -diff --git a/sysdeps/sparc/sparc64/multiarch/Makefile b/sysdeps/sparc/sparc64/multiarch/Makefile -index eaf758e7aa..0198f9886f 100644 ---- a/sysdeps/sparc/sparc64/multiarch/Makefile -+++ b/sysdeps/sparc/sparc64/multiarch/Makefile -@@ -1,6 +1,8 @@ - ifeq ($(subdir),crypt) -+ifeq ($(build-obsolete-crypt),yes) - libcrypt-sysdep_routines += md5-crop sha256-crop sha512-crop - endif -+endif - - ifeq ($(subdir),locale) - localedef-aux += md5-crop -diff --git a/sysdeps/unix/sysv/linux/arm/Makefile b/sysdeps/unix/sysv/linux/arm/Makefile -index 4adc35de04..6cab4f3a31 100644 ---- a/sysdeps/unix/sysv/linux/arm/Makefile -+++ b/sysdeps/unix/sysv/linux/arm/Makefile -@@ -19,8 +19,10 @@ endif - # Add a syscall function to each library that needs one. - - ifeq ($(subdir),crypt) -+ifeq ($(build-obsolete-crypt),yes) - libcrypt-sysdep_routines += libc-do-syscall - endif -+endif - - ifeq ($(subdir),rt) - librt-sysdep_routines += libc-do-syscall --- -2.16.0 - diff --git a/poky/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors-w.patch b/poky/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors-w.patch new file mode 100644 index 000000000..61f55d4f8 --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors-w.patch @@ -0,0 +1,258 @@ +From 546b46c309a52ed74dc906114b1e984bb9703d74 Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Fri, 14 Sep 2018 23:23:03 +0000 +Subject: [PATCH] sysdeps/ieee754: prevent maybe-uninitialized errors with -O + [BZ #19444] + +With -O included in CFLAGS it fails to build with: + +../sysdeps/ieee754/ldbl-96/e_jnl.c: In function '__ieee754_jnl': +../sysdeps/ieee754/ldbl-96/e_jnl.c:146:20: error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized] + b = invsqrtpi * temp / sqrtl (x); + ~~~~~~~~~~^~~~~~ +../sysdeps/ieee754/ldbl-96/e_jnl.c: In function '__ieee754_ynl': +../sysdeps/ieee754/ldbl-96/e_jnl.c:375:16: error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized] + b = invsqrtpi * temp / sqrtl (x); + ~~~~~~~~~~^~~~~~ +../sysdeps/ieee754/dbl-64/e_jn.c: In function '__ieee754_jn': +../sysdeps/ieee754/dbl-64/e_jn.c:113:20: error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized] + b = invsqrtpi * temp / sqrt (x); + ~~~~~~~~~~^~~~~~ +../sysdeps/ieee754/dbl-64/e_jn.c: In function '__ieee754_yn': +../sysdeps/ieee754/dbl-64/e_jn.c:320:16: error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized] + b = invsqrtpi * temp / sqrt (x); + ~~~~~~~~~~^~~~~~ + +Build tested with Yocto for ARM, AARCH64, X86, X86_64, PPC, MIPS, MIPS64 +with -O, -O1, -Os. +For soft-fp ARM it needs one more fix for -O1: +https://sourceware.org/ml/libc-alpha/2018-09/msg00300.html +For AARCH64 it needs one more fix in locale for -Os. + + [BZ #23716] + * sysdeps/ieee754/dbl-96/e_jnl.c: Fix build with -O + * sysdeps/ieee754/ldbl-96/e_jnl.c: Likewise. + * sysdeps/ieee754/ldbl-128/e_jnl.c: Likewise. + * sysdeps/ieee754/ldbl-128ibm/e_jnl.c: Likewise. + +Work around the issue instead of removing -O like we do with +SELECTED_OPTIMIZATION + +Upstream-Status: Submitted [https://www.sourceware.org/ml/libc-alpha/2018-09/msg00299.html] + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + ChangeLog | 7 +++++++ + sysdeps/ieee754/dbl-64/e_jn.c | 21 +++++++++++++++++++++ + sysdeps/ieee754/ldbl-128/e_jnl.c | 21 +++++++++++++++++++++ + sysdeps/ieee754/ldbl-128ibm/e_jnl.c | 21 +++++++++++++++++++++ + sysdeps/ieee754/ldbl-96/e_jnl.c | 21 +++++++++++++++++++++ + 5 files changed, 91 insertions(+) + +diff --git a/ChangeLog b/ChangeLog +index 11a9b8d98e..922e916f2c 100644 +--- a/ChangeLog ++++ b/ChangeLog +@@ -1,3 +1,10 @@ ++2018-09-29 Martin Jansa <Martin.Jansa@gmail.com> ++ Partial fix for [BZ #23716] ++ * sysdeps/ieee754/dbl-96/e_jnl.c: Fix build with -O ++ * sysdeps/ieee754/ldbl-96/e_jnl.c: Likewise. ++ * sysdeps/ieee754/ldbl-128/e_jnl.c: Likewise. ++ * sysdeps/ieee754/ldbl-128ibm/e_jnl.c: Likewise. ++ + 2018-09-28 Adhemerval Zanella <adhemerval.zanella@linaro.org> + + [BZ #23579] +diff --git a/sysdeps/ieee754/dbl-64/e_jn.c b/sysdeps/ieee754/dbl-64/e_jn.c +index 9181b22bb8..9ff52c737f 100644 +--- a/sysdeps/ieee754/dbl-64/e_jn.c ++++ b/sysdeps/ieee754/dbl-64/e_jn.c +@@ -42,6 +42,7 @@ + #include <math-narrow-eval.h> + #include <math_private.h> + #include <math-underflow.h> ++#include <libc-diag.h> + + static const double + invsqrtpi = 5.64189583547756279280e-01, /* 0x3FE20DD7, 0x50429B6D */ +@@ -109,7 +110,17 @@ __ieee754_jn (int n, double x) + case 2: temp = -c - s; break; + case 3: temp = c - s; break; + } ++ /* With GCC 8 (and older) when compiling with -O the compiler ++ warns that the variable 'temp', may be used uninitialized. ++ The switch above covers all possible values of n & 3 ++ but GCC without VRP enabled isn't able to figure out the ++ range of possible values is [0,3] as explained in: ++ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230 ++ so it's false possitive with -O1 and lower. */ ++ DIAG_PUSH_NEEDS_COMMENT; ++ DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized"); + b = invsqrtpi * temp / sqrt (x); ++ DIAG_POP_NEEDS_COMMENT; + } + else + { +@@ -316,7 +327,17 @@ __ieee754_yn (int n, double x) + case 2: temp = -s + c; break; + case 3: temp = s + c; break; + } ++ /* With GCC 8 (and older) when compiling with -O the compiler ++ warns that the variable 'temp', may be used uninitialized. ++ The switch above covers all possible values of n & 3 ++ but GCC without VRP enabled isn't able to figure out the ++ range of possible values is [0,3] as explained in: ++ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230 ++ so it's false possitive with -O1 and lower. */ ++ DIAG_PUSH_NEEDS_COMMENT; ++ DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized"); + b = invsqrtpi * temp / sqrt (x); ++ DIAG_POP_NEEDS_COMMENT; + } + else + { +diff --git a/sysdeps/ieee754/ldbl-128/e_jnl.c b/sysdeps/ieee754/ldbl-128/e_jnl.c +index 7739eec291..8706a11575 100644 +--- a/sysdeps/ieee754/ldbl-128/e_jnl.c ++++ b/sysdeps/ieee754/ldbl-128/e_jnl.c +@@ -61,6 +61,7 @@ + #include <math.h> + #include <math_private.h> + #include <math-underflow.h> ++#include <libc-diag.h> + + static const _Float128 + invsqrtpi = L(5.6418958354775628694807945156077258584405E-1), +@@ -150,7 +151,17 @@ __ieee754_jnl (int n, _Float128 x) + temp = c - s; + break; + } ++ /* With GCC 8 (and older) when compiling with -O the compiler ++ warns that the variable 'temp', may be used uninitialized. ++ The switch above covers all possible values of n & 3 ++ but GCC without VRP enabled isn't able to figure out the ++ range of possible values is [0,3] as explained in: ++ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230 ++ so it's false possitive with -O1 and lower. */ ++ DIAG_PUSH_NEEDS_COMMENT; ++ DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized"); + b = invsqrtpi * temp / sqrtl (x); ++ DIAG_POP_NEEDS_COMMENT; + } + else + { +@@ -386,7 +397,17 @@ __ieee754_ynl (int n, _Float128 x) + temp = s + c; + break; + } ++ /* With GCC 8 (and older) when compiling with -O the compiler ++ warns that the variable 'temp', may be used uninitialized. ++ The switch above covers all possible values of n & 3 ++ but GCC without VRP enabled isn't able to figure out the ++ range of possible values is [0,3] as explained in: ++ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230 ++ so it's false possitive with -O1 and lower. */ ++ DIAG_PUSH_NEEDS_COMMENT; ++ DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized"); + b = invsqrtpi * temp / sqrtl (x); ++ DIAG_POP_NEEDS_COMMENT; + } + else + { +diff --git a/sysdeps/ieee754/ldbl-128ibm/e_jnl.c b/sysdeps/ieee754/ldbl-128ibm/e_jnl.c +index 71b3addfba..3226d02309 100644 +--- a/sysdeps/ieee754/ldbl-128ibm/e_jnl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/e_jnl.c +@@ -61,6 +61,7 @@ + #include <math.h> + #include <math_private.h> + #include <math-underflow.h> ++#include <libc-diag.h> + + static const long double + invsqrtpi = 5.6418958354775628694807945156077258584405E-1L, +@@ -150,7 +151,17 @@ __ieee754_jnl (int n, long double x) + temp = c - s; + break; + } ++ /* With GCC 8 (and older) when compiling with -O the compiler ++ warns that the variable 'temp', may be used uninitialized. ++ The switch above covers all possible values of n & 3 ++ but GCC without VRP enabled isn't able to figure out the ++ range of possible values is [0,3] as explained in: ++ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230 ++ so it's false possitive with -O1 and lower. */ ++ DIAG_PUSH_NEEDS_COMMENT; ++ DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized"); + b = invsqrtpi * temp / sqrtl (x); ++ DIAG_POP_NEEDS_COMMENT; + } + else + { +@@ -386,7 +397,17 @@ __ieee754_ynl (int n, long double x) + temp = s + c; + break; + } ++ /* With GCC 8 (and older) when compiling with -O the compiler ++ warns that the variable 'temp', may be used uninitialized. ++ The switch above covers all possible values of n & 3 ++ but GCC without VRP enabled isn't able to figure out the ++ range of possible values is [0,3] as explained in: ++ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230 ++ so it's false possitive with -O1 and lower. */ ++ DIAG_PUSH_NEEDS_COMMENT; ++ DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized"); + b = invsqrtpi * temp / sqrtl (x); ++ DIAG_POP_NEEDS_COMMENT; + } + else + { +diff --git a/sysdeps/ieee754/ldbl-96/e_jnl.c b/sysdeps/ieee754/ldbl-96/e_jnl.c +index 394921f564..da5c2cc93e 100644 +--- a/sysdeps/ieee754/ldbl-96/e_jnl.c ++++ b/sysdeps/ieee754/ldbl-96/e_jnl.c +@@ -61,6 +61,7 @@ + #include <math.h> + #include <math_private.h> + #include <math-underflow.h> ++#include <libc-diag.h> + + static const long double + invsqrtpi = 5.64189583547756286948079e-1L, two = 2.0e0L, one = 1.0e0L; +@@ -143,7 +144,17 @@ __ieee754_jnl (int n, long double x) + temp = c - s; + break; + } ++ /* With GCC 8 (and older) when compiling with -O the compiler ++ warns that the variable 'temp', may be used uninitialized. ++ The switch above covers all possible values of n & 3 ++ but GCC without VRP enabled isn't able to figure out the ++ range of possible values is [0,3] as explained in: ++ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230 ++ so it's false possitive with -O1 and lower. */ ++ DIAG_PUSH_NEEDS_COMMENT; ++ DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized"); + b = invsqrtpi * temp / sqrtl (x); ++ DIAG_POP_NEEDS_COMMENT; + } + else + { +@@ -372,7 +383,17 @@ __ieee754_ynl (int n, long double x) + temp = s + c; + break; + } ++ /* With GCC 8 (and older) when compiling with -O the compiler ++ warns that the variable 'temp', may be used uninitialized. ++ The switch above covers all possible values of n & 3 ++ but GCC without VRP enabled isn't able to figure out the ++ range of possible values is [0,3] as explained in: ++ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230 ++ so it's false possitive with -O1 and lower. */ ++ DIAG_PUSH_NEEDS_COMMENT; ++ DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized"); + b = invsqrtpi * temp / sqrtl (x); ++ DIAG_POP_NEEDS_COMMENT; + } + else + { diff --git a/poky/meta/recipes-core/glibc/glibc/0032-sysdeps-ieee754-soft-fp-ignore-maybe-uninitialized-w.patch b/poky/meta/recipes-core/glibc/glibc/0032-sysdeps-ieee754-soft-fp-ignore-maybe-uninitialized-w.patch new file mode 100644 index 000000000..99cd2509e --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc/0032-sysdeps-ieee754-soft-fp-ignore-maybe-uninitialized-w.patch @@ -0,0 +1,100 @@ +From 618668540e263c09b0eb28131dde7b4500158fd4 Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Sun, 16 Sep 2018 12:39:22 +0000 +Subject: [PATCH] sysdeps/ieee754/soft-fp: ignore maybe-uninitialized with -O + [BZ #19444] + +* with -O, -O1, -Os it fails with: + +In file included from ../soft-fp/soft-fp.h:318, + from ../sysdeps/ieee754/soft-fp/s_fdiv.c:28: +../sysdeps/ieee754/soft-fp/s_fdiv.c: In function '__fdiv': +../soft-fp/op-2.h:98:25: error: 'R_f1' may be used uninitialized in this function [-Werror=maybe-uninitialized] + X##_f0 = (X##_f1 << (_FP_W_TYPE_SIZE - (N)) | X##_f0 >> (N) \ + ^~ +../sysdeps/ieee754/soft-fp/s_fdiv.c:38:14: note: 'R_f1' was declared here + FP_DECL_D (R); + ^ +../soft-fp/op-2.h:37:36: note: in definition of macro '_FP_FRAC_DECL_2' + _FP_W_TYPE X##_f0 _FP_ZERO_INIT, X##_f1 _FP_ZERO_INIT + ^ +../soft-fp/double.h:95:24: note: in expansion of macro '_FP_DECL' + # define FP_DECL_D(X) _FP_DECL (2, X) + ^~~~~~~~ +../sysdeps/ieee754/soft-fp/s_fdiv.c:38:3: note: in expansion of macro 'FP_DECL_D' + FP_DECL_D (R); + ^~~~~~~~~ +../soft-fp/op-2.h:101:17: error: 'R_f0' may be used uninitialized in this function [-Werror=maybe-uninitialized] + : (X##_f0 << (_FP_W_TYPE_SIZE - (N))) != 0)); \ + ^~ +../sysdeps/ieee754/soft-fp/s_fdiv.c:38:14: note: 'R_f0' was declared here + FP_DECL_D (R); + ^ +../soft-fp/op-2.h:37:14: note: in definition of macro '_FP_FRAC_DECL_2' + _FP_W_TYPE X##_f0 _FP_ZERO_INIT, X##_f1 _FP_ZERO_INIT + ^ +../soft-fp/double.h:95:24: note: in expansion of macro '_FP_DECL' + # define FP_DECL_D(X) _FP_DECL (2, X) + ^~~~~~~~ +../sysdeps/ieee754/soft-fp/s_fdiv.c:38:3: note: in expansion of macro 'FP_DECL_D' + FP_DECL_D (R); + ^~~~~~~~~ + +Build tested with Yocto for ARM, AARCH64, X86, X86_64, PPC, MIPS, MIPS64 +with -O, -O1, -Os. +For AARCH64 it needs one more fix in locale for -Os. + + Partial fix for [BZ #23716] + * sysdeps/ieee754/soft-fp/s_fdiv.c: Fix build with -O + +Work around the issue instead of removing -O like we do with +SELECTED_OPTIMIZATION + +Upstream-Status: Submitted [https://www.sourceware.org/ml/libc-alpha/2018-09/msg00300.html] + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + ChangeLog | 4 ++++ + sysdeps/ieee754/soft-fp/s_fdiv.c | 12 ++++++++++++ + 2 files changed, 16 insertions(+) + +diff --git a/ChangeLog b/ChangeLog +index 922e916f2c..216336edc9 100644 +--- a/ChangeLog ++++ b/ChangeLog +@@ -1,3 +1,7 @@ ++2018-09-30 Martin Jansa <Martin.Jansa@gmail.com> ++ Partial fix for [BZ #23716] ++ * sysdeps/ieee754/soft-fp/s_fdiv.c: Fix build with -O. ++ + 2018-09-29 Martin Jansa <Martin.Jansa@gmail.com> + Partial fix for [BZ #23716] + * sysdeps/ieee754/dbl-96/e_jnl.c: Fix build with -O +diff --git a/sysdeps/ieee754/soft-fp/s_fdiv.c b/sysdeps/ieee754/soft-fp/s_fdiv.c +index 341339f5ed..14655b77da 100644 +--- a/sysdeps/ieee754/soft-fp/s_fdiv.c ++++ b/sysdeps/ieee754/soft-fp/s_fdiv.c +@@ -25,6 +25,16 @@ + #undef fdivl + + #include <math-narrow.h> ++ ++#include <libc-diag.h> ++/* R_f[01] are not set in cases where it is not used in packing, but the ++ compiler does not see that it is set in all cases where it is ++ used, resulting in warnings that it may be used uninitialized. ++ The location of the warning differs in different versions of GCC, ++ it may be where R is defined using a macro or it may be where the ++ macro is defined. */ ++DIAG_PUSH_NEEDS_COMMENT; ++DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized"); + #include <soft-fp.h> + #include <single.h> + #include <double.h> +@@ -53,4 +63,6 @@ __fdiv (double x, double y) + CHECK_NARROW_DIV (ret, x, y); + return ret; + } ++DIAG_POP_NEEDS_COMMENT; ++ + libm_alias_float_double (div) diff --git a/poky/meta/recipes-core/glibc/glibc/0033-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch b/poky/meta/recipes-core/glibc/glibc/0033-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch new file mode 100644 index 000000000..31058ca91 --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc/0033-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch @@ -0,0 +1,68 @@ +From cbada1a1b218c1ef61d0eb4363fad7598e6509d6 Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Sun, 30 Sep 2018 09:16:48 +0000 +Subject: [PATCH] locale: prevent maybe-uninitialized errors with -Os [BZ + #19444] + +Fixes following error when building for aarch64 with -Os: +| In file included from strcoll_l.c:43: +| strcoll_l.c: In function '__strcoll_l': +| ../locale/weight.h:31:26: error: 'seq2.back_us' may be used uninitialized in this function [-Werror=maybe-uninitialized] +| int_fast32_t i = table[*(*cpp)++]; +| ^~~~~~~~~ +| strcoll_l.c:304:18: note: 'seq2.back_us' was declared here +| coll_seq seq1, seq2; +| ^~~~ +| In file included from strcoll_l.c:43: +| ../locale/weight.h:31:26: error: 'seq1.back_us' may be used uninitialized in this function [-Werror=maybe-uninitialized] +| int_fast32_t i = table[*(*cpp)++]; +| ^~~~~~~~~ +| strcoll_l.c:304:12: note: 'seq1.back_us' was declared here +| coll_seq seq1, seq2; +| ^~~~ + + Partial fix for [BZ #23716] + * locale/weight.h: Fix build with -Os. + +Work around the issue instead of removing -O like we do with +SELECTED_OPTIMIZATION + +Upstream-Status: Submitted [https://www.sourceware.org/ml/libc-alpha/2018-09/msg00539.html] + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + ChangeLog | 4 ++++ + locale/weight.h | 7 +++++++ + 2 files changed, 11 insertions(+) + +diff --git a/ChangeLog b/ChangeLog +index 216336edc9..84fbbf47ed 100644 +--- a/ChangeLog ++++ b/ChangeLog +@@ -1,3 +1,7 @@ ++2018-09-30 Martin Jansa <Martin.Jansa@gmail.com> ++ Partial fix for [BZ #23716] ++ * locale/weight.h: Fix build with -Os. ++ + 2018-09-30 Martin Jansa <Martin.Jansa@gmail.com> + Partial fix for [BZ #23716] + * sysdeps/ieee754/soft-fp/s_fdiv.c: Fix build with -O. +diff --git a/locale/weight.h b/locale/weight.h +index 6028d3595e..10bcea25e5 100644 +--- a/locale/weight.h ++++ b/locale/weight.h +@@ -28,7 +28,14 @@ findidx (const int32_t *table, + const unsigned char *extra, + const unsigned char **cpp, size_t len) + { ++ /* With GCC 8 when compiling with -Os the compiler warns that ++ seq1.back_us and seq2.back_us might be used uninitialized. ++ This uninitialized use is impossible for the same reason ++ as described in comments in locale/weightwc.h. */ ++ DIAG_PUSH_NEEDS_COMMENT; ++ DIAG_IGNORE_Os_NEEDS_COMMENT (8, "-Wmaybe-uninitialized"); + int_fast32_t i = table[*(*cpp)++]; ++ DIAG_POP_NEEDS_COMMENT; + const unsigned char *cp; + const unsigned char *usrc; + diff --git a/poky/meta/recipes-core/glibc/glibc/0034-inject-file-assembly-directives.patch b/poky/meta/recipes-core/glibc/glibc/0034-inject-file-assembly-directives.patch new file mode 100644 index 000000000..55eba2d43 --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc/0034-inject-file-assembly-directives.patch @@ -0,0 +1,272 @@ +Currently, non-IA builds are not reproducibile since build paths are +being injected into the debug symbols. These are coming from the use of +.S assembler files during the glibc build. No STT_FILE section is added +during the assembly but when linking, ld decides to add one to aid +debugging and ensure references between the different object files its +linking remain clear. + +We can avoid this by injecting a file header into the assembler files +ahead of time, choosing a filename which does not contain build system +paths. + +This is a bit of a workaround/hack but does significantly reduce the +build system references in target binaries for the non-IA architectures +which use .S files. + +RP +2018/10/3 + +Upstream-Status: Pending + +diff --git a/csu/abi-note.S b/csu/abi-note.S +index 5d0ca7803d..8ce41581b1 100644 +--- a/csu/abi-note.S ++++ b/csu/abi-note.S +@@ -56,6 +56,8 @@ offset length contents + #include <config.h> + #include <abi-tag.h> /* OS-specific ABI tag value */ + ++ .file "abi-note.S" ++ + /* The linker (GNU ld 2.8 and later) recognizes an allocated section whose + name begins with `.note' and creates a PT_NOTE program header entry + pointing at it. */ +diff --git a/sysdeps/aarch64/crti.S b/sysdeps/aarch64/crti.S +index 2b213758b2..736f33e314 100644 +--- a/sysdeps/aarch64/crti.S ++++ b/sysdeps/aarch64/crti.S +@@ -50,6 +50,8 @@ + # define PREINIT_FUNCTION_WEAK 1 + #endif + ++ .file "crti.S" ++ + #if PREINIT_FUNCTION_WEAK + weak_extern (PREINIT_FUNCTION) + #else +diff --git a/sysdeps/aarch64/crtn.S b/sysdeps/aarch64/crtn.S +index d72300af80..cb249bf3ca 100644 +--- a/sysdeps/aarch64/crtn.S ++++ b/sysdeps/aarch64/crtn.S +@@ -37,6 +37,8 @@ + /* crtn.S puts function epilogues in the .init and .fini sections + corresponding to the prologues in crti.S. */ + ++ .file "crtn.S" ++ + .section .init,"ax",%progbits + ldp x29, x30, [sp], 16 + RET +diff --git a/sysdeps/aarch64/start.S b/sysdeps/aarch64/start.S +index bad000f555..5957c028cd 100644 +--- a/sysdeps/aarch64/start.S ++++ b/sysdeps/aarch64/start.S +@@ -18,6 +18,8 @@ + + #include <sysdep.h> + ++ .file "start.S" ++ + /* This is the canonical entry point, usually the first thing in the text + segment. + +diff --git a/sysdeps/unix/sysv/linux/aarch64/__read_tp.S b/sysdeps/unix/sysv/linux/aarch64/__read_tp.S +index 92fc0191a5..715bfcb9e4 100644 +--- a/sysdeps/unix/sysv/linux/aarch64/__read_tp.S ++++ b/sysdeps/unix/sysv/linux/aarch64/__read_tp.S +@@ -18,6 +18,8 @@ + + #include <sysdep.h> + ++ .file "__read_tp.S" ++ + .hidden __read_tp + ENTRY (__read_tp) + mrs x0, tpidr_el0 +diff --git a/sysdeps/aarch64/dl-tlsdesc.S b/sysdeps/aarch64/dl-tlsdesc.S +index 43a62ef307..42f85cdde9 100644 +--- a/sysdeps/aarch64/dl-tlsdesc.S ++++ b/sysdeps/aarch64/dl-tlsdesc.S +@@ -22,6 +22,8 @@ + #include <tls.h> + #include "tlsdesc.h" + ++ .file "dl-tlsdesc.S" ++ + #define NSAVEDQREGPAIRS 16 + #define SAVE_Q_REGISTERS \ + stp q0, q1, [sp, #-32*NSAVEDQREGPAIRS]!; \ +diff --git a/sysdeps/aarch64/dl-trampoline.S b/sysdeps/aarch64/dl-trampoline.S +index a86d0722d4..92edab1d01 100644 +--- a/sysdeps/aarch64/dl-trampoline.S ++++ b/sysdeps/aarch64/dl-trampoline.S +@@ -21,6 +21,8 @@ + + #include "dl-link.h" + ++ .file "dl-trampoline.S" ++ + #define ip0 x16 + #define ip0l PTR_REG (16) + #define ip1 x17 +diff --git a/sysdeps/arm/abi-note.S b/sysdeps/arm/abi-note.S +index 07bd4c4619..7213b16f27 100644 +--- a/sysdeps/arm/abi-note.S ++++ b/sysdeps/arm/abi-note.S +@@ -1,3 +1,5 @@ ++ .file "abi-note.S" ++ + /* Tag_ABI_align8_preserved: This code preserves 8-byte + alignment in any callee. */ + .eabi_attribute 25, 1 +diff --git a/sysdeps/arm/crti.S b/sysdeps/arm/crti.S +index a1424d0333..bca1dab256 100644 +--- a/sysdeps/arm/crti.S ++++ b/sysdeps/arm/crti.S +@@ -57,6 +57,8 @@ + .hidden PREINIT_FUNCTION + #endif + ++ .file "crti.S" ++ + #if PREINIT_FUNCTION_WEAK + .p2align 2 + .type call_weak_fn, %function +diff --git a/sysdeps/arm/crtn.S b/sysdeps/arm/crtn.S +index 26027693ce..65a0502826 100644 +--- a/sysdeps/arm/crtn.S ++++ b/sysdeps/arm/crtn.S +@@ -37,6 +37,8 @@ + #define NO_THUMB + #include <sysdep.h> + ++ .file "crtn.S" ++ + /* crtn.S puts function epilogues in the .init and .fini sections + corresponding to the prologues in crti.S. */ + +diff --git a/sysdeps/arm/dl-tlsdesc.S b/sysdeps/arm/dl-tlsdesc.S +index 056e17d52d..a98c68dfb9 100644 +--- a/sysdeps/arm/dl-tlsdesc.S ++++ b/sysdeps/arm/dl-tlsdesc.S +@@ -21,6 +21,8 @@ + #include <tls.h> + #include "tlsdesc.h" + ++ .file "dl-tlsdesc.S" ++ + .text + @ emit debug information with cfi + @ use arm-specific pseudos for unwinding itself +diff --git a/sysdeps/arm/dl-trampoline.S b/sysdeps/arm/dl-trampoline.S +index c731b01286..4b37b25344 100644 +--- a/sysdeps/arm/dl-trampoline.S ++++ b/sysdeps/arm/dl-trampoline.S +@@ -21,6 +21,8 @@ + #include <sysdep.h> + #include <libc-symbols.h> + ++ .file "dl-trampoline.S" ++ + .text + .globl _dl_runtime_resolve + .type _dl_runtime_resolve, #function +diff --git a/sysdeps/arm/start.S b/sysdeps/arm/start.S +index adef090717..d22e4128e0 100644 +--- a/sysdeps/arm/start.S ++++ b/sysdeps/arm/start.S +@@ -57,6 +57,8 @@ + NULL + */ + ++ .file "start.S" ++ + /* Tag_ABI_align8_preserved: This code preserves 8-byte + alignment in any callee. */ + .eabi_attribute 25, 1 +diff --git a/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S b/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S +index 871702317a..20a942dbac 100644 +--- a/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S ++++ b/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S +@@ -39,6 +39,8 @@ + a normal function call) in a high page of memory; tail call to the + helper. */ + ++ .file "aeabi_read_tp.S" ++ + .hidden __aeabi_read_tp + ENTRY (__aeabi_read_tp) + #ifdef ARCH_HAS_HARD_TP +diff --git a/sysdeps/mips/start.S b/sysdeps/mips/start.S +index a4c4ef0fae..d00fff31a8 100644 +--- a/sysdeps/mips/start.S ++++ b/sysdeps/mips/start.S +@@ -38,6 +38,8 @@ + #include <sgidefs.h> + #include <sys/asm.h> + ++ .file "start.S" ++ + #ifndef ENTRY_POINT + #error ENTRY_POINT needs to be defined for start.S on MIPS/ELF. + #endif +diff --git a/sysdeps/unix/sysv/linux/powerpc/dl-brk.S b/sysdeps/unix/sysv/linux/powerpc/dl-brk.S +index eeb96544e3..da182b28f8 100644 +--- a/sysdeps/unix/sysv/linux/powerpc/dl-brk.S ++++ b/sysdeps/unix/sysv/linux/powerpc/dl-brk.S +@@ -1 +1,3 @@ ++ .file "dl-brk.S" ++ + #include <brk.S> +diff --git a/sysdeps/powerpc/powerpc32/start.S b/sysdeps/powerpc/powerpc32/start.S +index 5c10a22f8a..2b52627f27 100644 +--- a/sysdeps/powerpc/powerpc32/start.S ++++ b/sysdeps/powerpc/powerpc32/start.S +@@ -35,6 +35,8 @@ + + #include <sysdep.h> + ++ .file "start.S" ++ + /* We do not want .eh_frame info for crt1.o since crt1.o is linked + before crtbegin.o, the file defining __EH_FRAME_BEGIN__. */ + #undef cfi_startproc +diff --git a/sysdeps/powerpc/powerpc64/start.S b/sysdeps/powerpc/powerpc64/start.S +index bd7189310c..2e22b8472d 100644 +--- a/sysdeps/powerpc/powerpc64/start.S ++++ b/sysdeps/powerpc/powerpc64/start.S +@@ -35,6 +35,8 @@ + + #include <sysdep.h> + ++ .file "start.S" ++ + /* We do not want .eh_frame info for crt1.o since crt1.o is linked + before crtbegin.o, the file defining __EH_FRAME_BEGIN__. */ + #undef cfi_startproc +diff --git a/sysdeps/powerpc/powerpc32/dl-start.S b/sysdeps/powerpc/powerpc32/dl-start.S +index 244d87fb6d..14d3e2ce14 100644 +--- a/sysdeps/powerpc/powerpc32/dl-start.S ++++ b/sysdeps/powerpc/powerpc32/dl-start.S +@@ -18,6 +18,8 @@ + + #include <sysdep.h> + ++ .file "dl-start.S" ++ + /* Initial entry point code for the dynamic linker. + The C function `_dl_start' is the real entry point; + its return value is the user program's entry point. */ +diff --git a/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S b/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S +index d26ad1f8d3..a0de10bf81 100644 +--- a/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S ++++ b/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S +@@ -27,6 +27,8 @@ + ARM unwind tables for register to register moves, the actual opcodes + are not defined. */ + ++ .file "libc-do-syscall.S" ++ + #if defined(__thumb__) + .thumb + .syntax unified diff --git a/poky/meta/recipes-core/glibc/glibc/CVE-2017-18269.patch b/poky/meta/recipes-core/glibc/glibc/CVE-2017-18269.patch deleted file mode 100644 index d873c51e6..000000000 --- a/poky/meta/recipes-core/glibc/glibc/CVE-2017-18269.patch +++ /dev/null @@ -1,178 +0,0 @@ -From cd66c0e584c6d692bc8347b5e72723d02b8a8ada Mon Sep 17 00:00:00 2001 -From: Andrew Senkevich <andrew.n.senkevich@gmail.com> -Date: Fri, 23 Mar 2018 16:19:45 +0100 -Subject: [PATCH] Fix i386 memmove issue (bug 22644). - - [BZ #22644] - * sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S: Fixed - branch conditions. - * string/test-memmove.c (do_test2): New testcase. - -Upstream-Status: Backport -CVE: CVE-2017-18269 -Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com> ---- - ChangeLog | 8 +++ - string/test-memmove.c | 58 ++++++++++++++++++++++ - .../i386/i686/multiarch/memcpy-sse2-unaligned.S | 12 ++--- - 3 files changed, 72 insertions(+), 6 deletions(-) - -diff --git a/ChangeLog b/ChangeLog -index 18ed09e..afdb766 100644 ---- a/ChangeLog -+++ b/ChangeLog -@@ -1,3 +1,11 @@ -+2018-03-23 Andrew Senkevich <andrew.senkevich@intel.com> -+ Max Horn <max@quendi.de> -+ -+ [BZ #22644] -+ * sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S: Fixed -+ branch conditions. -+ * string/test-memmove.c (do_test2): New testcase. -+ - 2018-02-22 Andrew Waterman <andrew@sifive.com> - - [BZ # 22884] -diff --git a/string/test-memmove.c b/string/test-memmove.c -index edc7a4c..64e3651 100644 ---- a/string/test-memmove.c -+++ b/string/test-memmove.c -@@ -24,6 +24,7 @@ - # define TEST_NAME "memmove" - #endif - #include "test-string.h" -+#include <support/test-driver.h> - - char *simple_memmove (char *, const char *, size_t); - -@@ -245,6 +246,60 @@ do_random_tests (void) - } - } - -+static void -+do_test2 (void) -+{ -+ size_t size = 0x20000000; -+ uint32_t * large_buf; -+ -+ large_buf = mmap ((void*) 0x70000000, size, PROT_READ | PROT_WRITE, -+ MAP_PRIVATE | MAP_ANON, -1, 0); -+ -+ if (large_buf == MAP_FAILED) -+ error (EXIT_UNSUPPORTED, errno, "Large mmap failed"); -+ -+ if ((uintptr_t) large_buf > 0x80000000 - 128 -+ || 0x80000000 - (uintptr_t) large_buf > 0x20000000) -+ { -+ error (0, 0, "Large mmap allocated improperly"); -+ ret = EXIT_UNSUPPORTED; -+ munmap ((void *) large_buf, size); -+ return; -+ } -+ -+ size_t bytes_move = 0x80000000 - (uintptr_t) large_buf; -+ size_t arr_size = bytes_move / sizeof (uint32_t); -+ size_t i; -+ -+ FOR_EACH_IMPL (impl, 0) -+ { -+ for (i = 0; i < arr_size; i++) -+ large_buf[i] = (uint32_t) i; -+ -+ uint32_t * dst = &large_buf[33]; -+ -+#ifdef TEST_BCOPY -+ CALL (impl, (char *) large_buf, (char *) dst, bytes_move); -+#else -+ CALL (impl, (char *) dst, (char *) large_buf, bytes_move); -+#endif -+ -+ for (i = 0; i < arr_size; i++) -+ { -+ if (dst[i] != (uint32_t) i) -+ { -+ error (0, 0, -+ "Wrong result in function %s dst \"%p\" src \"%p\" offset \"%zd\"", -+ impl->name, dst, large_buf, i); -+ ret = 1; -+ break; -+ } -+ } -+ } -+ -+ munmap ((void *) large_buf, size); -+} -+ - int - test_main (void) - { -@@ -284,6 +339,9 @@ test_main (void) - } - - do_random_tests (); -+ -+ do_test2 (); -+ - return ret; - } - -diff --git a/sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S b/sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S -index 9c3bbe7..9aa17de 100644 ---- a/sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S -+++ b/sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S -@@ -72,7 +72,7 @@ ENTRY (MEMCPY) - cmp %edx, %eax - - # ifdef USE_AS_MEMMOVE -- jg L(check_forward) -+ ja L(check_forward) - - L(mm_len_0_or_more_backward): - /* Now do checks for lengths. We do [0..16], [16..32], [32..64], [64..128] -@@ -81,7 +81,7 @@ L(mm_len_0_or_more_backward): - jbe L(mm_len_0_16_bytes_backward) - - cmpl $32, %ecx -- jg L(mm_len_32_or_more_backward) -+ ja L(mm_len_32_or_more_backward) - - /* Copy [0..32] and return. */ - movdqu (%eax), %xmm0 -@@ -92,7 +92,7 @@ L(mm_len_0_or_more_backward): - - L(mm_len_32_or_more_backward): - cmpl $64, %ecx -- jg L(mm_len_64_or_more_backward) -+ ja L(mm_len_64_or_more_backward) - - /* Copy [0..64] and return. */ - movdqu (%eax), %xmm0 -@@ -107,7 +107,7 @@ L(mm_len_32_or_more_backward): - - L(mm_len_64_or_more_backward): - cmpl $128, %ecx -- jg L(mm_len_128_or_more_backward) -+ ja L(mm_len_128_or_more_backward) - - /* Copy [0..128] and return. */ - movdqu (%eax), %xmm0 -@@ -132,7 +132,7 @@ L(mm_len_128_or_more_backward): - add %ecx, %eax - cmp %edx, %eax - movl SRC(%esp), %eax -- jle L(forward) -+ jbe L(forward) - PUSH (%esi) - PUSH (%edi) - PUSH (%ebx) -@@ -269,7 +269,7 @@ L(check_forward): - add %edx, %ecx - cmp %eax, %ecx - movl LEN(%esp), %ecx -- jle L(forward) -+ jbe L(forward) - - /* Now do checks for lengths. We do [0..16], [0..32], [0..64], [0..128] - separately. */ --- -2.9.3 diff --git a/poky/meta/recipes-core/glibc/glibc/CVE-2018-11236.patch b/poky/meta/recipes-core/glibc/glibc/CVE-2018-11236.patch deleted file mode 100644 index e2bb40b0d..000000000 --- a/poky/meta/recipes-core/glibc/glibc/CVE-2018-11236.patch +++ /dev/null @@ -1,164 +0,0 @@ -From 5460617d1567657621107d895ee2dd83bc1f88f2 Mon Sep 17 00:00:00 2001 -From: Paul Pluzhnikov <ppluzhnikov@google.com> -Date: Tue, 8 May 2018 18:12:41 -0700 -Subject: [PATCH] Fix BZ 22786: integer addition overflow may cause stack - buffer overflow when realpath() input length is close to SSIZE_MAX. - -2018-05-09 Paul Pluzhnikov <ppluzhnikov@google.com> - - [BZ #22786] - * stdlib/canonicalize.c (__realpath): Fix overflow in path length - computation. - * stdlib/Makefile (test-bz22786): New test. - * stdlib/test-bz22786.c: New test. - -CVE: CVE-2018-11236 -Upstream-Status: Backport -Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com> ---- - ChangeLog | 8 +++++ - stdlib/Makefile | 2 +- - stdlib/canonicalize.c | 2 +- - stdlib/test-bz22786.c | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++ - 4 files changed, 100 insertions(+), 2 deletions(-) - create mode 100644 stdlib/test-bz22786.c - -diff --git a/ChangeLog b/ChangeLog ---- a/ChangeLog -+++ b/ChangeLog -@@ -1,3 +1,11 @@ -+2018-05-09 Paul Pluzhnikov <ppluzhnikov@google.com> -+ -+ [BZ #22786] -+ * stdlib/canonicalize.c (__realpath): Fix overflow in path length -+ computation. -+ * stdlib/Makefile (test-bz22786): New test. -+ * stdlib/test-bz22786.c: New test. -+ - 2018-03-23 Andrew Senkevich <andrew.senkevich@intel.com> - Max Horn <max@quendi.de> - -diff --git a/stdlib/Makefile b/stdlib/Makefile -index af1643c..1ddb1f9 100644 ---- a/stdlib/Makefile -+++ b/stdlib/Makefile -@@ -84,7 +84,7 @@ tests := tst-strtol tst-strtod testmb testrand testsort testdiv \ - tst-cxa_atexit tst-on_exit test-atexit-race \ - test-at_quick_exit-race test-cxa_atexit-race \ - test-on_exit-race test-dlclose-exit-race \ -- tst-makecontext-align -+ tst-makecontext-align test-bz22786 - - tests-internal := tst-strtod1i tst-strtod3 tst-strtod4 tst-strtod5i \ - tst-tls-atexit tst-tls-atexit-nodelete -diff --git a/stdlib/canonicalize.c b/stdlib/canonicalize.c -index 4135f3f..390fb43 100644 ---- a/stdlib/canonicalize.c -+++ b/stdlib/canonicalize.c -@@ -181,7 +181,7 @@ __realpath (const char *name, char *resolved) - extra_buf = __alloca (path_max); - - len = strlen (end); -- if ((long int) (n + len) >= path_max) -+ if (path_max - n <= len) - { - __set_errno (ENAMETOOLONG); - goto error; -diff --git a/stdlib/test-bz22786.c b/stdlib/test-bz22786.c -new file mode 100644 -index 0000000..e7837f9 ---- /dev/null -+++ b/stdlib/test-bz22786.c -@@ -0,0 +1,90 @@ -+/* Bug 22786: test for buffer overflow in realpath. -+ Copyright (C) 2018 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ <http://www.gnu.org/licenses/>. */ -+ -+/* This file must be run from within a directory called "stdlib". */ -+ -+#include <errno.h> -+#include <limits.h> -+#include <stdio.h> -+#include <stdlib.h> -+#include <string.h> -+#include <unistd.h> -+#include <sys/stat.h> -+#include <sys/types.h> -+#include <support/test-driver.h> -+#include <libc-diag.h> -+ -+static int -+do_test (void) -+{ -+ const char dir[] = "bz22786"; -+ const char lnk[] = "bz22786/symlink"; -+ -+ rmdir (dir); -+ if (mkdir (dir, 0755) != 0 && errno != EEXIST) -+ { -+ printf ("mkdir %s: %m\n", dir); -+ return EXIT_FAILURE; -+ } -+ if (symlink (".", lnk) != 0 && errno != EEXIST) -+ { -+ printf ("symlink (%s, %s): %m\n", dir, lnk); -+ return EXIT_FAILURE; -+ } -+ -+ const size_t path_len = (size_t) INT_MAX + 1; -+ -+ DIAG_PUSH_NEEDS_COMMENT; -+#if __GNUC_PREREQ (7, 0) -+ /* GCC 7 warns about too-large allocations; here we need such -+ allocation to succeed for the test to work. */ -+ DIAG_IGNORE_NEEDS_COMMENT (7, "-Walloc-size-larger-than="); -+#endif -+ char *path = malloc (path_len); -+ DIAG_POP_NEEDS_COMMENT; -+ -+ if (path == NULL) -+ { -+ printf ("malloc (%zu): %m\n", path_len); -+ return EXIT_UNSUPPORTED; -+ } -+ -+ /* Construct very long path = "bz22786/symlink/aaaa....." */ -+ char *p = mempcpy (path, lnk, sizeof (lnk) - 1); -+ *(p++) = '/'; -+ memset (p, 'a', path_len - (path - p) - 2); -+ p[path_len - (path - p) - 1] = '\0'; -+ -+ /* This call crashes before the fix for bz22786 on 32-bit platforms. */ -+ p = realpath (path, NULL); -+ -+ if (p != NULL || errno != ENAMETOOLONG) -+ { -+ printf ("realpath: %s (%m)", p); -+ return EXIT_FAILURE; -+ } -+ -+ /* Cleanup. */ -+ unlink (lnk); -+ rmdir (dir); -+ -+ return 0; -+} -+ -+#define TEST_FUNCTION do_test -+#include <support/test-driver.c> --- -2.9.3 diff --git a/poky/meta/recipes-core/glibc/glibc/CVE-2018-11237.patch b/poky/meta/recipes-core/glibc/glibc/CVE-2018-11237.patch deleted file mode 100644 index 632aa565e..000000000 --- a/poky/meta/recipes-core/glibc/glibc/CVE-2018-11237.patch +++ /dev/null @@ -1,82 +0,0 @@ -From 9aaaab7c6e4176e61c59b0a63c6ba906d875dc0e Mon Sep 17 00:00:00 2001 -From: Andreas Schwab <schwab@suse.de> -Date: Tue, 22 May 2018 10:37:59 +0200 -Subject: [PATCH] Don't write beyond destination in - __mempcpy_avx512_no_vzeroupper (bug 23196) - -When compiled as mempcpy, the return value is the end of the destination -buffer, thus it cannot be used to refer to the start of it. - -2018-05-23 Andreas Schwab <schwab@suse.de> - - [BZ #23196] - CVE-2018-11237 - * sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S - (L(preloop_large)): Save initial destination pointer in %r11 and - use it instead of %rax after the loop. - * string/test-mempcpy.c (MIN_PAGE_SIZE): Define. - -CVE: CVE-2018-11237 -Upstream-Status: Backport -Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com> ---- - ChangeLog | 9 +++++++++ - string/test-mempcpy.c | 1 + - sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S | 5 +++-- - 3 files changed, 13 insertions(+), 2 deletions(-) - -diff --git a/ChangeLog b/ChangeLog -index fa0a07c..bc09dec 100644 ---- a/ChangeLog -+++ b/ChangeLog -@@ -1,3 +1,12 @@ -+2018-05-23 Andreas Schwab <schwab@suse.de> -+ -+ [BZ #23196] -+ CVE-2018-11237 -+ * sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S -+ (L(preloop_large)): Save initial destination pointer in %r11 and -+ use it instead of %rax after the loop. -+ * string/test-mempcpy.c (MIN_PAGE_SIZE): Define. -+ - 2018-05-09 Paul Pluzhnikov <ppluzhnikov@google.com> - - [BZ #22786] -diff --git a/string/test-mempcpy.c b/string/test-mempcpy.c -index c08fba8..d98ecdd 100644 ---- a/string/test-mempcpy.c -+++ b/string/test-mempcpy.c -@@ -18,6 +18,7 @@ - <http://www.gnu.org/licenses/>. */ - - #define MEMCPY_RESULT(dst, len) (dst) + (len) -+#define MIN_PAGE_SIZE 131072 - #define TEST_MAIN - #define TEST_NAME "mempcpy" - #include "test-string.h" -diff --git a/sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S b/sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S -index 23c0f7a..a55cf6f 100644 ---- a/sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S -+++ b/sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S -@@ -335,6 +335,7 @@ L(preloop_large): - ja L(preloop_large_bkw) - vmovups (%rsi), %zmm4 - vmovups 0x40(%rsi), %zmm5 -+ mov %rdi, %r11 - - /* Align destination for access with non-temporal stores in the loop. */ - mov %rdi, %r8 -@@ -366,8 +367,8 @@ L(gobble_256bytes_nt_loop): - cmp $256, %rdx - ja L(gobble_256bytes_nt_loop) - sfence -- vmovups %zmm4, (%rax) -- vmovups %zmm5, 0x40(%rax) -+ vmovups %zmm4, (%r11) -+ vmovups %zmm5, 0x40(%r11) - jmp L(check) - - L(preloop_large_bkw): --- -2.7.4 - diff --git a/poky/meta/recipes-core/glibc/glibc/archive-path.patch b/poky/meta/recipes-core/glibc/glibc/archive-path.patch deleted file mode 100644 index b0d3158cf..000000000 --- a/poky/meta/recipes-core/glibc/glibc/archive-path.patch +++ /dev/null @@ -1,39 +0,0 @@ -localedef --add-to-archive uses a hard-coded locale path which doesn't exist in -normal use, and there's no way to pass an alternative filename. - -Add a fallback of $LOCALEARCHIVE from the environment, and allow creation of new locale archives that are not the system archive. - -Upstream-Status: Inappropriate (OE-specific) -Signed-off-by: Ross Burton <ross.burton@intel.com> - -diff --git a/locale/programs/locarchive.c b/locale/programs/locarchive.c -index ca332a34..6b7ba9b2 100644 ---- a/locale/programs/locarchive.c -+++ b/locale/programs/locarchive.c -@@ -569,10 +569,13 @@ open_archive (struct locarhandle *ah, bool readonly) - /* If ah has a non-NULL fname open that otherwise open the default. */ - if (archivefname == NULL) - { -- archivefname = default_fname; -- if (output_prefix) -- memcpy (default_fname, output_prefix, prefix_len); -- strcpy (default_fname + prefix_len, ARCHIVE_NAME); -+ archivefname = getenv("LOCALEARCHIVE"); -+ if (archivefname == NULL) { -+ archivefname = default_fname; -+ if (output_prefix) -+ memcpy (default_fname, output_prefix, prefix_len); -+ strcpy (default_fname + prefix_len, ARCHIVE_NAME); -+ } - } - - while (1) -@@ -585,7 +588,7 @@ open_archive (struct locarhandle *ah, bool readonly) - the default locale archive we ignore the failure and - list an empty archive, otherwise we print an error - and exit. */ -- if (errno == ENOENT && archivefname == default_fname) -+ if (errno == ENOENT) - { - if (readonly) - { diff --git a/poky/meta/recipes-core/glibc/glibc/etc/ld.so.conf b/poky/meta/recipes-core/glibc/glibc/etc/ld.so.conf index e69de29bb..83327c01b 100644 --- a/poky/meta/recipes-core/glibc/glibc/etc/ld.so.conf +++ b/poky/meta/recipes-core/glibc/glibc/etc/ld.so.conf @@ -0,0 +1 @@ +include /etc/ld.so.conf.d/*.conf diff --git a/poky/meta/recipes-core/glibc/glibc/makedbs.sh b/poky/meta/recipes-core/glibc/glibc/makedbs.sh new file mode 100755 index 000000000..7d51a6735 --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc/makedbs.sh @@ -0,0 +1,177 @@ +#!/bin/sh + +# +# Make passwd.db, group.db, etc. +# + +VAR_DB=/var/db + +# Use make if available +if [ -x /usr/bin/make -o -x /bin/make ]; then + make -C $VAR_DB + exit 0 +fi + +# No make available, do it in hard way + +# passwd.db +if [ -e /etc/passwd ]; then +target=$VAR_DB/passwd.db +echo -n "passwd... " +awk 'BEGIN { FS=":"; OFS=":" } \ + /^[ \t]*$$/ { next } \ + /^[ \t]*#/ { next } \ + /^[^#]/ { printf ".%s ", $$1; print; \ + printf "=%s ", $$3; print }' /etc/passwd | \ +makedb --quiet -o $target - +echo "done." +fi + +# group.db +if [ -e /etc/group ]; then +target=$VAR_DB/group.db +echo -n "group... " +awk 'BEGIN { FS=":"; OFS=":" } \ + /^[ \t]*$$/ { next } \ + /^[ \t]*#/ { next } \ + /^[^#]/ { printf ".%s ", $$1; print; \ + printf "=%s ", $$3; print; \ + if ($$4 != "") { \ + split($$4, grmems, ","); \ + for (memidx in grmems) { \ + mem=grmems[memidx]; \ + if (members[mem] == "") \ + members[mem]=$$3; \ + else \ + members[mem]=members[mem] "," $$3; \ + } \ + delete grmems; } } \ + END { for (mem in members) \ + printf ":%s %s %s\n", mem, mem, members[mem]; }' /etc/group | \ +makedb --quiet -o $target - +echo "done." +fi + +# ethers.db +if [ -e /etc/ethers ]; then +target=$VAR_DB/ethers.db +echo -n "ethers... " +awk '/^[ \t]*$$/ { next } \ + /^[ \t]*#/ { next } \ + /^[^#]/ { printf ".%s ", $$1; print; \ + printf "=%s ", $$2; print }' /etc/ethers | \ +makedb --quiet -o $target - +echo "done." +fi + +# protocols.db +if [ -e /etc/protocols ]; then +target=$VAR_DB/protocols.db +echo -n "protocols... " +awk '/^[ \t]*$$/ { next } \ + /^[ \t]*#/ { next } \ + /^[^#]/ { printf ".%s ", $$1; print; \ + printf "=%s ", $$2; print; \ + for (i = 3; i <= NF && !($$i ~ /^#/); ++i) \ + { printf ".%s ", $$i; print } }' /etc/protocols | \ +makedb --quiet -o $target - +echo "done." +fi + +# rpc.db +if [ -e /etc/rpc ]; then +target=$VAR_DB/rpc.db +echo -n "rpc... " +awk '/^[ \t]*$$/ { next } \ + /^[ \t]*#/ { next } \ + /^[^#]/ { printf ".%s ", $$1; print; \ + printf "=%s ", $$2; print; \ + for (i = 3; i <= NF && !($$i ~ /^#/); ++i) \ + { printf ".%s ", $$i; print } }' /etc/rpc | \ +makedb --quiet -o $target - +echo "done." +fi + +# services.db +if [ -e /etc/services ]; then +target=$VAR_DB/services.db +echo -n "services... " +awk 'BEGIN { FS="[ \t/]+" } \ + /^[ \t]*$$/ { next } \ + /^[ \t]*#/ { next } \ + /^[^#]/ { sub(/[ \t]*#.*$$/, "");\ + printf ":%s/%s ", $$1, $$3; print; \ + printf ":%s/ ", $$1; print; \ + printf "=%s/%s ", $$2, $$3; print; \ + printf "=%s/ ", $$2; print; \ + for (i = 4; i <= NF && !($$i ~ /^#/); ++i) \ + { printf ":%s/%s ", $$i, $$3; print; \ + printf ":%s/ ", $$i; print } }' /etc/services | \ +makedb --quiet -o $target - +echo "done." +fi + +# shadow.db +if [ -e /etc/shadow ]; then +target=$VAR_DB/shadow.db +echo -n "shadow... " +awk 'BEGIN { FS=":"; OFS=":" } \ + /^[ \t]*$$/ { next } \ + /^[ \t]*#/ { next } \ + /^[^#]/ { printf ".%s ", $$1; print }' /etc/shadow | \ +(umask 077 && makedb --quiet -o $target -) +echo "done." +if chgrp shadow $target 2>/dev/null; then + chmod g+r $target +else + chown 0 $target; chgrp 0 $target; chmod 600 $target; + echo + echo "Warning: The shadow password database $target" + echo "has been set to be readable only by root. You may want" + echo "to make it readable by the \`shadow' group depending" + echo "on your configuration." + echo +fi +fi + +# gshadow.db +if [ -e /etc/gshadow ]; then +target=$VAR_DB/gshadow.db +echo -n "gshadow... " +awk 'BEGIN { FS=":"; OFS=":" } \ + /^[ \t]*$$/ { next } \ + /^[ \t]*#/ { next } \ + /^[^#]/ { printf ".%s ", $$1; print }' /etc/gshadow | \ +(umask 077 && makedb --quiet -o $target -) +echo "done." +if chgrp shadow $target 2>/dev/null; then + chmod g+r $target +else + chown 0 $target; chgrp 0 $target; chmod 600 $target + echo + echo "Warning: The shadow group database $target" + echo "has been set to be readable only by root. You may want" + echo "to make it readable by the \`shadow' group depending" + echo "on your configuration." + echo +fi +fi + +# netgroup.db +if [ -e /etc/netgroup ]; then +target=$VAR_DB/netgroup.db +echo -n "netgroup... " +awk 'BEGIN { ini=1 } \ + /^[ \t]*$$/ { next } \ + /^[ \t]*#/ { next } \ + /^[^#]/ { if (sub(/[ \t]*\\$$/, " ") == 0) end="\n"; \ + else end=""; \ + gsub(/[ \t]+/, " "); \ + sub(/^[ \t]*/, ""); \ + if (ini == 0) printf "%s%s", $$0, end; \ + else printf ".%s %s%s", $$1, $$0, end; \ + ini=end == "" ? 0 : 1; } \ + END { if (ini==0) printf "\n" }' /etc/netgroup | \ +makedb --quiet -o $target +echo "done." +fi diff --git a/poky/meta/recipes-core/glibc/glibc_2.27.bb b/poky/meta/recipes-core/glibc/glibc_2.28.bb index adee494c2..d07293925 100644 --- a/poky/meta/recipes-core/glibc/glibc_2.27.bb +++ b/poky/meta/recipes-core/glibc/glibc_2.28.bb @@ -1,13 +1,13 @@ require glibc.inc -LIC_FILES_CHKSUM = "file://LICENSES;md5=e9a558e243b36d3209f380deb394b213 \ +LIC_FILES_CHKSUM = "file://LICENSES;md5=cfc0ed77a9f62fa62eded042ebe31d72 \ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" -DEPENDS += "gperf-native bison-native" +DEPENDS += "gperf-native bison-native make-native" -SRCREV ?= "df3ff4e49d4ee3cbbdaeb0b1cb5dc2344c08be98" +SRCREV ?= "044c96f0d5595aeb0bb4e79355081c5a7f4faca5" SRCBRANCH ?= "release/${PV}/master" @@ -17,25 +17,25 @@ UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.\d+(\.(?!90)\d+)*)" SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ file://etc/ld.so.conf \ file://generate-supported.mk \ + file://makedbs.sh \ \ ${NATIVESDKFIXES} \ - file://0005-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch \ - file://0006-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch \ - file://0007-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch \ - file://0008-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch \ - file://0009-Quote-from-bug-1443-which-explains-what-the-patch-do.patch \ - file://0010-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch \ - file://0011-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch \ - file://0012-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch \ - file://0013-Add-unused-attribute.patch \ - file://0014-yes-within-the-path-sets-wrong-config-variables.patch \ - file://0015-timezone-re-written-tzselect-as-posix-sh.patch \ - file://0016-Remove-bash-dependency-for-nscd-init-script.patch \ - file://0017-eglibc-Cross-building-and-testing-instructions.patch \ - file://0018-eglibc-Help-bootstrap-cross-toolchain.patch \ - file://0019-eglibc-Clear-cache-lines-on-ppc8xx.patch \ - file://0020-eglibc-Resolve-__fpscr_values-on-SH4.patch \ - file://0021-eglibc-Install-PIC-archives.patch \ + file://0006-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch \ + file://0007-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch \ + file://0008-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch \ + file://0009-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch \ + file://0010-Quote-from-bug-1443-which-explains-what-the-patch-do.patch \ + file://0011-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch \ + file://0012-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch \ + file://0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch \ + file://0014-Add-unused-attribute.patch \ + file://0015-yes-within-the-path-sets-wrong-config-variables.patch \ + file://0016-timezone-re-written-tzselect-as-posix-sh.patch \ + file://0017-Remove-bash-dependency-for-nscd-init-script.patch \ + file://0018-eglibc-Cross-building-and-testing-instructions.patch \ + file://0019-eglibc-Help-bootstrap-cross-toolchain.patch \ + file://0020-eglibc-Clear-cache-lines-on-ppc8xx.patch \ + file://0021-eglibc-Resolve-__fpscr_values-on-SH4.patch \ file://0022-eglibc-Forward-port-cross-locale-generation-support.patch \ file://0023-Define-DUMMY_LOCALE_T-if-not-defined.patch \ file://0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch \ @@ -43,11 +43,12 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ file://0026-reset-dl_load_write_lock-after-forking.patch \ file://0027-Acquire-ld.so-lock-before-switching-to-malloc_atfork.patch \ file://0028-bits-siginfo-consts.h-enum-definition-for-TRAP_HWBKP.patch \ - file://0029-Replace-strncpy-with-memccpy-to-fix-Wstringop-trunca.patch \ - file://0030-plural_c_no_preprocessor_lines.patch \ - file://CVE-2017-18269.patch \ - file://CVE-2018-11236.patch \ - file://CVE-2018-11237.patch \ + file://0029-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \ + file://0030-intl-Emit-no-lines-in-bison-generated-files.patch \ + file://0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors-w.patch \ + file://0032-sysdeps-ieee754-soft-fp-ignore-maybe-uninitialized-w.patch \ + file://0033-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch \ + file://0034-inject-file-assembly-directives.patch \ " NATIVESDKFIXES ?= "" @@ -56,8 +57,7 @@ NATIVESDKFIXES_class-nativesdk = "\ file://0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch \ file://0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch \ file://0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch \ - file://relocate-locales.patch \ - file://0031-nativesdk-deprecate-libcrypt.patch \ + file://0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch \ " S = "${WORKDIR}/git" @@ -79,18 +79,16 @@ COMPATIBLE_HOST_libc-musl_class-target = "null" GLIBCPIE ??= "" EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ - --without-cvs --disable-profile \ + --disable-profile \ --disable-debug --without-gd \ --enable-clocale=gnu \ - --enable-add-ons=libidn \ --with-headers=${STAGING_INCDIR} \ --without-selinux \ - --enable-obsolete-rpc \ - --enable-obsolete-nsl \ --enable-tunables \ --enable-bind-now \ --enable-stack-protector=strong \ --enable-stackguard-randomization \ + --disable-crypt \ ${GLIBCPIE} \ ${GLIBC_EXTRA_OECONF}" @@ -116,22 +114,10 @@ do_configure () { CPPFLAGS="" oe_runconf } -rpcsvc = "bootparam_prot.x nlm_prot.x rstat.x \ - yppasswd.x klm_prot.x rex.x sm_inter.x mount.x \ - rusers.x spray.x nfs_prot.x rquota.x key_prot.x" - do_compile () { # -Wl,-rpath-link <staging>/lib in LDFLAGS can cause breakage if another glibc is in staging unset LDFLAGS base_do_compile - ( - cd ${S}/sunrpc/rpcsvc - for r in ${rpcsvc}; do - h=`echo $r|sed -e's,\.x$,.h,'` - rm -f $h - ${B}/sunrpc/cross-rpcgen -h $r -o $h || bbwarn "${PN}: unable to generate header for $r" - done - ) echo "Adjust ldd script" if [ -n "${RTLDLIST}" ] then |