From patchwork Thu Feb 1 22:41:07 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Khem Raj X-Patchwork-Id: 126596 Delivered-To: patch@linaro.org Received: by 10.46.124.24 with SMTP id x24csp70008ljc; Thu, 1 Feb 2018 14:41:31 -0800 (PST) X-Google-Smtp-Source: AH8x225iXEjJBKWNe8kGW7iG3jhp/u5FiIl2Zwb/A+w31eD+w7cVsLAk8UMMoQvOVVO51BVL5bJk X-Received: by 2002:a17:902:a4:: with SMTP id a33-v6mr33320519pla.257.1517524891248; Thu, 01 Feb 2018 14:41:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1517524891; cv=none; d=google.com; s=arc-20160816; b=Ms6g5mb6he80Iw7DgBbrS/5UG15hFp5tG/hWpEWPpdP12niZ88snfApdXvI0caQCkA PB7wBoQt1mfwDO55OuZ8ti8VaevmEpDbA9MQ2z2ibq9VweVqnhAkPvLW5TUDOs9ZuIaE zeYfh7IsJ33utxhiGKBvcJn29ttEVkMsuO6nfQeAu4Z6BvzmtXXz67jMiKEJYoExyMYQ ODWONimPG7xVPmbRwQqxcZ3DS6UP+1IHpv4hthMU6bGz7i9qDxjPep8CSrXnOkQt2uFl 08iCUL3RXEwGsOr1q2/mG1mq4gFNqE1Q1zpP2Njkhdhtj9qPMYYghDsOMq+D2RdM3SG1 IJXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:sender:content-transfer-encoding:list-subscribe:list-help :list-post:list-archive:list-unsubscribe:list-id:precedence:subject :references:in-reply-to:mime-version:message-id:date:to:from :dkim-signature:delivered-to:arc-authentication-results; bh=jhZQ4Zg7A4wcjUqc9uzhYYhGpeh2plkCn5gNnWHpbGY=; b=pQsjzFxU0NQ0AoGXhuj6/zApi+OhjcW2p32CmmmnqNOKP+YvQObQWxMwXpf344vvED /QGMNyJctPnHDGmwNAhh3kVmk64tpZKY86h219DHvucZbZJLbRjj6kXBXLmfU9XYJj0a XD7I0NMI6ybDoa5T2inU1jIC1lNl9rGIsbAXwRPpO8zJXgeSQF7PUOu9rlsT5EKQxdFB RU39AZIsCHiXzm4WL0XHSM0zs4iurpZY06tc93jYsdHK6n1m649N579oyphdLwVp3LFW VpU73XzEBxbMYHr9zpyKr+e+etw1TX0KgtQjn1TuECP6uoJEkfdTvaq+2plxveWqh84L 5y7A== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=MDRlcQwf; spf=pass (google.com: best guess record for domain of openembedded-core-bounces@lists.openembedded.org designates 140.211.169.62 as permitted sender) smtp.mailfrom=openembedded-core-bounces@lists.openembedded.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmail.com Return-Path: Received: from mail.openembedded.org (mail.openembedded.org. [140.211.169.62]) by mx.google.com with ESMTP id 38-v6si508552pln.64.2018.02.01.14.41.30; Thu, 01 Feb 2018 14:41:31 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of openembedded-core-bounces@lists.openembedded.org designates 140.211.169.62 as permitted sender) client-ip=140.211.169.62; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=MDRlcQwf; spf=pass (google.com: best guess record for domain of openembedded-core-bounces@lists.openembedded.org designates 140.211.169.62 as permitted sender) smtp.mailfrom=openembedded-core-bounces@lists.openembedded.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmail.com Received: from layers.openembedded.org (localhost [127.0.0.1]) by mail.openembedded.org (Postfix) with ESMTP id BE2B67887D; Thu, 1 Feb 2018 22:41:28 +0000 (UTC) X-Original-To: openembedded-core@lists.openembedded.org Delivered-To: openembedded-core@lists.openembedded.org Received: from mail-pg0-f50.google.com (mail-pg0-f50.google.com [74.125.83.50]) by mail.openembedded.org (Postfix) with ESMTP id 0B8D278874 for ; Thu, 1 Feb 2018 22:41:22 +0000 (UTC) Received: by mail-pg0-f50.google.com with SMTP id x25so494477pge.3 for ; Thu, 01 Feb 2018 14:41:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version:in-reply-to :references:content-transfer-encoding; bh=wuWry4b9rBK7dxW7gdJGaOC4xrcRW0mDV3msF8VDV1A=; b=MDRlcQwfxugGJ8cltHmVKyPgXtFVV1WFX/y56qcVRkUfvvIcc+F2+8Dl0HebOdxhE4 DjAFV5x3sGS95S4Aq7rto+oYgcIAIrc3KpwpJrglX+YuP5RCH/LoxxdXEDV8wO1wnk+N cnbB7lK6xug794jgVcYScl7sCaTSHqrH+1v4tN1rFwW0SX1EC3AqGMXgIyaS1FOm10Qc yCvOC3Ger9mwHs4XEaAF2827ExAoDqIUoyzPl2IQWVK1q9YokF4OibiM2uojsT+bjiNL TreIsTczOtPaMycuuxXgCt0u9avWExujzu3I4cAI592+r92Tz+n/Z/RYZ12BjVxLWU7k 5XiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :in-reply-to:references:content-transfer-encoding; bh=wuWry4b9rBK7dxW7gdJGaOC4xrcRW0mDV3msF8VDV1A=; b=Js3xb1ElUz1YoHPVKhBI4LTE/1IfwL5HnzkZAm6b6eCw9xPg0AKUss+dbpOngTcqmq Wc2MHLGlMwRWox6vogMI1GdMtqRen9KONDFfoGmu32m8XDxewqSvErNj3NBkR7GVcEry vbJj1KBaG9vGjzAyoSEgIbSXPneOJNgNk0ry8UEeUuwNpr9N8qo5hJeRq6U2/MBTXWOC yvNmu3sc0CiwD4aWrLUAc7dhQYhDUvVFTwZVOyYkRTfPp1qabaRIb/M/VX3LY4YRjbuS AQMLTYcRRnAnEElvOo9Mbq0VY6Kjc7weF27PCXI+SyxuPgq//wAveO+XZ0nDEj8gAyrn lpGA== X-Gm-Message-State: AKwxyteImB+A8/CBFdB8YZgYnXSxIFE6Vi1wkBy5AD9j1c5r4OKoQjmQ h4zQm31KLxaWqMpxBIYZ4Ubu1Q== X-Received: by 10.99.103.69 with SMTP id b66mr29741223pgc.233.1517524882706; Thu, 01 Feb 2018 14:41:22 -0800 (PST) Received: from localhost.localdomain ([2601:646:8880:466c::6dba]) by smtp.gmail.com with ESMTPSA id p14sm452826pgu.7.2018.02.01.14.41.21 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 01 Feb 2018 14:41:21 -0800 (PST) From: Khem Raj To: openembedded-core@lists.openembedded.org Date: Thu, 1 Feb 2018 14:41:07 -0800 Message-Id: X-Mailer: git-send-email 2.16.1 MIME-Version: 1.0 In-Reply-To: References: Subject: [OE-core] [PATCH 2/2] glibc: Upgrade to 2.27 release X-BeenThere: openembedded-core@lists.openembedded.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Patches and discussions about the oe-core layer List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: openembedded-core-bounces@lists.openembedded.org Errors-To: openembedded-core-bounces@lists.openembedded.org Signed-off-by: Khem Raj --- meta/conf/distro/include/tcmode-default.inc | 2 +- ...tive_2.26.bb => cross-localedef-native_2.27.bb} | 4 +- ...glibc-initial_2.26.bb => glibc-initial_2.27.bb} | 0 .../{glibc-locale_2.26.bb => glibc-locale_2.27.bb} | 0 .../{glibc-mtrace_2.26.bb => glibc-mtrace_2.27.bb} | 0 ...glibc-scripts_2.26.bb => glibc-scripts_2.27.bb} | 0 ...libc-Look-for-host-system-ld.so.cache-as-.patch | 12 +- ...libc-Fix-buffer-overrun-with-a-relocated-.patch | 10 +- ...libc-Raise-the-size-of-arrays-containing-.patch | 28 ++-- ...ivesdk-glibc-Allow-64-bit-atomics-for-x86.patch | 8 +- ...500-e5500-e6500-603e-fsqrt-implementation.patch | 6 +- ...-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch | 8 +- ...-Fix-undefined-reference-to-__sqrt_finite.patch | 6 +- ...qrt-f-are-now-inline-functions-and-call-o.patch | 6 +- ...bug-1443-which-explains-what-the-patch-do.patch | 10 +- ...n-libm-err-tab.pl-with-specific-dirs-in-S.patch | 10 +- ...qrt-f-are-now-inline-functions-and-call-o.patch | 6 +- ...-configure.ac-handle-correctly-libc_cv_ro.patch | 8 +- .../glibc/glibc/0013-Add-unused-attribute.patch | 8 +- ...thin-the-path-sets-wrong-config-variables.patch | 10 +- ...-timezone-re-written-tzselect-as-posix-sh.patch | 8 +- ...move-bash-dependency-for-nscd-init-script.patch | 6 +- ...c-Cross-building-and-testing-instructions.patch | 6 +- ...018-eglibc-Help-bootstrap-cross-toolchain.patch | 8 +- .../0019-eglibc-Clear-cache-lines-on-ppc8xx.patch | 10 +- ...0020-eglibc-Resolve-__fpscr_values-on-SH4.patch | 8 +- .../glibc/0021-eglibc-Install-PIC-archives.patch | 20 +-- ...ward-port-cross-locale-generation-support.patch | 90 +++++------ ...0023-Define-DUMMY_LOCALE_T-if-not-defined.patch | 8 +- ....c-Make-_dl_build_local_scope-breadth-fir.patch | 10 +- ...-locale-fix-hard-coded-reference-to-gcc-E.patch | 6 +- ...6-reset-dl_load_write_lock-after-forking.patch} | 29 ++-- ...o-lock-before-switching-to-malloc_atfork.patch} | 27 +++- ...loc-add-missing-arena-lock-in-malloc-info.patch | 172 --------------------- meta/recipes-core/glibc/glibc/CVE-2017-15671.patch | 65 -------- meta/recipes-core/glibc/glibc/CVE-2017-16997.patch | 151 ------------------ meta/recipes-core/glibc/glibc/CVE-2017-17426.patch | 53 ------- .../glibc/{glibc_2.26.bb => glibc_2.27.bb} | 14 +- 38 files changed, 200 insertions(+), 633 deletions(-) rename meta/recipes-core/glibc/{cross-localedef-native_2.26.bb => cross-localedef-native_2.27.bb} (93%) rename meta/recipes-core/glibc/{glibc-initial_2.26.bb => glibc-initial_2.27.bb} (100%) rename meta/recipes-core/glibc/{glibc-locale_2.26.bb => glibc-locale_2.27.bb} (100%) rename meta/recipes-core/glibc/{glibc-mtrace_2.26.bb => glibc-mtrace_2.27.bb} (100%) rename meta/recipes-core/glibc/{glibc-scripts_2.26.bb => glibc-scripts_2.27.bb} (100%) rename meta/recipes-core/glibc/glibc/{0027-glibc-reset-dl-load-write-lock-after-forking.patch => 0026-reset-dl_load_write_lock-after-forking.patch} (63%) rename meta/recipes-core/glibc/glibc/{0028-Bug-4578-add-ld.so-lock-while-fork.patch => 0027-Acquire-ld.so-lock-before-switching-to-malloc_atfork.patch} (76%) delete mode 100644 meta/recipes-core/glibc/glibc/0029-malloc-add-missing-arena-lock-in-malloc-info.patch delete mode 100644 meta/recipes-core/glibc/glibc/CVE-2017-15671.patch delete mode 100644 meta/recipes-core/glibc/glibc/CVE-2017-16997.patch delete mode 100644 meta/recipes-core/glibc/glibc/CVE-2017-17426.patch rename meta/recipes-core/glibc/{glibc_2.26.bb => glibc_2.27.bb} (89%) diff --git a/meta/conf/distro/include/tcmode-default.inc b/meta/conf/distro/include/tcmode-default.inc index 64ffeb5ef7..da45642440 100644 --- a/meta/conf/distro/include/tcmode-default.inc +++ b/meta/conf/distro/include/tcmode-default.inc @@ -26,8 +26,8 @@ GCCVERSION ?= "7.%" SDKGCCVERSION ?= "${GCCVERSION}" BINUVERSION ?= "2.29%" GDBVERSION ?= "8.0%" -GLIBCVERSION ?= "2.26%" LINUXLIBCVERSION ?= "4.14%" +GLIBCVERSION ?= "2.27%" PREFERRED_VERSION_gcc ?= "${GCCVERSION}" PREFERRED_VERSION_gcc-cross-${TARGET_ARCH} ?= "${GCCVERSION}" diff --git a/meta/recipes-core/glibc/cross-localedef-native_2.26.bb b/meta/recipes-core/glibc/cross-localedef-native_2.27.bb similarity index 93% rename from meta/recipes-core/glibc/cross-localedef-native_2.26.bb rename to meta/recipes-core/glibc/cross-localedef-native_2.27.bb index fc5d70dbb9..d633e9bc37 100644 --- a/meta/recipes-core/glibc/cross-localedef-native_2.26.bb +++ b/meta/recipes-core/glibc/cross-localedef-native_2.27.bb @@ -21,8 +21,8 @@ SRCBRANCH ?= "release/${PV}/master" GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git" UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+\.\d+(\.\d+)*)" -SRCREV_glibc ?= "1c9a5c270d8b66f30dcfaf1cb2d6cf39d3e18369" -SRCREV_localedef ?= "dfb4afe551c6c6e94f9cc85417bd1f582168c843" +SRCREV_glibc ?= "23158b08a0908f381459f273a984c6fd328363cb" +SRCREV_localedef ?= "de5bdbd5e76b5403a4151b9b9f958b6cca36b3e7" SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ git://github.com/kraj/localedef;branch=master;name=localedef;destsuffix=git/localedef \ diff --git a/meta/recipes-core/glibc/glibc-initial_2.26.bb b/meta/recipes-core/glibc/glibc-initial_2.27.bb similarity index 100% rename from meta/recipes-core/glibc/glibc-initial_2.26.bb rename to meta/recipes-core/glibc/glibc-initial_2.27.bb diff --git a/meta/recipes-core/glibc/glibc-locale_2.26.bb b/meta/recipes-core/glibc/glibc-locale_2.27.bb similarity index 100% rename from meta/recipes-core/glibc/glibc-locale_2.26.bb rename to meta/recipes-core/glibc/glibc-locale_2.27.bb diff --git a/meta/recipes-core/glibc/glibc-mtrace_2.26.bb b/meta/recipes-core/glibc/glibc-mtrace_2.27.bb similarity index 100% rename from meta/recipes-core/glibc/glibc-mtrace_2.26.bb rename to meta/recipes-core/glibc/glibc-mtrace_2.27.bb diff --git a/meta/recipes-core/glibc/glibc-scripts_2.26.bb b/meta/recipes-core/glibc/glibc-scripts_2.27.bb similarity index 100% rename from meta/recipes-core/glibc/glibc-scripts_2.26.bb rename to meta/recipes-core/glibc/glibc-scripts_2.27.bb diff --git a/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch b/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch index 19c1d9bf14..86234c9d2e 100644 --- a/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch +++ b/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch @@ -1,7 +1,7 @@ -From 81346b2f7735698078d5bf919a78b6c0269d6fee Mon Sep 17 00:00:00 2001 +From bd91b60ce6ff01f49b173b6b45e23ce94911b2a6 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 01:48:24 +0000 -Subject: [PATCH 01/25] nativesdk-glibc: Look for host system ld.so.cache as +Subject: [PATCH 01/27] nativesdk-glibc: Look for host system ld.so.cache as well Upstream-Status: Inappropriate [embedded specific] @@ -31,10 +31,10 @@ Signed-off-by: Khem Raj 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/elf/dl-load.c b/elf/dl-load.c -index c1b6d4ba0f..d7af9ebcbc 100644 +index 7554a99b5a..a73d11a62f 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c -@@ -2054,6 +2054,14 @@ _dl_map_object (struct link_map *loader, const char *name, +@@ -2007,6 +2007,14 @@ _dl_map_object (struct link_map *loader, const char *name, } } @@ -49,7 +49,7 @@ index c1b6d4ba0f..d7af9ebcbc 100644 #ifdef USE_LDCONFIG if (fd == -1 && (__glibc_likely ((mode & __RTLD_SECURE) == 0) -@@ -2112,14 +2120,6 @@ _dl_map_object (struct link_map *loader, const char *name, +@@ -2065,14 +2073,6 @@ _dl_map_object (struct link_map *loader, const char *name, } #endif @@ -65,5 +65,5 @@ index c1b6d4ba0f..d7af9ebcbc 100644 if (__glibc_unlikely (GLRO(dl_debug_mask) & DL_DEBUG_LIBS)) _dl_debug_printf ("\n"); -- -2.13.2 +2.16.1 diff --git a/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch b/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch index 2ce240be6f..899481f057 100644 --- a/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch +++ b/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch @@ -1,7 +1,7 @@ -From 82f2e910ec0e2de6a9e2b007825bddfc5850575d Mon Sep 17 00:00:00 2001 +From 50736f7fc1fdc9e1f7c05f1fec75c977d9be9228 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 01:50:00 +0000 -Subject: [PATCH 02/25] nativesdk-glibc: Fix buffer overrun with a relocated +Subject: [PATCH 02/27] nativesdk-glibc: Fix buffer overrun with a relocated SDK When ld-linux-*.so.2 is relocated to a path that is longer than the @@ -22,10 +22,10 @@ Signed-off-by: Khem Raj 1 file changed, 12 insertions(+) diff --git a/elf/dl-load.c b/elf/dl-load.c -index d7af9ebcbc..19c1db9948 100644 +index a73d11a62f..62e3eee478 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c -@@ -1753,7 +1753,19 @@ open_path (const char *name, size_t namelen, int mode, +@@ -1707,7 +1707,19 @@ open_path (const char *name, size_t namelen, int mode, given on the command line when rtld is run directly. */ return -1; @@ -46,5 +46,5 @@ index d7af9ebcbc..19c1db9948 100644 { struct r_search_path_elem *this_dir = *dirs; -- -2.13.2 +2.16.1 diff --git a/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch b/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch index 397e8b3169..03f99916fa 100644 --- a/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch +++ b/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch @@ -1,7 +1,7 @@ -From 490a0eb4da1af726ea5d68e3efc0d18ba94c4054 Mon Sep 17 00:00:00 2001 +From 695e1cbff6ee6db3435c33e55311c67adf44476d Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 01:51:38 +0000 -Subject: [PATCH 03/25] nativesdk-glibc: Raise the size of arrays containing dl +Subject: [PATCH 03/27] nativesdk-glibc: Raise the size of arrays containing dl paths This patch puts the dynamic loader path in the binaries, SYSTEM_DIRS strings @@ -26,7 +26,7 @@ Signed-off-by: Khem Raj 7 files changed, 14 insertions(+), 10 deletions(-) diff --git a/elf/dl-cache.c b/elf/dl-cache.c -index e9632da0b3..4de529d2cf 100644 +index 6ee5153ff9..37a5f701fa 100644 --- a/elf/dl-cache.c +++ b/elf/dl-cache.c @@ -133,6 +133,10 @@ do \ @@ -38,14 +38,14 @@ index e9632da0b3..4de529d2cf 100644 + + int - internal_function _dl_cache_libcmp (const char *p1, const char *p2) + { diff --git a/elf/dl-load.c b/elf/dl-load.c -index 19c1db9948..70c259b400 100644 +index 62e3eee478..6ddba73650 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c -@@ -106,8 +106,8 @@ static size_t max_capstrlen attribute_relro; - /* Get the generated information about the trusted directories. */ +@@ -109,8 +109,8 @@ static size_t max_capstrlen attribute_relro; + gen-trusted-dirs.awk. */ #include "trusted-dirs.h" -static const char system_dirs[] = SYSTEM_DIRS; @@ -56,7 +56,7 @@ index 19c1db9948..70c259b400 100644 SYSTEM_DIRS_LEN }; diff --git a/elf/interp.c b/elf/interp.c -index b6e8f04444..47c20415bc 100644 +index 9cd50c7291..fc2f39d73c 100644 --- a/elf/interp.c +++ b/elf/interp.c @@ -18,5 +18,5 @@ @@ -67,7 +67,7 @@ index b6e8f04444..47c20415bc 100644 +const char __invoke_dynamic_linker__[4096] __attribute__ ((section (".interp"))) = RUNTIME_LINKER; diff --git a/elf/ldconfig.c b/elf/ldconfig.c -index 99caf9e9bb..36ea5df5f1 100644 +index fbdd814edf..9f4d8d69b1 100644 --- a/elf/ldconfig.c +++ b/elf/ldconfig.c @@ -168,6 +168,9 @@ static struct argp argp = @@ -81,7 +81,7 @@ index 99caf9e9bb..36ea5df5f1 100644 a platform. */ static int diff --git a/elf/rtld.c b/elf/rtld.c -index 65647fb1c8..cd8381cb33 100644 +index 453f56eb15..08e0c4c94b 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -128,6 +128,7 @@ dso_name_valid_for_suid (const char *p) @@ -92,7 +92,7 @@ index 65647fb1c8..cd8381cb33 100644 /* LD_AUDIT variable contents. Must be processed before the audit_list below. */ -@@ -999,12 +1000,12 @@ of this helper program; chances are you did not intend to run this program.\n\ +@@ -1000,12 +1001,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 +108,7 @@ index 65647fb1c8..cd8381cb33 100644 ++_dl_skip_args; --_dl_argc; diff --git a/iconv/gconv_conf.c b/iconv/gconv_conf.c -index 5aa055de6e..b9a14b9bd3 100644 +index d6cf9d2a3e..9fcf970144 100644 --- a/iconv/gconv_conf.c +++ b/iconv/gconv_conf.c @@ -36,7 +36,7 @@ @@ -121,7 +121,7 @@ index 5aa055de6e..b9a14b9bd3 100644 /* The path elements, as determined by the __gconv_get_path function. All path elements end in a slash. */ diff --git a/sysdeps/generic/dl-cache.h b/sysdeps/generic/dl-cache.h -index 1f0b8f629d..acbe68399d 100644 +index cf43f1cf3b..7f07adde53 100644 --- a/sysdeps/generic/dl-cache.h +++ b/sysdeps/generic/dl-cache.h @@ -27,10 +27,6 @@ @@ -136,5 +136,5 @@ index 1f0b8f629d..acbe68399d 100644 # define add_system_dir(dir) add_dir (dir) #endif -- -2.13.2 +2.16.1 diff --git a/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch b/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch index 8db47bca78..f9d70c2a09 100644 --- a/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch +++ b/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch @@ -1,7 +1,7 @@ -From 8fe1b56180c30d237cc2ab9a5a9c97a0311f41da Mon Sep 17 00:00:00 2001 +From 2bafdbd7067794c6a24e5e85608c0ec4638c5667 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 31 Dec 2015 14:35:35 -0800 -Subject: [PATCH 04/25] nativesdk-glibc: Allow 64 bit atomics for x86 +Subject: [PATCH 04/27] 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. @@ -17,7 +17,7 @@ Signed-off-by: Khem Raj 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sysdeps/i386/atomic-machine.h b/sysdeps/i386/atomic-machine.h -index 0e24200617..1532f52dec 100644 +index 272da5dd8f..409c759f14 100644 --- a/sysdeps/i386/atomic-machine.h +++ b/sysdeps/i386/atomic-machine.h @@ -54,7 +54,7 @@ typedef uintmax_t uatomic_max_t; @@ -30,5 +30,5 @@ index 0e24200617..1532f52dec 100644 #define ATOMIC_EXCHANGE_USES_CAS 0 -- -2.13.2 +2.16.1 diff --git a/meta/recipes-core/glibc/glibc/0005-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch b/meta/recipes-core/glibc/glibc/0005-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch index 956b2aae7a..ad9106eefa 100644 --- a/meta/recipes-core/glibc/glibc/0005-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch +++ b/meta/recipes-core/glibc/glibc/0005-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch @@ -1,7 +1,7 @@ -From b9edcc845641956b7286c60c833f05a9f70cfab9 Mon Sep 17 00:00:00 2001 +From 661adfe9c220d10617bf6bb283827471c3956b01 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:01:50 +0000 -Subject: [PATCH 05/25] fsl e500/e5500/e6500/603e fsqrt implementation +Subject: [PATCH 05/27] fsl e500/e5500/e6500/603e fsqrt implementation Upstream-Status: Pending Signed-off-by: Edmar Wienskoski @@ -1580,5 +1580,5 @@ index 0000000000..04ff8cc181 @@ -0,0 +1 @@ +powerpc/powerpc64/e6500/fpu -- -2.13.2 +2.16.1 diff --git a/meta/recipes-core/glibc/glibc/0006-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch b/meta/recipes-core/glibc/glibc/0006-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch index c74fead625..a3d50fd054 100644 --- a/meta/recipes-core/glibc/glibc/0006-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch +++ b/meta/recipes-core/glibc/glibc/0006-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch @@ -1,7 +1,7 @@ -From 324202488a1c2439be345745722f5cb04c0e0847 Mon Sep 17 00:00:00 2001 +From 615598fcca64461a71d84f756d75374f02d914ad Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:11:22 +0000 -Subject: [PATCH 06/25] readlib: Add OECORE_KNOWN_INTERPRETER_NAMES to known +Subject: [PATCH 06/27] readlib: Add OECORE_KNOWN_INTERPRETER_NAMES to known names This bolts in a hook for OE to pass its own version of interpreter @@ -17,7 +17,7 @@ Signed-off-by: Khem Raj 1 file changed, 1 insertion(+) diff --git a/elf/readlib.c b/elf/readlib.c -index d278a189b2..a84cb85158 100644 +index 573c01476c..d8c7412287 100644 --- a/elf/readlib.c +++ b/elf/readlib.c @@ -51,6 +51,7 @@ static struct known_names interpreters[] = @@ -29,5 +29,5 @@ index d278a189b2..a84cb85158 100644 static struct known_names known_libs[] = -- -2.13.2 +2.16.1 diff --git a/meta/recipes-core/glibc/glibc/0007-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch b/meta/recipes-core/glibc/glibc/0007-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch index b64327667c..1234df0a09 100644 --- a/meta/recipes-core/glibc/glibc/0007-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch +++ b/meta/recipes-core/glibc/glibc/0007-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch @@ -1,7 +1,7 @@ -From cf00bf9de8128171e79a019de809e35f3aeed281 Mon Sep 17 00:00:00 2001 +From 804b73ae295bdfda29341e89f2d0c1b99492dc9a Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:15:07 +0000 -Subject: [PATCH 07/25] ppc/sqrt: Fix undefined reference to `__sqrt_finite' +Subject: [PATCH 07/27] 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' @@ -204,5 +204,5 @@ index 26fa067abf..9d175122a8 100644 } +strong_alias (__ieee754_sqrtf, __sqrtf_finite) -- -2.13.2 +2.16.1 diff --git a/meta/recipes-core/glibc/glibc/0008-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch b/meta/recipes-core/glibc/glibc/0008-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch index 3aeec5288b..1b43647514 100644 --- a/meta/recipes-core/glibc/glibc/0008-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch +++ b/meta/recipes-core/glibc/glibc/0008-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch @@ -1,7 +1,7 @@ -From babe311deca9ee2730278f13b061b914b5286dc3 Mon Sep 17 00:00:00 2001 +From 1a53084249d9dae1ef4281246efc899c8f9d63ed Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:16:38 +0000 -Subject: [PATCH 08/25] __ieee754_sqrt{,f} are now inline functions and call +Subject: [PATCH 08/27] __ieee754_sqrt{,f} are now inline functions and call out __slow versions Upstream-Status: Pending @@ -383,5 +383,5 @@ index 9d175122a8..10de1f0cc3 100644 + strong_alias (__ieee754_sqrtf, __sqrtf_finite) -- -2.13.2 +2.16.1 diff --git a/meta/recipes-core/glibc/glibc/0009-Quote-from-bug-1443-which-explains-what-the-patch-do.patch b/meta/recipes-core/glibc/glibc/0009-Quote-from-bug-1443-which-explains-what-the-patch-do.patch index 7d5c2e31f5..ea498569b3 100644 --- a/meta/recipes-core/glibc/glibc/0009-Quote-from-bug-1443-which-explains-what-the-patch-do.patch +++ b/meta/recipes-core/glibc/glibc/0009-Quote-from-bug-1443-which-explains-what-the-patch-do.patch @@ -1,7 +1,7 @@ -From 93b5d6bed19939039031c45b777d29619db06184 Mon Sep 17 00:00:00 2001 +From 48262b6dda935278a40374ddf0080ab6cc999582 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:20:09 +0000 -Subject: [PATCH 09/25] Quote from bug 1443 which explains what the patch does +Subject: [PATCH 09/27] Quote from bug 1443 which explains what the patch does : We build some random program and link it with -lust. When we run it, @@ -45,10 +45,10 @@ Signed-off-by: Khem Raj 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sysdeps/arm/dl-machine.h b/sysdeps/arm/dl-machine.h -index 7053ead16e..0b1e1716b0 100644 +index 8a00eab5e3..623edcb1bd 100644 --- a/sysdeps/arm/dl-machine.h +++ b/sysdeps/arm/dl-machine.h -@@ -500,7 +500,7 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc, +@@ -510,7 +510,7 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc, case R_ARM_TLS_DTPOFF32: if (sym != NULL) @@ -58,5 +58,5 @@ index 7053ead16e..0b1e1716b0 100644 case R_ARM_TLS_TPOFF32: -- -2.13.2 +2.16.1 diff --git a/meta/recipes-core/glibc/glibc/0010-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch b/meta/recipes-core/glibc/glibc/0010-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch index 7275c3e96d..17513185da 100644 --- a/meta/recipes-core/glibc/glibc/0010-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch +++ b/meta/recipes-core/glibc/glibc/0010-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch @@ -1,7 +1,7 @@ -From 1a6e0f4ee8584b04226156df1a3de3e467f0ef6f Mon Sep 17 00:00:00 2001 +From 72ea5410909aef6b6aee70e7f9a88d534583aa00 Mon Sep 17 00:00:00 2001 From: Ting Liu Date: Wed, 19 Dec 2012 04:39:57 -0600 -Subject: [PATCH 10/25] eglibc: run libm-err-tab.pl with specific dirs in ${S} +Subject: [PATCH 10/27] 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 @@ -18,10 +18,10 @@ Signed-off-by: Ting Liu 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/manual/Makefile b/manual/Makefile -index 4ed63a8ef3..e89919eb19 100644 +index c2756640a7..1b5bb16a96 100644 --- a/manual/Makefile +++ b/manual/Makefile -@@ -105,7 +105,8 @@ $(objpfx)libm-err.texi: $(objpfx)stamp-libm-err +@@ -102,7 +102,8 @@ $(objpfx)libm-err.texi: $(objpfx)stamp-libm-err $(objpfx)stamp-libm-err: libm-err-tab.pl $(wildcard $(foreach dir,$(sysdirs),\ $(dir)/libm-test-ulps)) pwd=`pwd`; \ @@ -32,5 +32,5 @@ index 4ed63a8ef3..e89919eb19 100644 touch $@ -- -2.13.2 +2.16.1 diff --git a/meta/recipes-core/glibc/glibc/0011-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch b/meta/recipes-core/glibc/glibc/0011-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch index 84f2ca5234..1e70b2a30e 100644 --- a/meta/recipes-core/glibc/glibc/0011-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch +++ b/meta/recipes-core/glibc/glibc/0011-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch @@ -1,7 +1,7 @@ -From 9b2af6cbf68d3353d72519e7f6c46becb7bd1d0f Mon Sep 17 00:00:00 2001 +From 8ae998a10b24545e0c12f1f3d8be97b191178204 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:24:46 +0000 -Subject: [PATCH 11/25] __ieee754_sqrt{,f} are now inline functions and call +Subject: [PATCH 11/27] __ieee754_sqrt{,f} are now inline functions and call out __slow versions Upstream-Status: Pending @@ -57,5 +57,5 @@ index 812653558f..10de1f0cc3 100644 #endif { -- -2.13.2 +2.16.1 diff --git a/meta/recipes-core/glibc/glibc/0012-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch b/meta/recipes-core/glibc/glibc/0012-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch index 2bf6b23ad1..c35b759a28 100644 --- a/meta/recipes-core/glibc/glibc/0012-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch +++ b/meta/recipes-core/glibc/glibc/0012-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch @@ -1,7 +1,7 @@ -From ffd3c5a04d8f2f26fea71fed4ce41e88b6f51086 Mon Sep 17 00:00:00 2001 +From 4f9f39761909e67bd6d29b970b7165863e33e565 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:27:10 +0000 -Subject: [PATCH 12/25] sysdeps/gnu/configure.ac: handle correctly +Subject: [PATCH 12/27] sysdeps/gnu/configure.ac: handle correctly $libc_cv_rootsbindir Upstream-Status:Pending @@ -14,7 +14,7 @@ Signed-off-by: Khem Raj 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sysdeps/gnu/configure b/sysdeps/gnu/configure -index 71243ad0c6..f578187576 100644 +index c15d1087e8..37cc983f2a 100644 --- a/sysdeps/gnu/configure +++ b/sysdeps/gnu/configure @@ -32,6 +32,6 @@ case "$prefix" in @@ -38,5 +38,5 @@ index 634fe4de2a..3db1697f4f 100644 ;; esac -- -2.13.2 +2.16.1 diff --git a/meta/recipes-core/glibc/glibc/0013-Add-unused-attribute.patch b/meta/recipes-core/glibc/glibc/0013-Add-unused-attribute.patch index 099fe50ee2..62c65253dd 100644 --- a/meta/recipes-core/glibc/glibc/0013-Add-unused-attribute.patch +++ b/meta/recipes-core/glibc/glibc/0013-Add-unused-attribute.patch @@ -1,7 +1,7 @@ -From 049cce82f35e0d864d98075b83888dbba4d68afd Mon Sep 17 00:00:00 2001 +From bba7a647b636618d5fd083e904f995f7736b9168 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:28:41 +0000 -Subject: [PATCH 13/25] Add unused attribute +Subject: [PATCH 13/27] Add unused attribute Helps in avoiding gcc warning when header is is included in a source file which does not use both functions @@ -17,7 +17,7 @@ Upstream-Status: Pending 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/iconv/gconv_charset.h b/iconv/gconv_charset.h -index 18d8bd6ae7..eb729da5d3 100644 +index 123e2a62ce..63cc83ec84 100644 --- a/iconv/gconv_charset.h +++ b/iconv/gconv_charset.h @@ -21,7 +21,7 @@ @@ -30,5 +30,5 @@ index 18d8bd6ae7..eb729da5d3 100644 { int slash_count = 0; -- -2.13.2 +2.16.1 diff --git a/meta/recipes-core/glibc/glibc/0014-yes-within-the-path-sets-wrong-config-variables.patch b/meta/recipes-core/glibc/glibc/0014-yes-within-the-path-sets-wrong-config-variables.patch index ddc70e0e60..66911285a9 100644 --- a/meta/recipes-core/glibc/glibc/0014-yes-within-the-path-sets-wrong-config-variables.patch +++ b/meta/recipes-core/glibc/glibc/0014-yes-within-the-path-sets-wrong-config-variables.patch @@ -1,7 +1,7 @@ -From 3b904bee81a1cfe81e3f437b5f3296efd54a51ac Mon Sep 17 00:00:00 2001 +From 62f44ce3dd01a257cf67116e355492cb1659a917 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:31:06 +0000 -Subject: [PATCH 14/25] 'yes' within the path sets wrong config variables +Subject: [PATCH 14/27] '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 @@ -165,7 +165,7 @@ index f05f43802b..dc8639902d 100644 ], libc_cv_nios2_be=yes, libc_cv_nios2_be=no)]) if test $libc_cv_nios2_be = yes; then diff --git a/sysdeps/unix/sysv/linux/mips/configure b/sysdeps/unix/sysv/linux/mips/configure -index a5513fad48..283b293ff3 100644 +index 1ee7f41a36..77e38bebde 100644 --- a/sysdeps/unix/sysv/linux/mips/configure +++ b/sysdeps/unix/sysv/linux/mips/configure @@ -414,11 +414,11 @@ else @@ -199,7 +199,7 @@ index 9147aa4582..7898e24738 100644 libc_mips_nan= diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure -index 4e7fcf1d97..44a9cb3791 100644 +index ae7f254da4..874519000b 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure @@ -155,12 +155,12 @@ else @@ -259,5 +259,5 @@ index f9cba6e15d..b21f72f1e4 100644 ], 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.13.2 +2.16.1 diff --git a/meta/recipes-core/glibc/glibc/0015-timezone-re-written-tzselect-as-posix-sh.patch b/meta/recipes-core/glibc/glibc/0015-timezone-re-written-tzselect-as-posix-sh.patch index b5feffa06a..66bf4fdabd 100644 --- a/meta/recipes-core/glibc/glibc/0015-timezone-re-written-tzselect-as-posix-sh.patch +++ b/meta/recipes-core/glibc/glibc/0015-timezone-re-written-tzselect-as-posix-sh.patch @@ -1,7 +1,7 @@ -From b8cb8cb242cb751d888feb1ada5c4d0f05cbc1d7 Mon Sep 17 00:00:00 2001 +From ac240fb01f6470ac207968adfbe20ccc93b16f8b Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:33:03 +0000 -Subject: [PATCH 15/25] timezone: re-written tzselect as posix sh +Subject: [PATCH 15/27] timezone: re-written tzselect as posix sh To avoid the bash dependency. @@ -15,7 +15,7 @@ Signed-off-by: Khem Raj 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/timezone/Makefile b/timezone/Makefile -index d6cc7ba357..e4ead6e1a7 100644 +index 0194aba4a1..58e5405a05 100644 --- a/timezone/Makefile +++ b/timezone/Makefile @@ -122,7 +122,7 @@ $(testdata)/XT%: testdata/XT% @@ -41,5 +41,5 @@ index d2c3a6d1dd..089679f306 100755 # Output one argument as-is to standard output. # Safer than 'echo', which can mishandle '\' or leading '-'. -- -2.13.2 +2.16.1 diff --git a/meta/recipes-core/glibc/glibc/0016-Remove-bash-dependency-for-nscd-init-script.patch b/meta/recipes-core/glibc/glibc/0016-Remove-bash-dependency-for-nscd-init-script.patch index 1d9983b8e5..0b1ee96871 100644 --- a/meta/recipes-core/glibc/glibc/0016-Remove-bash-dependency-for-nscd-init-script.patch +++ b/meta/recipes-core/glibc/glibc/0016-Remove-bash-dependency-for-nscd-init-script.patch @@ -1,7 +1,7 @@ -From 69d378001adfe9a359d2f4b069c1ed2d36de4480 Mon Sep 17 00:00:00 2001 +From 790b133ff2bc5b77ed8533b8999abc65ed0da02b Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 31 Dec 2015 14:33:02 -0800 -Subject: [PATCH 16/25] Remove bash dependency for nscd init script +Subject: [PATCH 16/27] 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. @@ -71,5 +71,5 @@ index a882da7d8b..b02986ec15 100644 ;; esac -- -2.13.2 +2.16.1 diff --git a/meta/recipes-core/glibc/glibc/0017-eglibc-Cross-building-and-testing-instructions.patch b/meta/recipes-core/glibc/glibc/0017-eglibc-Cross-building-and-testing-instructions.patch index 3e39d7458c..fd821323d7 100644 --- a/meta/recipes-core/glibc/glibc/0017-eglibc-Cross-building-and-testing-instructions.patch +++ b/meta/recipes-core/glibc/glibc/0017-eglibc-Cross-building-and-testing-instructions.patch @@ -1,7 +1,7 @@ -From cdc88dffa226815e3a218604655459e33dc86483 Mon Sep 17 00:00:00 2001 +From 897430bbb65a0f22284d7957206b5fd4efd6607f Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:42:58 +0000 -Subject: [PATCH 17/25] eglibc: Cross building and testing instructions +Subject: [PATCH 17/27] eglibc: Cross building and testing instructions Ported from eglibc Upstream-Status: Pending @@ -615,5 +615,5 @@ index 0000000000..b67b468466 + simply place copies of these libraries in the top GLIBC build + directory. -- -2.13.2 +2.16.1 diff --git a/meta/recipes-core/glibc/glibc/0018-eglibc-Help-bootstrap-cross-toolchain.patch b/meta/recipes-core/glibc/glibc/0018-eglibc-Help-bootstrap-cross-toolchain.patch index 02f35f4e7b..80d547c80d 100644 --- a/meta/recipes-core/glibc/glibc/0018-eglibc-Help-bootstrap-cross-toolchain.patch +++ b/meta/recipes-core/glibc/glibc/0018-eglibc-Help-bootstrap-cross-toolchain.patch @@ -1,7 +1,7 @@ -From 1161cd1c683547d29a03626d9d7de7f9cc03b74a Mon Sep 17 00:00:00 2001 +From fcfa19b69e8749477022161a808a201807ef72ec Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:49:28 +0000 -Subject: [PATCH 18/25] eglibc: Help bootstrap cross toolchain +Subject: [PATCH 18/27] eglibc: Help bootstrap cross toolchain Taken from EGLIBC, r1484 + r1525 @@ -29,7 +29,7 @@ Signed-off-by: Khem Raj create mode 100644 include/stubs-bootstrap.h diff --git a/Makefile b/Makefile -index 3e0ae6f43b..24dc66d17c 100644 +index bea4e27f8d..8c83cfadc6 100644 --- a/Makefile +++ b/Makefile @@ -70,9 +70,18 @@ subdir-dirs = include @@ -96,5 +96,5 @@ index 0000000000..1d2b669aff + EGLIBC subdir 'stubs' make targets, on every .o file in EGLIBC, but + an empty stubs.h like this will do fine for GCC. */ -- -2.13.2 +2.16.1 diff --git a/meta/recipes-core/glibc/glibc/0019-eglibc-Clear-cache-lines-on-ppc8xx.patch b/meta/recipes-core/glibc/glibc/0019-eglibc-Clear-cache-lines-on-ppc8xx.patch index adb28cfd34..17bfe4fe84 100644 --- a/meta/recipes-core/glibc/glibc/0019-eglibc-Clear-cache-lines-on-ppc8xx.patch +++ b/meta/recipes-core/glibc/glibc/0019-eglibc-Clear-cache-lines-on-ppc8xx.patch @@ -1,7 +1,7 @@ -From 1732c7f25453c879c17701839ef34876a7357008 Mon Sep 17 00:00:00 2001 +From c6f2db0d7c5c65bfa19766a0e1ce8210111f9c7d Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 31 Dec 2015 15:15:09 -0800 -Subject: [PATCH 19/25] eglibc: Clear cache lines on ppc8xx +Subject: [PATCH 19/27] eglibc: Clear cache lines on ppc8xx 2007-06-13 Nathan Sidwell Mark Shinwell @@ -21,7 +21,7 @@ Signed-off-by: Khem Raj 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c b/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c -index 23f5d5d388..7e45288db7 100644 +index 78051bc7bc..e24f442320 100644 --- a/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c +++ b/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c @@ -24,9 +24,21 @@ int __cache_line_size attribute_hidden; @@ -48,7 +48,7 @@ index 23f5d5d388..7e45288db7 100644 break; diff --git a/sysdeps/unix/sysv/linux/powerpc/libc-start.c b/sysdeps/unix/sysv/linux/powerpc/libc-start.c -index ad036c1e4b..afee56a3da 100644 +index f2ad0c355d..3e6773795e 100644 --- a/sysdeps/unix/sysv/linux/powerpc/libc-start.c +++ b/sysdeps/unix/sysv/linux/powerpc/libc-start.c @@ -73,11 +73,25 @@ __libc_start_main (int argc, char **argv, @@ -79,5 +79,5 @@ index ad036c1e4b..afee56a3da 100644 break; #ifndef SHARED -- -2.13.2 +2.16.1 diff --git a/meta/recipes-core/glibc/glibc/0020-eglibc-Resolve-__fpscr_values-on-SH4.patch b/meta/recipes-core/glibc/glibc/0020-eglibc-Resolve-__fpscr_values-on-SH4.patch index f835d871ab..09f7670758 100644 --- a/meta/recipes-core/glibc/glibc/0020-eglibc-Resolve-__fpscr_values-on-SH4.patch +++ b/meta/recipes-core/glibc/glibc/0020-eglibc-Resolve-__fpscr_values-on-SH4.patch @@ -1,7 +1,7 @@ -From 108b3a1df96a85522c52a0dec032fc2c106f5f2d Mon Sep 17 00:00:00 2001 +From 577085016bb926a687abec145557fe8cb8f5af0e Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:55:53 +0000 -Subject: [PATCH 20/25] eglibc: Resolve __fpscr_values on SH4 +Subject: [PATCH 20/27] eglibc: Resolve __fpscr_values on SH4 2010-09-29 Nobuhiro Iwamatsu Andrew Stubbs @@ -33,7 +33,7 @@ index e0938c4165..ca1d7da339 100644 # a* alphasort64; diff --git a/sysdeps/unix/sysv/linux/sh/sysdep.S b/sysdeps/unix/sysv/linux/sh/sysdep.S -index 5f11bc737b..2fd217b00b 100644 +index c4e28ffb98..648bae03d5 100644 --- a/sysdeps/unix/sysv/linux/sh/sysdep.S +++ b/sysdeps/unix/sysv/linux/sh/sysdep.S @@ -30,3 +30,14 @@ ENTRY (__syscall_error) @@ -52,5 +52,5 @@ index 5f11bc737b..2fd217b00b 100644 +weak_alias (___fpscr_values, __fpscr_values) + -- -2.13.2 +2.16.1 diff --git a/meta/recipes-core/glibc/glibc/0021-eglibc-Install-PIC-archives.patch b/meta/recipes-core/glibc/glibc/0021-eglibc-Install-PIC-archives.patch index 6ee397bf75..530f4e1087 100644 --- a/meta/recipes-core/glibc/glibc/0021-eglibc-Install-PIC-archives.patch +++ b/meta/recipes-core/glibc/glibc/0021-eglibc-Install-PIC-archives.patch @@ -1,7 +1,7 @@ -From 3392ee83b0132c089dffb1e9892b4b252ce1ec0e Mon Sep 17 00:00:00 2001 +From c1beab8a11985f96f5eb644e7103d343b705afc6 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 01:57:01 +0000 -Subject: [PATCH 21/25] eglibc: Install PIC archives +Subject: [PATCH 21/27] eglibc: Install PIC archives Forward port from eglibc @@ -29,10 +29,10 @@ Signed-off-by: Khem Raj 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/Makerules b/Makerules -index 9bb707c168..74cbefb9ba 100644 +index ef6abeac6d..eeaa667f49 100644 --- a/Makerules +++ b/Makerules -@@ -775,6 +775,9 @@ ifeq ($(build-shared),yes) +@@ -778,6 +778,9 @@ ifeq ($(build-shared),yes) $(common-objpfx)libc.so: $(common-objpfx)libc.map endif common-generated += libc.so libc_pic.os @@ -42,7 +42,7 @@ index 9bb707c168..74cbefb9ba 100644 ifdef libc.so-version $(common-objpfx)libc.so$(libc.so-version): $(common-objpfx)libc.so $(make-link) -@@ -1026,6 +1029,7 @@ endif +@@ -1029,6 +1032,7 @@ endif install: check-install-supported @@ -50,7 +50,7 @@ index 9bb707c168..74cbefb9ba 100644 install: $(installed-libcs) $(installed-libcs): $(inst_libdir)/lib$(libprefix)%: lib $(+force) $(make-target-directory) -@@ -1054,6 +1058,22 @@ versioned := $(strip $(foreach so,$(install-lib.so),\ +@@ -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)) @@ -73,7 +73,7 @@ index 9bb707c168..74cbefb9ba 100644 # 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 -@@ -1298,9 +1318,22 @@ $(addprefix $(inst_includedir)/,$(headers-nonh)): $(inst_includedir)/%: \ +@@ -1311,9 +1331,22 @@ $(addprefix $(inst_includedir)/,$(headers-nonh)): $(inst_includedir)/%: \ endif # headers-nonh endif # headers @@ -97,7 +97,7 @@ index 9bb707c168..74cbefb9ba 100644 install-bin-nosubdir: $(addprefix $(inst_bindir)/,$(install-bin)) install-bin-script-nosubdir: $(addprefix $(inst_bindir)/,$(install-bin-script)) install-rootsbin-nosubdir: \ -@@ -1313,6 +1346,10 @@ install-data-nosubdir: $(addprefix $(inst_datadir)/,$(install-data)) +@@ -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) @@ -108,7 +108,7 @@ index 9bb707c168..74cbefb9ba 100644 # We need all the `-nosubdir' targets so that `install' in the parent # doesn't depend on several things which each iterate over the subdirs. -@@ -1322,7 +1359,8 @@ install-%:: install-%-nosubdir ; +@@ -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 \ @@ -119,5 +119,5 @@ index 9bb707c168..74cbefb9ba 100644 install-no-libc.a-nosubdir: install-bin-nosubdir install-bin-script-nosubdir \ install-rootsbin-nosubdir install-sbin-nosubdir \ -- -2.13.2 +2.16.1 diff --git a/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch b/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch index 2a8a20ac8d..a629ce141a 100644 --- a/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch +++ b/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch @@ -1,7 +1,7 @@ -From d97533dc201cfd863765b1a67a27fde3e2622da7 Mon Sep 17 00:00:00 2001 +From e019fe6a2b410db6043e21803f497b5cbdd90a83 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 01:33:49 +0000 -Subject: [PATCH 22/25] eglibc: Forward port cross locale generation support +Subject: [PATCH 22/27] eglibc: Forward port cross locale generation support Upstream-Status: Pending @@ -23,7 +23,7 @@ Signed-off-by: Khem Raj create mode 100644 locale/catnames.c diff --git a/locale/Makefile b/locale/Makefile -index 98ee76272d..bc3afb2248 100644 +index fd9972279b..176b3946de 100644 --- a/locale/Makefile +++ b/locale/Makefile @@ -26,7 +26,8 @@ headers = langinfo.h locale.h bits/locale.h \ @@ -91,7 +91,7 @@ index 0000000000..9fad357db1 + [LC_ALL] = sizeof ("LC_ALL") - 1 + }; diff --git a/locale/localeinfo.h b/locale/localeinfo.h -index 4e1c8c568a..f7ed946f1c 100644 +index 68822a6319..fa36123776 100644 --- a/locale/localeinfo.h +++ b/locale/localeinfo.h @@ -224,7 +224,7 @@ __libc_tsd_define (extern, locale_t, LOCALE) @@ -104,11 +104,11 @@ index 4e1c8c568a..f7ed946f1c 100644 # define NL_CURRENT_INDIRECT 1 #endif diff --git a/locale/programs/charmap-dir.c b/locale/programs/charmap-dir.c -index e55ab86e28..0f87e6dd28 100644 +index 34a8d32c92..cbb9436cd1 100644 --- a/locale/programs/charmap-dir.c +++ b/locale/programs/charmap-dir.c -@@ -19,7 +19,9 @@ - #include +@@ -18,7 +18,9 @@ + #include #include #include +#ifndef NO_UNCOMPRESS @@ -117,7 +117,7 @@ index e55ab86e28..0f87e6dd28 100644 #include #include #include -@@ -156,6 +158,7 @@ charmap_closedir (CHARMAP_DIR *cdir) +@@ -154,6 +156,7 @@ charmap_closedir (CHARMAP_DIR *cdir) return closedir (dir); } @@ -125,7 +125,7 @@ index e55ab86e28..0f87e6dd28 100644 /* Creates a subprocess decompressing the given pathname, and returns a stream reading its output (the decompressed data). */ static -@@ -204,6 +207,7 @@ fopen_uncompressed (const char *pathname, const char *compressor) +@@ -202,6 +205,7 @@ fopen_uncompressed (const char *pathname, const char *compressor) } return NULL; } @@ -133,7 +133,7 @@ index e55ab86e28..0f87e6dd28 100644 /* Opens a charmap for reading, given its name (not an alias name). */ FILE * -@@ -226,6 +230,7 @@ charmap_open (const char *directory, const char *name) +@@ -224,6 +228,7 @@ charmap_open (const char *directory, const char *name) if (stream != NULL) return stream; @@ -141,7 +141,7 @@ index e55ab86e28..0f87e6dd28 100644 memcpy (p, ".gz", 4); stream = fopen_uncompressed (pathname, "gzip"); if (stream != NULL) -@@ -235,6 +240,7 @@ charmap_open (const char *directory, const char *name) +@@ -233,6 +238,7 @@ charmap_open (const char *directory, const char *name) stream = fopen_uncompressed (pathname, "bzip2"); if (stream != NULL) return stream; @@ -150,10 +150,10 @@ index e55ab86e28..0f87e6dd28 100644 return NULL; } diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c -index cec848cb7c..fcd768eb7d 100644 +index d2eebcfdbb..c3718d6589 100644 --- a/locale/programs/ld-collate.c +++ b/locale/programs/ld-collate.c -@@ -350,7 +350,7 @@ new_element (struct locale_collate_t *collate, const char *mbs, size_t mbslen, +@@ -349,7 +349,7 @@ new_element (struct locale_collate_t *collate, const char *mbs, size_t mbslen, } if (wcs != NULL) { @@ -162,7 +162,7 @@ index cec848cb7c..fcd768eb7d 100644 uint32_t zero = 0; /* Handle as a single character. */ if (nwcs == 0) -@@ -1776,8 +1776,7 @@ symbol `%s' has the same encoding as"), (*eptr)->name); +@@ -1772,8 +1772,7 @@ symbol `%s' has the same encoding as"), (*eptr)->name); if ((*eptr)->nwcs == runp->nwcs) { @@ -172,7 +172,7 @@ index cec848cb7c..fcd768eb7d 100644 if (c == 0) { -@@ -2010,9 +2009,9 @@ add_to_tablewc (uint32_t ch, struct element_t *runp) +@@ -2000,9 +1999,9 @@ add_to_tablewc (uint32_t ch, struct element_t *runp) one consecutive entry. */ if (runp->wcnext != NULL && runp->nwcs == runp->wcnext->nwcs @@ -185,7 +185,7 @@ index cec848cb7c..fcd768eb7d 100644 && (runp->wcs[runp->nwcs - 1] == runp->wcnext->wcs[runp->nwcs - 1] + 1)) { -@@ -2036,9 +2035,9 @@ add_to_tablewc (uint32_t ch, struct element_t *runp) +@@ -2026,9 +2025,9 @@ add_to_tablewc (uint32_t ch, struct element_t *runp) runp = runp->wcnext; while (runp->wcnext != NULL && runp->nwcs == runp->wcnext->nwcs @@ -199,10 +199,10 @@ index cec848cb7c..fcd768eb7d 100644 == runp->wcnext->wcs[runp->nwcs - 1] + 1)); diff --git a/locale/programs/ld-ctype.c b/locale/programs/ld-ctype.c -index df266c20d6..05c0152ec9 100644 +index f791e6b7e9..d809d6db7f 100644 --- a/locale/programs/ld-ctype.c +++ b/locale/programs/ld-ctype.c -@@ -926,7 +926,7 @@ ctype_output (struct localedef_t *locale, const struct charmap_t *charmap, +@@ -915,7 +915,7 @@ ctype_output (struct localedef_t *locale, const struct charmap_t *charmap, allocate_arrays (ctype, charmap, ctype->repertoire); default_missing_len = (ctype->default_missing @@ -211,7 +211,7 @@ index df266c20d6..05c0152ec9 100644 : 0); init_locale_data (&file, nelems); -@@ -1937,7 +1937,7 @@ read_translit_entry (struct linereader *ldfile, struct locale_ctype_t *ctype, +@@ -1926,7 +1926,7 @@ read_translit_entry (struct linereader *ldfile, struct locale_ctype_t *ctype, ignore = 1; else /* This value is usable. */ @@ -220,7 +220,7 @@ index df266c20d6..05c0152ec9 100644 first = 0; } -@@ -2471,8 +2471,8 @@ with character code range values one must use the absolute ellipsis `...'")); +@@ -2460,8 +2460,8 @@ with character code range values one must use the absolute ellipsis `...'")); } handle_tok_digit: @@ -231,7 +231,7 @@ index df266c20d6..05c0152ec9 100644 handle_digits = 1; goto read_charclass; -@@ -3929,8 +3929,7 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap, +@@ -3901,8 +3901,7 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap, while (idx < number) { @@ -241,7 +241,7 @@ index df266c20d6..05c0152ec9 100644 if (res == 0) { replace = 1; -@@ -3967,11 +3966,11 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap, +@@ -3939,11 +3938,11 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap, for (size_t cnt = 0; cnt < number; ++cnt) { struct translit_to_t *srunp; @@ -255,7 +255,7 @@ index df266c20d6..05c0152ec9 100644 srunp = srunp->next; } /* Plus one for the extra NUL character marking the end of -@@ -3995,18 +3994,18 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap, +@@ -3967,18 +3966,18 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap, ctype->translit_from_idx[cnt] = from_len; ctype->translit_to_idx[cnt] = to_len; @@ -281,10 +281,10 @@ index df266c20d6..05c0152ec9 100644 srunp = srunp->next; } diff --git a/locale/programs/ld-time.c b/locale/programs/ld-time.c -index 32e9c41e35..6a61fcedeb 100644 +index a755792363..e8b2f85522 100644 --- a/locale/programs/ld-time.c +++ b/locale/programs/ld-time.c -@@ -215,8 +215,10 @@ No definition for %s category found"), "LC_TIME")); +@@ -220,8 +220,10 @@ No definition for %s category found"), "LC_TIME"); } else { @@ -296,7 +296,7 @@ index 32e9c41e35..6a61fcedeb 100644 } } -@@ -226,7 +228,7 @@ No definition for %s category found"), "LC_TIME")); +@@ -231,7 +233,7 @@ No definition for %s category found"), "LC_TIME"); const int days_per_month[12] = { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31 ,30, 31 }; size_t idx; @@ -305,7 +305,7 @@ index 32e9c41e35..6a61fcedeb 100644 time->era_entries = (struct era_data *) xmalloc (time->num_era -@@ -464,18 +466,18 @@ No definition for %s category found"), "LC_TIME")); +@@ -457,18 +459,18 @@ No definition for %s category found"), "LC_TIME"); } /* Now generate the wide character name and format. */ @@ -331,7 +331,7 @@ index 32e9c41e35..6a61fcedeb 100644 } else time->era_entries[idx].wname = -@@ -534,7 +536,16 @@ No definition for %s category found"), "LC_TIME")); +@@ -527,7 +529,16 @@ No definition for %s category found"), "LC_TIME"); if (time->date_fmt == NULL) time->date_fmt = "%a %b %e %H:%M:%S %Z %Y"; if (time->wdate_fmt == NULL) @@ -350,7 +350,7 @@ index 32e9c41e35..6a61fcedeb 100644 diff --git a/locale/programs/linereader.c b/locale/programs/linereader.c -index 52b340963a..1a8bce17b4 100644 +index 3525c8a43d..f8a7fd9c24 100644 --- a/locale/programs/linereader.c +++ b/locale/programs/linereader.c @@ -595,7 +595,7 @@ get_string (struct linereader *lr, const struct charmap_t *charmap, @@ -363,18 +363,18 @@ index 52b340963a..1a8bce17b4 100644 size_t bufmax = 56; diff --git a/locale/programs/localedef.c b/locale/programs/localedef.c -index 6acc1342c7..df87740f8b 100644 +index d718d2e9f4..e0a3ad5a83 100644 --- a/locale/programs/localedef.c +++ b/locale/programs/localedef.c -@@ -108,6 +108,7 @@ void (*argp_program_version_hook) (FILE *, struct argp_state *) = print_version; - #define OPT_LIST_ARCHIVE 309 - #define OPT_LITTLE_ENDIAN 400 +@@ -105,6 +105,7 @@ void (*argp_program_version_hook) (FILE *, struct argp_state *) = print_version; #define OPT_BIG_ENDIAN 401 -+#define OPT_UINT32_ALIGN 402 + #define OPT_NO_WARN 402 + #define OPT_WARN 403 ++#define OPT_UINT32_ALIGN 404 /* Definitions of arguments for argp functions. */ static const struct argp_option options[] = -@@ -143,6 +144,8 @@ static const struct argp_option options[] = +@@ -147,6 +148,8 @@ static const struct argp_option options[] = N_("Generate little-endian output") }, { "big-endian", OPT_BIG_ENDIAN, NULL, 0, N_("Generate big-endian output") }, @@ -383,7 +383,7 @@ index 6acc1342c7..df87740f8b 100644 { NULL, 0, NULL, 0, NULL } }; -@@ -232,12 +235,14 @@ main (int argc, char *argv[]) +@@ -236,12 +239,14 @@ main (int argc, char *argv[]) ctype locale. (P1003.2 4.35.5.2) */ setlocale (LC_CTYPE, "POSIX"); @@ -392,15 +392,15 @@ index 6acc1342c7..df87740f8b 100644 defines error code 3 for this situation so I think it must be a fatal error (see P1003.2 4.35.8). */ if (sysconf (_SC_2_LOCALEDEF) < 0) - WITH_CUR_LOCALE (error (3, 0, _("\ - FATAL: system does not define `_POSIX2_LOCALEDEF'"))); + record_error (3, 0, _("\ + FATAL: system does not define `_POSIX2_LOCALEDEF'")); +#endif /* Process charmap file. */ charmap = charmap_read (charmap_file, verbose, 1, be_quiet, 1); -@@ -328,6 +333,9 @@ parse_opt (int key, char *arg, struct argp_state *state) - case OPT_BIG_ENDIAN: - set_big_endian (true); +@@ -389,6 +394,9 @@ parse_opt (int key, char *arg, struct argp_state *state) + /* Enable the warnings. */ + set_warnings (arg, true); break; + case OPT_UINT32_ALIGN: + uint32_align_mask = strtol (arg, NULL, 0) - 1; @@ -409,7 +409,7 @@ index 6acc1342c7..df87740f8b 100644 force_output = 1; break; diff --git a/locale/programs/locfile.c b/locale/programs/locfile.c -index 0990ef11be..683422c908 100644 +index 32e5f761f2..b41e77bd8d 100644 --- a/locale/programs/locfile.c +++ b/locale/programs/locfile.c @@ -544,6 +544,9 @@ compare_files (const char *filename1, const char *filename2, size_t size, @@ -432,7 +432,7 @@ index 0990ef11be..683422c908 100644 /* Record that FILE's next element is the 32-bit integer VALUE. */ diff --git a/locale/programs/locfile.h b/locale/programs/locfile.h -index 3407e13c13..0bb556caf8 100644 +index 89b347c72d..a636fc2960 100644 --- a/locale/programs/locfile.h +++ b/locale/programs/locfile.h @@ -71,6 +71,8 @@ extern void write_all_categories (struct localedef_t *definitions, @@ -521,7 +521,7 @@ index 3407e13c13..0bb556caf8 100644 + #endif /* locfile.h */ diff --git a/locale/setlocale.c b/locale/setlocale.c -index 19acc4b2c7..c89d3b87ad 100644 +index e4de907e1f..b5d8f5c17d 100644 --- a/locale/setlocale.c +++ b/locale/setlocale.c @@ -64,36 +64,6 @@ static char *const _nl_current_used[] = @@ -562,5 +562,5 @@ index 19acc4b2c7..c89d3b87ad 100644 # define WEAK_POSTLOAD(postload) weak_extern (postload) #else -- -2.13.2 +2.16.1 diff --git a/meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch b/meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch index 9e580d44b1..ae708ef83e 100644 --- a/meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch +++ b/meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch @@ -1,7 +1,7 @@ -From cb4d00eac7f84092314de593626eea40f9529038 Mon Sep 17 00:00:00 2001 +From 9d71526be21abe68dd8ca3a5a219445851bbc2f4 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 20 Apr 2016 21:11:00 -0700 -Subject: [PATCH 23/25] Define DUMMY_LOCALE_T if not defined +Subject: [PATCH 23/27] Define DUMMY_LOCALE_T if not defined This is a hack to fix building the locale bits on an older CentOs 5.X machine @@ -14,7 +14,7 @@ Signed-off-by: Khem Raj 1 file changed, 3 insertions(+) diff --git a/locale/programs/config.h b/locale/programs/config.h -index 5b416be0d8..79e66eed5e 100644 +index 9956cd8446..04342f3644 100644 --- a/locale/programs/config.h +++ b/locale/programs/config.h @@ -19,6 +19,9 @@ @@ -28,5 +28,5 @@ index 5b416be0d8..79e66eed5e 100644 #define PACKAGE _libc_intl_domainname #ifndef VERSION -- -2.13.2 +2.16.1 diff --git a/meta/recipes-core/glibc/glibc/0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch b/meta/recipes-core/glibc/glibc/0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch index 0b59352536..42ff667811 100644 --- a/meta/recipes-core/glibc/glibc/0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch +++ b/meta/recipes-core/glibc/glibc/0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch @@ -1,7 +1,7 @@ -From a784742739c90eea0d4ccbbd073a067d55ca95e8 Mon Sep 17 00:00:00 2001 +From 03873af286f1dab1062f598d6deb774ce513421d Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Thu, 18 Aug 2016 14:07:58 -0500 -Subject: [PATCH 24/25] elf/dl-deps.c: Make _dl_build_local_scope breadth first +Subject: [PATCH 24/27] 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 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/elf/dl-deps.c b/elf/dl-deps.c -index 1b8bac6593..c616808f31 100644 +index c975fcffd7..6ee58c74e0 100644 --- a/elf/dl-deps.c +++ b/elf/dl-deps.c -@@ -73,13 +73,19 @@ _dl_build_local_scope (struct link_map **list, struct link_map *map) +@@ -72,13 +72,19 @@ _dl_build_local_scope (struct link_map **list, struct link_map *map) { struct link_map **p = list; struct link_map **q; @@ -52,5 +52,5 @@ index 1b8bac6593..c616808f31 100644 } -- -2.13.2 +2.16.1 diff --git a/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch b/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch index 09ad04a4d4..7f5d1421d3 100644 --- a/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch +++ b/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch @@ -1,7 +1,7 @@ -From f3a670496c8fe6d4acf045f5b167a19cf41b044e Mon Sep 17 00:00:00 2001 +From 56dab024751941c07eb479f47ef6682e2168c86a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Rosen?= Date: Mon, 22 Aug 2016 16:09:25 +0200 -Subject: [PATCH 25/25] locale: fix hard-coded reference to gcc -E +Subject: [PATCH 25/27] 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 @@ -34,5 +34,5 @@ index 30d3f2f195..e97653017c 100644 sub cstrlen { -- -2.13.2 +2.16.1 diff --git a/meta/recipes-core/glibc/glibc/0027-glibc-reset-dl-load-write-lock-after-forking.patch b/meta/recipes-core/glibc/glibc/0026-reset-dl_load_write_lock-after-forking.patch similarity index 63% rename from meta/recipes-core/glibc/glibc/0027-glibc-reset-dl-load-write-lock-after-forking.patch rename to meta/recipes-core/glibc/glibc/0026-reset-dl_load_write_lock-after-forking.patch index 777b253405..eca1193dd3 100644 --- a/meta/recipes-core/glibc/glibc/0027-glibc-reset-dl-load-write-lock-after-forking.patch +++ b/meta/recipes-core/glibc/glibc/0026-reset-dl_load_write_lock-after-forking.patch @@ -1,7 +1,7 @@ -From a6bb73d1cfd20a73fbbe6076008376fb87879d1b Mon Sep 17 00:00:00 2001 -From: Yuanjie Huang -Date: Thu, 18 Aug 2016 17:59:13 +0800 -Subject: [PATCH] reset dl_load_write_lock after forking +From 847d37d5a34e4bf294de4ba98de3668950e28bc7 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 27 Jan 2018 10:05:07 -0800 +Subject: [PATCH 26/27] reset dl_load_write_lock after forking The patch in this Bugzilla entry was requested by a customer: @@ -10,28 +10,31 @@ The patch in this Bugzilla entry was requested by a customer: The __libc_fork() code reset dl_load_lock, but it also needed to reset dl_load_write_lock. The patch has not yet been integrated upstream. -Upstream-Status: Pending [ Not Author See bugzilla] +Upstream-Status: Pending [ No Author See bugzilla] Signed-off-by: Damodar Sonone Signed-off-by: Yuanjie Huang +Signed-off-by: Khem Raj --- - sysdeps/nptl/fork.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) + sysdeps/nptl/fork.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sysdeps/nptl/fork.c b/sysdeps/nptl/fork.c -index 2b9ae4b..3d0b8da 100644 +index 846fa49ef2..f87506f398 100644 --- a/sysdeps/nptl/fork.c +++ b/sysdeps/nptl/fork.c -@@ -174,8 +174,9 @@ __libc_fork (void) - /* Reset locks in the I/O code. */ - _IO_list_resetlock (); +@@ -194,9 +194,9 @@ __libc_fork (void) + _IO_list_resetlock (); + } - /* Reset the lock the dynamic loader uses to protect its data. */ + /* Reset the locks the dynamic loader uses to protect its data. */ __rtld_lock_initialize (GL(dl_load_lock)); +- + __rtld_lock_initialize (GL(dl_load_write_lock)); - /* Run the handlers registered for the child. */ while (allp != NULL) + { -- -1.9.1 +2.16.1 + diff --git a/meta/recipes-core/glibc/glibc/0028-Bug-4578-add-ld.so-lock-while-fork.patch b/meta/recipes-core/glibc/glibc/0027-Acquire-ld.so-lock-before-switching-to-malloc_atfork.patch similarity index 76% rename from meta/recipes-core/glibc/glibc/0028-Bug-4578-add-ld.so-lock-while-fork.patch rename to meta/recipes-core/glibc/glibc/0027-Acquire-ld.so-lock-before-switching-to-malloc_atfork.patch index f76237a46e..9ec234bd51 100644 --- a/meta/recipes-core/glibc/glibc/0028-Bug-4578-add-ld.so-lock-while-fork.patch +++ b/meta/recipes-core/glibc/glibc/0027-Acquire-ld.so-lock-before-switching-to-malloc_atfork.patch @@ -1,4 +1,9 @@ -The patch in this Bugzilla entry was requested by a customer: +From 94225ab4bcc1613531558a632270b5edce779bc9 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 27 Jan 2018 10:08:04 -0800 +Subject: [PATCH 27/27] Acquire ld.so lock before switching to malloc_atfork + +The patch is from https://sourceware.org/bugzilla/show_bug.cgi?id=4578 If a thread happens to hold dl_load_lock and have r_state set to RT_ADD or @@ -13,6 +18,7 @@ from the parent path. The child path is initialized as currently done. This is essentially pthreads_atfork, but forced to be first because the acquisition of dl_load_lock must happen before malloc_atfork is active to avoid a deadlock. + The patch has not yet been integrated upstream. Upstream-Status: Pending [ Not Author See bugzilla] @@ -20,11 +26,15 @@ Upstream-Status: Pending [ Not Author See bugzilla] Signed-off-by: Raghunath Lolur Signed-off-by: Yuanjie Huang Signed-off-by: Zhixiong Chi +Signed-off-by: Khem Raj +--- + sysdeps/nptl/fork.c | 9 +++++++++ + 1 file changed, 9 insertions(+) -Index: git/sysdeps/nptl/fork.c -=================================================================== ---- git.orig/sysdeps/nptl/fork.c 2017-08-03 16:02:15.674704080 +0800 -+++ git/sysdeps/nptl/fork.c 2017-08-04 18:15:02.463362015 +0800 +diff --git a/sysdeps/nptl/fork.c b/sysdeps/nptl/fork.c +index f87506f398..225e7b51f8 100644 +--- a/sysdeps/nptl/fork.c ++++ b/sysdeps/nptl/fork.c @@ -25,6 +25,7 @@ #include #include @@ -33,7 +43,7 @@ Index: git/sysdeps/nptl/fork.c #include #include #include -@@ -60,6 +61,10 @@ +@@ -60,6 +61,10 @@ __libc_fork (void) but our current fork implementation is not. */ bool multiple_threads = THREAD_GETMEM (THREAD_SELF, header.multiple_threads); @@ -44,7 +54,7 @@ Index: git/sysdeps/nptl/fork.c /* 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; -@@ -247,6 +252,10 @@ +@@ -246,6 +251,10 @@ __libc_fork (void) allp = allp->next; } @@ -55,3 +65,6 @@ Index: git/sysdeps/nptl/fork.c } return pid; +-- +2.16.1 + diff --git a/meta/recipes-core/glibc/glibc/0029-malloc-add-missing-arena-lock-in-malloc-info.patch b/meta/recipes-core/glibc/glibc/0029-malloc-add-missing-arena-lock-in-malloc-info.patch deleted file mode 100644 index 626e0e9039..0000000000 --- a/meta/recipes-core/glibc/glibc/0029-malloc-add-missing-arena-lock-in-malloc-info.patch +++ /dev/null @@ -1,172 +0,0 @@ -From: Florian Weimer -Date: Wed, 15 Nov 2017 11:39:01 +0100 -Subject: [PATCH] malloc: Add missing arena lock in malloc_info [BZ #22408] - -Obtain the size information while the arena lock is acquired, and only -print it later. - -Upstream-Status: Backport - -Signed-off-by: Zhixiong Chi - -Index: git/malloc/Makefile -=================================================================== ---- git.orig/malloc/Makefile 2017-09-04 17:34:06.758018978 +0800 -+++ git/malloc/Makefile 2017-11-20 14:57:43.440337572 +0800 -@@ -35,6 +35,7 @@ - tst-interpose-thread \ - tst-alloc_buffer \ - tst-malloc-tcache-leak \ -+ tst-malloc_info \ - - tests-static := \ - tst-interpose-static-nothread \ -@@ -245,3 +246,5 @@ - $(evaluate-test) - - $(objpfx)tst-malloc-tcache-leak: $(shared-thread-library) -+ -+$(objpfx)tst-malloc_info: $(shared-thread-library) -Index: git/malloc/malloc.c -=================================================================== ---- git.orig/malloc/malloc.c 2017-09-04 17:34:06.758018978 +0800 -+++ git/malloc/malloc.c 2017-11-20 15:01:02.412338959 +0800 -@@ -5547,6 +5547,15 @@ - avail += sizes[NFASTBINS - 1 + i].total; - } - -+ size_t heap_size = 0; -+ size_t heap_mprotect_size = 0; -+ if (ar_ptr != &main_arena) -+ { -+ heap_info *heap = heap_for_ptr (top (ar_ptr)); -+ heap_size = heap->size; -+ heap_mprotect_size = heap->mprotect_size; -+ } -+ - __libc_lock_unlock (ar_ptr->mutex); - - total_nfastblocks += nfastblocks; -@@ -5580,13 +5589,12 @@ - - if (ar_ptr != &main_arena) - { -- heap_info *heap = heap_for_ptr (top (ar_ptr)); - fprintf (fp, - "\n" - "\n", -- heap->size, heap->mprotect_size); -- total_aspace += heap->size; -- total_aspace_mprotect += heap->mprotect_size; -+ heap_size, heap_mprotect_size); -+ total_aspace += heap_size; -+ total_aspace_mprotect += heap_mprotect_size; - } - else - { -Index: git/malloc/tst-malloc_info.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ git/malloc/tst-malloc_info.c 2017-11-20 15:02:03.208339383 +0800 -@@ -0,0 +1,101 @@ -+/* Smoke test for malloc_info. -+ Copyright (C) 2017 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 -+ . */ -+ -+/* The purpose of this test is to provide a quick way to run -+ malloc_info in a multi-threaded process. */ -+ -+#include -+#include -+#include -+#include -+#include -+ -+/* This barrier is used to have the main thread wait until the helper -+ threads have performed their allocations. */ -+static pthread_barrier_t barrier; -+ -+enum -+ { -+ /* Number of threads performing allocations. */ -+ thread_count = 4, -+ -+ /* Amount of memory allocation per thread. This should be large -+ enough to cause the allocation of multiple heaps per arena. */ -+ per_thread_allocations -+ = sizeof (void *) == 4 ? 16 * 1024 * 1024 : 128 * 1024 * 1024, -+ }; -+ -+static void * -+allocation_thread_function (void *closure) -+{ -+ struct list -+ { -+ struct list *next; -+ long dummy[4]; -+ }; -+ -+ struct list *head = NULL; -+ size_t allocated = 0; -+ while (allocated < per_thread_allocations) -+ { -+ struct list *new_head = xmalloc (sizeof (*new_head)); -+ allocated += sizeof (*new_head); -+ new_head->next = head; -+ head = new_head; -+ } -+ -+ xpthread_barrier_wait (&barrier); -+ -+ /* Main thread prints first statistics here. */ -+ -+ xpthread_barrier_wait (&barrier); -+ -+ while (head != NULL) -+ { -+ struct list *next_head = head->next; -+ free (head); -+ head = next_head; -+ } -+ -+ return NULL; -+} -+ -+static int -+do_test (void) -+{ -+ xpthread_barrier_init (&barrier, NULL, thread_count + 1); -+ -+ pthread_t threads[thread_count]; -+ for (size_t i = 0; i < array_length (threads); ++i) -+ threads[i] = xpthread_create (NULL, allocation_thread_function, NULL); -+ -+ xpthread_barrier_wait (&barrier); -+ puts ("info: After allocation:"); -+ malloc_info (0, stdout); -+ -+ xpthread_barrier_wait (&barrier); -+ for (size_t i = 0; i < array_length (threads); ++i) -+ xpthread_join (threads[i]); -+ -+ puts ("\ninfo: After deallocation:"); -+ malloc_info (0, stdout); -+ -+ return 0; -+} -+ -+#include diff --git a/meta/recipes-core/glibc/glibc/CVE-2017-15671.patch b/meta/recipes-core/glibc/glibc/CVE-2017-15671.patch deleted file mode 100644 index 9a08784106..0000000000 --- a/meta/recipes-core/glibc/glibc/CVE-2017-15671.patch +++ /dev/null @@ -1,65 +0,0 @@ -From f1cf98b583787cfb6278baea46e286a0ee7567fd Mon Sep 17 00:00:00 2001 -From: Paul Eggert -Date: Sun, 22 Oct 2017 10:00:57 +0200 -Subject: [PATCH] glob: Fix buffer overflow during GLOB_TILDE unescaping [BZ - #22332] - -(cherry picked from commit a159b53fa059947cc2548e3b0d5bdcf7b9630ba8) - -Upstream-Status: Backport -CVE: CVE-2017-15671 -Signed-off-by: Armin Kuster - ---- - ChangeLog | 6 ++++++ - NEWS | 4 ++++ - posix/glob.c | 4 ++-- - 3 files changed, 12 insertions(+), 2 deletions(-) - -Index: git/NEWS -=================================================================== ---- git.orig/NEWS -+++ git/NEWS -@@ -20,6 +20,10 @@ Security related changes: - on the stack or the heap, depending on the length of the user name). - Reported by Tim Rühsen. - -+ The glob function, when invoked with GLOB_TILDE and without -+ GLOB_NOESCAPE, could write past the end of a buffer while -+ unescaping user names. Reported by Tim Rühsen. -+ - The following bugs are resolved with this release: - - [16750] ldd: Never run file directly. -Index: git/posix/glob.c -=================================================================== ---- git.orig/posix/glob.c -+++ git/posix/glob.c -@@ -850,11 +850,11 @@ glob (const char *pattern, int flags, in - char *p = mempcpy (newp, dirname + 1, - unescape - dirname - 1); - char *q = unescape; -- while (*q != '\0') -+ while (q != end_name) - { - if (*q == '\\') - { -- if (q[1] == '\0') -+ if (q + 1 == end_name) - { - /* "~fo\\o\\" unescape to user_name "foo\\", - but "~fo\\o\\/" unescape to user_name -Index: git/ChangeLog -=================================================================== ---- git.orig/ChangeLog -+++ git/ChangeLog -@@ -1,3 +1,9 @@ -+2017-10-22 Paul Eggert -+ -+ [BZ #22332] -+ * posix/glob.c (__glob): Fix buffer overflow during GLOB_TILDE -+ unescaping. -+ - 2017-10-13 James Clarke - - * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela): diff --git a/meta/recipes-core/glibc/glibc/CVE-2017-16997.patch b/meta/recipes-core/glibc/glibc/CVE-2017-16997.patch deleted file mode 100644 index d9bde7f20a..0000000000 --- a/meta/recipes-core/glibc/glibc/CVE-2017-16997.patch +++ /dev/null @@ -1,151 +0,0 @@ -From 4ebd0c4191c6073cc8a7c5fdcf1d182c4719bcbb Mon Sep 17 00:00:00 2001 -From: Aurelien Jarno -Date: Sat, 30 Dec 2017 10:54:23 +0100 -Subject: [PATCH] elf: Check for empty tokens before dynamic string token - expansion [BZ #22625] - -The fillin_rpath function in elf/dl-load.c loops over each RPATH or -RUNPATH tokens and interprets empty tokens as the current directory -("./"). In practice the check for empty token is done *after* the -dynamic string token expansion. The expansion process can return an -empty string for the $ORIGIN token if __libc_enable_secure is set -or if the path of the binary can not be determined (/proc not mounted). - -Fix that by moving the check for empty tokens before the dynamic string -token expansion. In addition, check for NULL pointer or empty strings -return by expand_dynamic_string_token. - -The above changes highlighted a bug in decompose_rpath, an empty array -is represented by the first element being NULL at the fillin_rpath -level, but by using a -1 pointer in decompose_rpath and other functions. - -Changelog: - [BZ #22625] - * elf/dl-load.c (fillin_rpath): Check for empty tokens before dynamic - string token expansion. Check for NULL pointer or empty string possibly - returned by expand_dynamic_string_token. - (decompose_rpath): Check for empty path after dynamic string - token expansion. -(cherry picked from commit 3e3c904daef69b8bf7d5cc07f793c9f07c3553ef) - -Upstream-Status: Backport -CVE: CVE-2017-16997 -Signed-off-by: Armin Kuster - ---- - ChangeLog | 10 ++++++++++ - NEWS | 4 ++++ - elf/dl-load.c | 49 +++++++++++++++++++++++++++++++++---------------- - 3 files changed, 47 insertions(+), 16 deletions(-) - -Index: git/NEWS -=================================================================== ---- git.orig/NEWS -+++ git/NEWS -@@ -211,6 +211,10 @@ Security related changes: - on the stack or the heap, depending on the length of the user name). - Reported by Tim Rühsen. - -+ CVE-2017-16997: Incorrect handling of RPATH or RUNPATH containing $ORIGIN -+ for AT_SECURE or SUID binaries could be used to load libraries from the -+ current directory. -+ - The following bugs are resolved with this release: - - [984] network: Respond to changed resolv.conf in gethostbyname -Index: git/elf/dl-load.c -=================================================================== ---- git.orig/elf/dl-load.c -+++ git/elf/dl-load.c -@@ -433,32 +433,41 @@ fillin_rpath (char *rpath, struct r_sear - { - char *cp; - size_t nelems = 0; -- char *to_free; - - while ((cp = __strsep (&rpath, sep)) != NULL) - { - struct r_search_path_elem *dirp; -+ char *to_free = NULL; -+ size_t len = 0; - -- to_free = cp = expand_dynamic_string_token (l, cp, 1); -+ /* `strsep' can pass an empty string. */ -+ if (*cp != '\0') -+ { -+ to_free = cp = expand_dynamic_string_token (l, cp, 1); - -- size_t len = strlen (cp); -+ /* expand_dynamic_string_token can return NULL in case of empty -+ path or memory allocation failure. */ -+ if (cp == NULL) -+ continue; -+ -+ /* Compute the length after dynamic string token expansion and -+ ignore empty paths. */ -+ len = strlen (cp); -+ if (len == 0) -+ { -+ free (to_free); -+ continue; -+ } - -- /* `strsep' can pass an empty string. This has to be -- interpreted as `use the current directory'. */ -- if (len == 0) -- { -- static const char curwd[] = "./"; -- cp = (char *) curwd; -+ /* Remove trailing slashes (except for "/"). */ -+ while (len > 1 && cp[len - 1] == '/') -+ --len; -+ -+ /* Now add one if there is none so far. */ -+ if (len > 0 && cp[len - 1] != '/') -+ cp[len++] = '/'; - } - -- /* Remove trailing slashes (except for "/"). */ -- while (len > 1 && cp[len - 1] == '/') -- --len; -- -- /* Now add one if there is none so far. */ -- if (len > 0 && cp[len - 1] != '/') -- cp[len++] = '/'; -- - /* Make sure we don't use untrusted directories if we run SUID. */ - if (__glibc_unlikely (check_trusted) && !is_trusted_path (cp, len)) - { -@@ -621,6 +630,14 @@ decompose_rpath (struct r_search_path_st - necessary. */ - free (copy); - -+ /* There is no path after expansion. */ -+ if (result[0] == NULL) -+ { -+ free (result); -+ sps->dirs = (struct r_search_path_elem **) -1; -+ return false; -+ } -+ - sps->dirs = result; - /* The caller will change this value if we haven't used a real malloc. */ - sps->malloced = 1; -Index: git/ChangeLog -=================================================================== ---- git.orig/ChangeLog -+++ git/ChangeLog -@@ -1,3 +1,13 @@ -+2017-12-30 Aurelien Jarno -+ Dmitry V. Levin -+ -+ [BZ #22625] -+ * elf/dl-load.c (fillin_rpath): Check for empty tokens before dynamic -+ string token expansion. Check for NULL pointer or empty string possibly -+ returned by expand_dynamic_string_token. -+ (decompose_rpath): Check for empty path after dynamic string -+ token expansion. -+ - 2017-10-22 Paul Eggert - - [BZ #22332] diff --git a/meta/recipes-core/glibc/glibc/CVE-2017-17426.patch b/meta/recipes-core/glibc/glibc/CVE-2017-17426.patch deleted file mode 100644 index bfa58bc1d6..0000000000 --- a/meta/recipes-core/glibc/glibc/CVE-2017-17426.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 34697694e8a93b325b18f25f7dcded55d6baeaf6 Mon Sep 17 00:00:00 2001 -From: Arjun Shankar -Date: Thu, 30 Nov 2017 13:31:45 +0100 -Subject: [PATCH] Fix integer overflow in malloc when tcache is enabled [BZ - #22375] - -When the per-thread cache is enabled, __libc_malloc uses request2size (which -does not perform an overflow check) to calculate the chunk size from the -requested allocation size. This leads to an integer overflow causing malloc -to incorrectly return the last successfully allocated block when called with -a very large size argument (close to SIZE_MAX). - -This commit uses checked_request2size instead, removing the overflow. - -Upstream-Status: Backport -CVE: CVE-2017-17426 -Signed-off-by: Huang Qiyu -Rebase on new master -Signed-off-by: Armin Kuster - ---- - ChangeLog | 6 ++++++ - malloc/malloc.c | 3 ++- - 2 files changed, 8 insertions(+), 1 deletion(-) - -Index: git/malloc/malloc.c -=================================================================== ---- git.orig/malloc/malloc.c -+++ git/malloc/malloc.c -@@ -3064,7 +3064,8 @@ __libc_malloc (size_t bytes) - return (*hook)(bytes, RETURN_ADDRESS (0)); - #if USE_TCACHE - /* int_free also calls request2size, be careful to not pad twice. */ -- size_t tbytes = request2size (bytes); -+ size_t tbytes; -+ checked_request2size (bytes, tbytes); - size_t tc_idx = csize2tidx (tbytes); - - MAYBE_INIT_TCACHE (); -Index: git/ChangeLog -=================================================================== ---- git.orig/ChangeLog -+++ git/ChangeLog -@@ -1,3 +1,9 @@ -+2017-11-30 Arjun Shankar -+ -+ [BZ #22375] -+ * malloc/malloc.c (__libc_malloc): Use checked_request2size -+ instead of request2size. -+ - 2017-12-30 Aurelien Jarno - Dmitry V. Levin - diff --git a/meta/recipes-core/glibc/glibc_2.26.bb b/meta/recipes-core/glibc/glibc_2.27.bb similarity index 89% rename from meta/recipes-core/glibc/glibc_2.26.bb rename to meta/recipes-core/glibc/glibc_2.27.bb index 7eb56b328a..e9d4117a47 100644 --- a/meta/recipes-core/glibc/glibc_2.26.bb +++ b/meta/recipes-core/glibc/glibc_2.27.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSES;md5=e9a558e243b36d3209f380deb394b213 \ DEPENDS += "gperf-native bison-native" -SRCREV ?= "77f921dac17c5fa99bd9e926d926c327982895f7" +SRCREV ?= "23158b08a0908f381459f273a984c6fd328363cb" SRCBRANCH ?= "release/${PV}/master" @@ -40,12 +40,8 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ file://0023-Define-DUMMY_LOCALE_T-if-not-defined.patch \ file://0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch \ file://0025-locale-fix-hard-coded-reference-to-gcc-E.patch \ - file://0027-glibc-reset-dl-load-write-lock-after-forking.patch \ - file://0028-Bug-4578-add-ld.so-lock-while-fork.patch \ - file://0029-malloc-add-missing-arena-lock-in-malloc-info.patch \ - file://CVE-2017-15671.patch \ - file://CVE-2017-16997.patch \ - file://CVE-2017-17426.patch \ + file://0026-reset-dl_load_write_lock-after-forking.patch \ + file://0027-Acquire-ld.so-lock-before-switching-to-malloc_atfork.patch \ " NATIVESDKFIXES ?= "" @@ -106,10 +102,6 @@ do_configure () { # version check and doesn't really help with anything (cd ${S} && gnu-configize) || die "failure in running gnu-configize" find ${S} -name "configure" | xargs touch - # "plural.c" may or may not get regenerated from "plural.y" so we - # touch "plural.y" to make sure it does. (This should not be needed - # for glibc version 2.26+) - find ${S}/intl -name "plural.y" | xargs touch CPPFLAGS="" oe_runconf }