mirror of
https://git.yoctoproject.org/poky
synced 2026-02-27 03:49:41 +01:00
glibc: Upgrade to 2.32 release
Drop 0001-localedef-Add-hardlink-resolver-to-build.patch as its applied to localedef upstream Drop CVE patches which are already part of 2.32 release Drop unused attribute patch as its fixed differently in 2.32 Add a patch to mitigate the sideffect of [1] for ppc which detect wrong cpu in OE since we are cross compiling [1] https://sourceware.org/git/?p=glibc.git;a=commit;h=146fea07640387c78e334933de24b6353e1f0eba (From OE-Core rev: fe3d5136ef02721f9bbe01d98c1743b8dbcb69c5) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -20,7 +20,7 @@ GCCVERSION ?= "10.%"
|
||||
SDKGCCVERSION ?= "${GCCVERSION}"
|
||||
BINUVERSION ?= "2.35%"
|
||||
GDBVERSION ?= "9.%"
|
||||
GLIBCVERSION ?= "2.31%"
|
||||
GLIBCVERSION ?= "2.32"
|
||||
LINUXLIBCVERSION ?= "5.4%"
|
||||
QEMUVERSION ?= "5.0%"
|
||||
GOVERSION ?= "1.14%"
|
||||
|
||||
@@ -22,19 +22,17 @@ FILESEXTRAPATHS =. "${FILE_DIRNAME}/${PN}:${FILE_DIRNAME}/glibc:"
|
||||
SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
|
||||
git://github.com/kraj/localedef;branch=master;name=localedef;destsuffix=git/localedef \
|
||||
\
|
||||
file://0001-localedef-Add-hardlink-resolver-to-build.patch;patchdir=localedef \
|
||||
\
|
||||
file://0001-localedef-Add-hardlink-resolver-from-util-linux.patch \
|
||||
file://0002-localedef-fix-ups-hardlink-to-make-it-compile.patch \
|
||||
\
|
||||
file://0018-timezone-re-written-tzselect-as-posix-sh.patch \
|
||||
file://0019-Remove-bash-dependency-for-nscd-init-script.patch \
|
||||
file://0020-eglibc-Cross-building-and-testing-instructions.patch \
|
||||
file://0021-eglibc-Help-bootstrap-cross-toolchain.patch \
|
||||
file://0022-eglibc-Resolve-__fpscr_values-on-SH4.patch \
|
||||
file://0023-eglibc-Forward-port-cross-locale-generation-support.patch \
|
||||
file://0024-Define-DUMMY_LOCALE_T-if-not-defined.patch \
|
||||
file://0025-localedef-add-to-archive-uses-a-hard-coded-locale-pa.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-Resolve-__fpscr_values-on-SH4.patch \
|
||||
file://0021-eglibc-Forward-port-cross-locale-generation-support.patch \
|
||||
file://0022-Define-DUMMY_LOCALE_T-if-not-defined.patch \
|
||||
file://0023-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \
|
||||
"
|
||||
# Makes for a rather long rev (22 characters), but...
|
||||
#
|
||||
@@ -22,4 +22,4 @@ ARM_INSTRUCTION_SET_armv6 = "arm"
|
||||
#
|
||||
COMPATIBLE_HOST_libc-musl_class-target = "null"
|
||||
|
||||
PV = "2.31"
|
||||
PV = "2.32"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
SRCBRANCH ?= "release/2.31/master"
|
||||
PV = "2.31+git${SRCPV}"
|
||||
SRCREV_glibc ?= "109474122400ca7d60782b131dc867a5c1f2fe55"
|
||||
SRCREV_localedef ?= "cd9f958c4c94a638fa7b2b4e21627364f1a1a655"
|
||||
SRCBRANCH ?= "release/2.32/master"
|
||||
PV = "2.32"
|
||||
SRCREV_glibc ?= "3de512be7ea6053255afed6154db9ee31d4e557a"
|
||||
SRCREV_localedef ?= "b6ca7c146c6d2c93cddfa61e395cb8a196e3d46f"
|
||||
|
||||
GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git"
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 3dcf144e998aed17b3fb957a255b1e923ba07d71 Mon Sep 17 00:00:00 2001
|
||||
From 5db90855621a81d02f1434d5602cefea8c45de1c Mon Sep 17 00:00:00 2001
|
||||
From: Jason Wessel <jason.wessel@windriver.com>
|
||||
Date: Sat, 7 Dec 2019 09:59:22 -0800
|
||||
Subject: [PATCH] localedef: Add hardlink resolver from util-linux
|
||||
Subject: [PATCH 01/29] localedef: Add hardlink resolver from util-linux
|
||||
|
||||
The hard link resolver that is built into localedef cannot be run in
|
||||
parallel. It will search sibling directories (which are be processed
|
||||
@@ -1128,3 +1128,6 @@ index 0000000000..0129a85e2e
|
||||
+}
|
||||
+
|
||||
+#endif
|
||||
--
|
||||
2.27.0
|
||||
|
||||
|
||||
@@ -1,52 +0,0 @@
|
||||
From 56ae260ac24ade94e2e0e77c81751312372d253f Mon Sep 17 00:00:00 2001
|
||||
From: Jason Wessel <jason.wessel@windriver.com>
|
||||
Date: Sat, 7 Dec 2019 09:56:23 -0800
|
||||
Subject: [PATCH] localedef: Add hardlink resolver to build
|
||||
|
||||
The sourcecode for this is imported from util-linux and is kept with
|
||||
glibc sources
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
Makefile.in | 8 +++++++-
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile.in b/Makefile.in
|
||||
index 77fbded..a87e5b2 100644
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -40,6 +40,8 @@ WARNFLAGS = -Wall -Wno-format
|
||||
FULLCC = $(CC) $(CPPFLAGS) $(CFLAGS) \
|
||||
$(DEFINES) $(INCLUDES) $(WARNFLAGS)
|
||||
|
||||
+CROSS_LOCALEDEF_HARDLINK_OBJS = cross-localedef-hardlink.o
|
||||
+
|
||||
LOCALEDEF_OBJS = charmap.o charmap-dir.o ld-address.o ld-collate.o \
|
||||
ld-ctype.o ld-identification.o ld-measurement.o \
|
||||
ld-messages.o ld-monetary.o ld-name.o ld-numeric.o \
|
||||
@@ -54,11 +56,14 @@ LOCALEDEF_OBJS = charmap.o charmap-dir.o ld-address.o ld-collate.o \
|
||||
asprintf.o getdelim.o localedef_extra.o \
|
||||
obstack_printf.o vasprintf.o
|
||||
|
||||
-all: localedef$(EXEEXT)
|
||||
+all: localedef$(EXEEXT) cross-localedef-hardlink$(EXEEXT)
|
||||
|
||||
localedef$(EXEEXT): $(LOCALEDEF_OBJS)
|
||||
$(CC) -o $@ $(LOCALEDEF_OBJS) $(LIBS)
|
||||
|
||||
+cross-localedef-hardlink$(EXEEXT): $(CROSS_LOCALEDEF_HARDLINK_OBJS)
|
||||
+ $(CC) -o $@ $(CROSS_LOCALEDEF_HARDLINK_OBJS) $(LIBS)
|
||||
+
|
||||
clean:
|
||||
rm -f locale$(EXEEXT) $(LOCALEDEF_OBJS)
|
||||
|
||||
@@ -77,6 +82,7 @@ clean:
|
||||
%.o: $(srcdir)/%.c
|
||||
$(FULLCC) -c -o $@ $<
|
||||
|
||||
+cross-localedef-hardlink.o: glibc/locale/programs/cross-localedef-hardlink.c
|
||||
charmap.o: glibc/locale/programs/charmap.c
|
||||
charmap-dir.o: glibc/locale/programs/charmap-dir.c
|
||||
ld-address.o: glibc/locale/programs/ld-address.c
|
||||
@@ -1,7 +1,7 @@
|
||||
From b52dba15527380cc18635e3696e0ef87efee9a84 Mon Sep 17 00:00:00 2001
|
||||
From ab022ce3c1c01fd6c850f541a33efd0cacabe052 Mon Sep 17 00:00:00 2001
|
||||
From: Jason Wessel <jason.wessel@windriver.com>
|
||||
Date: Sat, 7 Dec 2019 10:01:37 -0800
|
||||
Subject: [PATCH] localedef: fix-ups hardlink to make it compile
|
||||
Subject: [PATCH 02/29] localedef: fix-ups hardlink to make it compile
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
|
||||
@@ -236,3 +236,6 @@ index 63615896b0..726e6dd948 100644
|
||||
}
|
||||
continue;
|
||||
}
|
||||
--
|
||||
2.27.0
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
From 6987ad183770cb56680ccc4f6ea065a04f31ccb6 Mon Sep 17 00:00:00 2001
|
||||
From de4322ef6d4dc9fc3ee9b69af1c10edbc64a66a3 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] nativesdk-glibc: Look for host system ld.so.cache as well
|
||||
Subject: [PATCH 03/29] nativesdk-glibc: Look for host system ld.so.cache as
|
||||
well
|
||||
|
||||
Upstream-Status: Inappropriate [embedded specific]
|
||||
|
||||
@@ -30,10 +31,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 a6b80f9395..3226f2e531 100644
|
||||
index e39980fb19..565b039b23 100644
|
||||
--- a/elf/dl-load.c
|
||||
+++ b/elf/dl-load.c
|
||||
@@ -2073,6 +2073,14 @@ _dl_map_object (struct link_map *loader, const char *name,
|
||||
@@ -2160,6 +2160,14 @@ _dl_map_object (struct link_map *loader, const char *name,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,7 +49,7 @@ index a6b80f9395..3226f2e531 100644
|
||||
#ifdef USE_LDCONFIG
|
||||
if (fd == -1
|
||||
&& (__glibc_likely ((mode & __RTLD_SECURE) == 0)
|
||||
@@ -2131,14 +2139,6 @@ _dl_map_object (struct link_map *loader, const char *name,
|
||||
@@ -2218,14 +2226,6 @@ _dl_map_object (struct link_map *loader, const char *name,
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -63,3 +64,6 @@ index a6b80f9395..3226f2e531 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.27.0
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
From 7806340c2accc2c51e7e861b618c29fb5609a007 Mon Sep 17 00:00:00 2001
|
||||
From 258c44e4ecffd830cb89d0016d45b2bac765f559 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] nativesdk-glibc: Fix buffer overrun with a relocated SDK
|
||||
Subject: [PATCH 04/29] 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
|
||||
@@ -21,10 +22,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 3226f2e531..7cb8a86fab 100644
|
||||
index 565b039b23..e1b3486549 100644
|
||||
--- a/elf/dl-load.c
|
||||
+++ b/elf/dl-load.c
|
||||
@@ -1773,7 +1773,19 @@ open_path (const char *name, size_t namelen, int mode,
|
||||
@@ -1860,7 +1860,19 @@ open_path (const char *name, size_t namelen, int mode,
|
||||
given on the command line when rtld is run directly. */
|
||||
return -1;
|
||||
|
||||
@@ -44,3 +45,6 @@ index 3226f2e531..7cb8a86fab 100644
|
||||
do
|
||||
{
|
||||
struct r_search_path_elem *this_dir = *dirs;
|
||||
--
|
||||
2.27.0
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
From 1b97befbe693eb93a77b6098f6ae1394a53462f4 Mon Sep 17 00:00:00 2001
|
||||
From 19cd858f5f04a6ac584fbd89a2fbc51791263b85 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] nativesdk-glibc: Raise the size of arrays containing dl paths
|
||||
Subject: [PATCH 05/29] 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
|
||||
@@ -25,7 +26,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
7 files changed, 14 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/elf/dl-cache.c b/elf/dl-cache.c
|
||||
index 3eedd9afcf..efdfe5cae7 100644
|
||||
index 93d185e788..e115b18756 100644
|
||||
--- a/elf/dl-cache.c
|
||||
+++ b/elf/dl-cache.c
|
||||
@@ -133,6 +133,10 @@ do \
|
||||
@@ -40,10 +41,10 @@ index 3eedd9afcf..efdfe5cae7 100644
|
||||
_dl_cache_libcmp (const char *p1, const char *p2)
|
||||
{
|
||||
diff --git a/elf/dl-load.c b/elf/dl-load.c
|
||||
index 7cb8a86fab..e32d4aa936 100644
|
||||
index e1b3486549..5226d0c4fa 100644
|
||||
--- a/elf/dl-load.c
|
||||
+++ b/elf/dl-load.c
|
||||
@@ -110,8 +110,8 @@ static size_t max_capstrlen attribute_relro;
|
||||
@@ -111,8 +111,8 @@ static size_t max_capstrlen attribute_relro;
|
||||
gen-trusted-dirs.awk. */
|
||||
#include "trusted-dirs.h"
|
||||
|
||||
@@ -66,10 +67,10 @@ index 331cc1df48..885b2d9476 100644
|
||||
+const char __invoke_dynamic_linker__[4096] __attribute__ ((section (".interp")))
|
||||
= RUNTIME_LINKER;
|
||||
diff --git a/elf/ldconfig.c b/elf/ldconfig.c
|
||||
index 681ed78496..8833ed0a6b 100644
|
||||
index 0c090dca15..6bb6e0fe72 100644
|
||||
--- a/elf/ldconfig.c
|
||||
+++ b/elf/ldconfig.c
|
||||
@@ -168,6 +168,9 @@ static struct argp argp =
|
||||
@@ -171,6 +171,9 @@ static struct argp argp =
|
||||
options, parse_opt, NULL, doc, NULL, more_help, NULL
|
||||
};
|
||||
|
||||
@@ -80,18 +81,18 @@ index 681ed78496..8833ed0a6b 100644
|
||||
a platform. */
|
||||
static int
|
||||
diff --git a/elf/rtld.c b/elf/rtld.c
|
||||
index 553cfbd1b7..39347c2c03 100644
|
||||
index 5b882163fa..db407b5d8b 100644
|
||||
--- a/elf/rtld.c
|
||||
+++ b/elf/rtld.c
|
||||
@@ -175,6 +175,7 @@ dso_name_valid_for_suid (const char *p)
|
||||
@@ -217,6 +217,7 @@ dso_name_valid_for_suid (const char *p)
|
||||
}
|
||||
return *p != '\0';
|
||||
}
|
||||
+extern const char LD_SO_CACHE[4096] __attribute__ ((section (".ldsocache")));
|
||||
|
||||
/* LD_AUDIT variable contents. Must be processed before the
|
||||
audit_list below. */
|
||||
@@ -1222,13 +1223,13 @@ of this helper program; chances are you did not intend to run this program.\n\
|
||||
static void
|
||||
audit_list_init (struct audit_list *list)
|
||||
@@ -1286,13 +1287,13 @@ 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\
|
||||
@@ -135,3 +136,6 @@ index 6b310e9e15..3877311df4 100644
|
||||
#ifndef add_system_dir
|
||||
# define add_system_dir(dir) add_dir (dir)
|
||||
#endif
|
||||
--
|
||||
2.27.0
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From a752857cc342ee5136c9a593037b6ee6ff8af8ee Mon Sep 17 00:00:00 2001
|
||||
From bd0486cab67c3441210aed48caab67418610a765 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] nativesdk-glibc: Allow 64 bit atomics for x86
|
||||
Subject: [PATCH 06/29] 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.
|
||||
@@ -37,3 +37,6 @@ index bb49648374..aa08d3c0a7 100644
|
||||
# define SP_REG "esp"
|
||||
# define SEG_REG "gs"
|
||||
# define BR_CONSTRAINT "r"
|
||||
--
|
||||
2.27.0
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 3df91d1d8b9c7a01b3ef8133c4f9b9764227d583 Mon Sep 17 00:00:00 2001
|
||||
From 9a8bf11ea375a2fe5eddb30bc10943e64d3b96a4 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
|
||||
Subject: [PATCH 07/29] 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
|
||||
@@ -12,16 +12,17 @@ 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(-)
|
||||
locale/findlocale.c | 4 ++--
|
||||
locale/loadarchive.c | 2 +-
|
||||
locale/localeinfo.h | 2 +-
|
||||
locale/programs/locale.c | 7 ++++---
|
||||
4 files changed, 8 insertions(+), 7 deletions(-)
|
||||
|
||||
Index: git/locale/findlocale.c
|
||||
===================================================================
|
||||
--- git.orig/locale/findlocale.c
|
||||
+++ git/locale/findlocale.c
|
||||
@@ -56,7 +56,7 @@ struct __locale_data *const _nl_C[] attr
|
||||
diff --git a/locale/findlocale.c b/locale/findlocale.c
|
||||
index 9cd3b71a6d..84272310e0 100644
|
||||
--- a/locale/findlocale.c
|
||||
+++ b/locale/findlocale.c
|
||||
@@ -56,7 +56,7 @@ struct __locale_data *const _nl_C[] attribute_hidden =
|
||||
which are somehow addressed. */
|
||||
struct loaded_l10nfile *_nl_locale_file_list[__LC_LAST];
|
||||
|
||||
@@ -30,7 +31,7 @@ Index: git/locale/findlocale.c
|
||||
|
||||
/* Checks if the name is actually present, that is, not NULL and not
|
||||
empty. */
|
||||
@@ -166,7 +166,7 @@ _nl_find_locale (const char *locale_path
|
||||
@@ -166,7 +166,7 @@ _nl_find_locale (const char *locale_path, size_t locale_path_len,
|
||||
|
||||
/* Nothing in the archive. Set the default path to search below. */
|
||||
locale_path = _nl_default_locale_path;
|
||||
@@ -39,10 +40,10 @@ Index: git/locale/findlocale.c
|
||||
}
|
||||
else
|
||||
/* We really have to load some data. First see whether the name is
|
||||
Index: git/locale/loadarchive.c
|
||||
===================================================================
|
||||
--- git.orig/locale/loadarchive.c
|
||||
+++ git/locale/loadarchive.c
|
||||
diff --git a/locale/loadarchive.c b/locale/loadarchive.c
|
||||
index ba0fe45648..9737fd4cda 100644
|
||||
--- a/locale/loadarchive.c
|
||||
+++ b/locale/loadarchive.c
|
||||
@@ -42,7 +42,7 @@
|
||||
|
||||
|
||||
@@ -52,11 +53,11 @@ Index: git/locale/loadarchive.c
|
||||
|
||||
/* Size of initial mapping window, optimal if large enough to
|
||||
cover the header plus the initial locale. */
|
||||
Index: git/locale/localeinfo.h
|
||||
===================================================================
|
||||
--- git.orig/locale/localeinfo.h
|
||||
+++ git/locale/localeinfo.h
|
||||
@@ -331,7 +331,7 @@ _nl_lookup_word (locale_t l, int categor
|
||||
diff --git a/locale/localeinfo.h b/locale/localeinfo.h
|
||||
index 1bfe22aa7f..fdc283c69a 100644
|
||||
--- a/locale/localeinfo.h
|
||||
+++ b/locale/localeinfo.h
|
||||
@@ -331,7 +331,7 @@ _nl_lookup_word (locale_t l, int category, int item)
|
||||
}
|
||||
|
||||
/* Default search path if no LOCPATH environment variable. */
|
||||
@@ -65,11 +66,11 @@ Index: git/locale/localeinfo.h
|
||||
|
||||
/* Load the locale data for CATEGORY from the file specified by *NAME.
|
||||
If *NAME is "", use environment variables as specified by POSIX, and
|
||||
Index: git/locale/programs/locale.c
|
||||
===================================================================
|
||||
--- git.orig/locale/programs/locale.c
|
||||
+++ git/locale/programs/locale.c
|
||||
@@ -632,6 +632,7 @@ nameentcmp (const void *a, const void *b
|
||||
diff --git a/locale/programs/locale.c b/locale/programs/locale.c
|
||||
index e2e309c2a1..61a92cdcd1 100644
|
||||
--- a/locale/programs/locale.c
|
||||
+++ b/locale/programs/locale.c
|
||||
@@ -632,6 +632,7 @@ nameentcmp (const void *a, const void *b)
|
||||
((const struct nameent *) b)->name);
|
||||
}
|
||||
|
||||
@@ -77,7 +78,7 @@ Index: git/locale/programs/locale.c
|
||||
|
||||
static int
|
||||
write_archive_locales (void **all_datap, char *linebuf)
|
||||
@@ -645,7 +646,7 @@ write_archive_locales (void **all_datap,
|
||||
@@ -645,7 +646,7 @@ write_archive_locales (void **all_datap, char *linebuf)
|
||||
int fd, ret = 0;
|
||||
uint32_t cnt;
|
||||
|
||||
@@ -86,7 +87,7 @@ Index: git/locale/programs/locale.c
|
||||
if (fd < 0)
|
||||
return 0;
|
||||
|
||||
@@ -700,8 +701,8 @@ write_archive_locales (void **all_datap,
|
||||
@@ -700,8 +701,8 @@ write_archive_locales (void **all_datap, char *linebuf)
|
||||
if (cnt)
|
||||
putchar_unlocked ('\n');
|
||||
|
||||
@@ -97,3 +98,6 @@ Index: git/locale/programs/locale.c
|
||||
|
||||
locrec = (struct locrecent *) (addr + names[cnt].locrec_offset);
|
||||
|
||||
--
|
||||
2.27.0
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 61b6c9737897c5828ef4b40699ee0a74c570034a Mon Sep 17 00:00:00 2001
|
||||
From 59b0a78ae706a540dbd8905bc97c875220d6aeb2 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] fsl e500/e5500/e6500/603e fsqrt implementation
|
||||
Subject: [PATCH 08/29] fsl e500/e5500/e6500/603e fsqrt implementation
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Edmar Wienskoski <edmar@freescale.com>
|
||||
@@ -1579,3 +1579,6 @@ index 0000000000..04ff8cc181
|
||||
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/e6500/fpu/Implies
|
||||
@@ -0,0 +1 @@
|
||||
+powerpc/powerpc64/e6500/fpu
|
||||
--
|
||||
2.27.0
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 4483a83074a340a921e319b88d72166f18e0df0b Mon Sep 17 00:00:00 2001
|
||||
From 78f67f016ca9e3f7a37af86cf6e400cf17cf1d05 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] ppc/sqrt: Fix undefined reference to `__sqrt_finite'
|
||||
Subject: [PATCH 09/29] 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,3 +203,6 @@ index 26fa067abf..9d175122a8 100644
|
||||
return f_washf (b);
|
||||
}
|
||||
+strong_alias (__ieee754_sqrtf, __sqrtf_finite)
|
||||
--
|
||||
2.27.0
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
From 347b2e31d010b04c42e78157a028aa1d58fe0f5e Mon Sep 17 00:00:00 2001
|
||||
From 670b5d70ab62b42ab02a8e18b8fcee2879b8c4a0 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] __ieee754_sqrt{,f} are now inline functions and call out
|
||||
__slow versions
|
||||
Subject: [PATCH 10/29] __ieee754_sqrt{,f} are now inline functions and call
|
||||
out __slow versions
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
@@ -382,3 +382,6 @@ index 9d175122a8..10de1f0cc3 100644
|
||||
+}
|
||||
+
|
||||
strong_alias (__ieee754_sqrtf, __sqrtf_finite)
|
||||
--
|
||||
2.27.0
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
From 8ca8e5cd78cbd37a713e1181f8f6641b57352aa8 Mon Sep 17 00:00:00 2001
|
||||
From de7a7c04a92dbc5d35cb37e47c471e12784cc95e 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] Quote from bug 1443 which explains what the patch does :
|
||||
Subject: [PATCH 11/29] 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().
|
||||
@@ -56,3 +57,6 @@ index 90856779b1..a29bb86c56 100644
|
||||
break;
|
||||
|
||||
case R_ARM_TLS_TPOFF32:
|
||||
--
|
||||
2.27.0
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 21509735678990760d5ebf9d0c65efa4b52b838d Mon Sep 17 00:00:00 2001
|
||||
From c8807899367e64d803585e7dd4b56a1085d5893b Mon Sep 17 00:00:00 2001
|
||||
From: Ting Liu <b28495@freescale.com>
|
||||
Date: Wed, 19 Dec 2012 04:39:57 -0600
|
||||
Subject: [PATCH] eglibc: run libm-err-tab.pl with specific dirs in ${S}
|
||||
Subject: [PATCH 12/29] 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,3 +31,6 @@ index c61e11dcd7..5d859e6f84 100644
|
||||
$(move-if-change) $(objpfx)libm-err-tmp $(objpfx)libm-err.texi
|
||||
touch $@
|
||||
|
||||
--
|
||||
2.27.0
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
From e33deb119734ef443ef44c42a00a569f90e1e149 Mon Sep 17 00:00:00 2001
|
||||
From 86fea3409b89f9d8884053a519282f2f30d7ea87 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] __ieee754_sqrt{,f} are now inline functions and call out
|
||||
__slow versions
|
||||
Subject: [PATCH 13/29] __ieee754_sqrt{,f} are now inline functions and call
|
||||
out __slow versions
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
@@ -56,3 +56,6 @@ index 812653558f..10de1f0cc3 100644
|
||||
float b;
|
||||
#endif
|
||||
{
|
||||
--
|
||||
2.27.0
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From c50cae36e90c41849301a9a668adf31e81e43a07 Mon Sep 17 00:00:00 2001
|
||||
From a3c4f67fb3cb02855073a9cdbcf2881fb53144f0 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] sysdeps/gnu/configure.ac: handle correctly
|
||||
Subject: [PATCH 14/29] sysdeps/gnu/configure.ac: handle correctly
|
||||
$libc_cv_rootsbindir
|
||||
|
||||
Upstream-Status:Pending
|
||||
@@ -37,3 +37,6 @@ index 634fe4de2a..3db1697f4f 100644
|
||||
+ test -n "$libc_cv_rootsbindir" || libc_cv_rootsbindir=/sbin
|
||||
;;
|
||||
esac
|
||||
--
|
||||
2.27.0
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From c421cd7e885497a99179b982dc4a27e8405f8857 Mon Sep 17 00:00:00 2001
|
||||
From 17a602b89cbe53a5a92d0153ccb013a737f028cb 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] 'yes' within the path sets wrong config variables
|
||||
Subject: [PATCH 15/29] '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
|
||||
@@ -29,7 +29,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
12 files changed, 28 insertions(+), 28 deletions(-)
|
||||
|
||||
diff --git a/sysdeps/aarch64/configure b/sysdeps/aarch64/configure
|
||||
index 5bd355a691..3bc5537bc0 100644
|
||||
index ac3cf6fd36..32add94df9 100644
|
||||
--- a/sysdeps/aarch64/configure
|
||||
+++ b/sysdeps/aarch64/configure
|
||||
@@ -148,12 +148,12 @@ else
|
||||
@@ -48,7 +48,7 @@ index 5bd355a691..3bc5537bc0 100644
|
||||
else
|
||||
libc_cv_aarch64_be=no
|
||||
diff --git a/sysdeps/aarch64/configure.ac b/sysdeps/aarch64/configure.ac
|
||||
index 7851dd4dac..6e9238171f 100644
|
||||
index 8b042d6d05..3cdd262951 100644
|
||||
--- a/sysdeps/aarch64/configure.ac
|
||||
+++ b/sysdeps/aarch64/configure.ac
|
||||
@@ -10,8 +10,8 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
|
||||
@@ -258,3 +258,6 @@ 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.27.0
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
From c323125744020a29f79e50dc4d024b55c482eafc 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] Add unused attribute
|
||||
|
||||
Helps in avoiding gcc warning when header is is included in
|
||||
a source file which does not use both functions
|
||||
|
||||
* iconv/gconv_charset.h (strip):
|
||||
Add unused attribute.
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
|
||||
Upstream-Status: Pending
|
||||
---
|
||||
iconv/gconv_charset.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/iconv/gconv_charset.h b/iconv/gconv_charset.h
|
||||
index 348acc089b..fa92465d89 100644
|
||||
--- a/iconv/gconv_charset.h
|
||||
+++ b/iconv/gconv_charset.h
|
||||
@@ -21,7 +21,7 @@
|
||||
#include <locale.h>
|
||||
|
||||
|
||||
-static void
|
||||
+static void __attribute__ ((unused))
|
||||
strip (char *wp, const char *s)
|
||||
{
|
||||
int slash_count = 0;
|
||||
@@ -1,7 +1,7 @@
|
||||
From 2023d88c355b8af6458c8e39ce38b75c1ca4ea2a Mon Sep 17 00:00:00 2001
|
||||
From 4762386b599f5c3287310a69ad3555e0129e0c51 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] timezone: re-written tzselect as posix sh
|
||||
Subject: [PATCH 16/29] timezone: re-written tzselect as posix sh
|
||||
|
||||
To avoid the bash dependency.
|
||||
|
||||
@@ -40,3 +40,6 @@ index 18fce27e24..70745f9d36 100755
|
||||
|
||||
# Output one argument as-is to standard output.
|
||||
# Safer than 'echo', which can mishandle '\' or leading '-'.
|
||||
--
|
||||
2.27.0
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 06da20d9f89907e5f2777537244e6589ca3c9703 Mon Sep 17 00:00:00 2001
|
||||
From dac46c07736a799fc82be03aa546b2d24c19ad78 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] Remove bash dependency for nscd init script
|
||||
Subject: [PATCH 17/29] 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,3 +70,6 @@ index a882da7d8b..b02986ec15 100644
|
||||
RETVAL=1
|
||||
;;
|
||||
esac
|
||||
--
|
||||
2.27.0
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 5641452a24f76c5dafa3749a542fcac93f77390f Mon Sep 17 00:00:00 2001
|
||||
From 0bd1dedf77194151397c53b12e0355c2edb8bccc 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] eglibc: Cross building and testing instructions
|
||||
Subject: [PATCH 18/29] eglibc: Cross building and testing instructions
|
||||
|
||||
Ported from eglibc
|
||||
Upstream-Status: Pending
|
||||
@@ -614,3 +614,6 @@ 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.27.0
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 6a32d5bf40deee5d12d24c06f3ea9b5479c16802 Mon Sep 17 00:00:00 2001
|
||||
From 5591b7653411da26fa2939352e50ea4121b327e6 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] eglibc: Help bootstrap cross toolchain
|
||||
Subject: [PATCH 19/29] 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 8f0a93aceb..8eba23a868 100644
|
||||
index 6dcfe40c25..bc37c32e5a 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -79,9 +79,18 @@ subdir-dirs = include
|
||||
@@ -95,3 +95,6 @@ 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.27.0
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 25c21857a3fc0eb26831616ba88a696dd31ecba1 Mon Sep 17 00:00:00 2001
|
||||
From d3451c186f96c6b2434a4ac9304c01730bf22061 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] eglibc: Resolve __fpscr_values on SH4
|
||||
Subject: [PATCH 20/29] eglibc: Resolve __fpscr_values on SH4
|
||||
|
||||
2010-09-29 Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
|
||||
Andrew Stubbs <ams@codesourcery.com>
|
||||
@@ -51,3 +51,6 @@ index 85ff3f900e..7743b8d57a 100644
|
||||
+ .long 0x80000
|
||||
+weak_alias (___fpscr_values, __fpscr_values)
|
||||
+
|
||||
--
|
||||
2.27.0
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 30008327aadf0c775e644bb387d7c25952ed05b5 Mon Sep 17 00:00:00 2001
|
||||
From e4b8abdc2d884d721fd89d67b689546f2f780924 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] eglibc: Forward port cross locale generation support
|
||||
Subject: [PATCH 21/29] eglibc: Forward port cross locale generation support
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
@@ -23,7 +23,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
create mode 100644 locale/catnames.c
|
||||
|
||||
diff --git a/locale/Makefile b/locale/Makefile
|
||||
index c9694e236e..ba7105fad6 100644
|
||||
index 49c0c78c7d..ebfcf4f4da 100644
|
||||
--- a/locale/Makefile
|
||||
+++ b/locale/Makefile
|
||||
@@ -26,7 +26,8 @@ headers = langinfo.h locale.h bits/locale.h \
|
||||
@@ -34,8 +34,8 @@ index c9694e236e..ba7105fad6 100644
|
||||
+ newlocale duplocale freelocale uselocale \
|
||||
+ catnames
|
||||
tests = tst-C-locale tst-locname tst-duplocale
|
||||
tests-container = tst-localedef-path-norm
|
||||
categories = ctype messages monetary numeric time paper name \
|
||||
address telephone measurement identification collate
|
||||
diff --git a/locale/catnames.c b/locale/catnames.c
|
||||
new file mode 100644
|
||||
index 0000000000..538f3f5edb
|
||||
@@ -361,7 +361,7 @@ index 7ebd933801..5753750756 100644
|
||||
size_t bufmax = 56;
|
||||
|
||||
diff --git a/locale/programs/localedef.c b/locale/programs/localedef.c
|
||||
index dbbb0145c0..097a8b6193 100644
|
||||
index b048bd05b9..fed15c42ec 100644
|
||||
--- a/locale/programs/localedef.c
|
||||
+++ b/locale/programs/localedef.c
|
||||
@@ -109,6 +109,7 @@ void (*argp_program_version_hook) (FILE *, struct argp_state *) = print_version;
|
||||
@@ -381,7 +381,7 @@ index dbbb0145c0..097a8b6193 100644
|
||||
{ NULL, 0, NULL, 0, NULL }
|
||||
};
|
||||
|
||||
@@ -242,12 +245,14 @@ main (int argc, char *argv[])
|
||||
@@ -243,12 +246,14 @@ main (int argc, char *argv[])
|
||||
ctype locale. (P1003.2 4.35.5.2) */
|
||||
setlocale (LC_CTYPE, "POSIX");
|
||||
|
||||
@@ -396,7 +396,7 @@ index dbbb0145c0..097a8b6193 100644
|
||||
|
||||
/* Process charmap file. */
|
||||
charmap = charmap_read (charmap_file, verbose, 1, be_quiet, 1);
|
||||
@@ -399,6 +404,9 @@ parse_opt (int key, char *arg, struct argp_state *state)
|
||||
@@ -400,6 +405,9 @@ parse_opt (int key, char *arg, struct argp_state *state)
|
||||
/* Do not hard link to other locales. */
|
||||
hard_links = false;
|
||||
break;
|
||||
@@ -558,3 +558,6 @@ index 030f1727bd..096d8ed895 100644
|
||||
#ifdef NL_CURRENT_INDIRECT
|
||||
# define WEAK_POSTLOAD(postload) weak_extern (postload)
|
||||
#else
|
||||
--
|
||||
2.27.0
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 067f71a381ce6626ef1179be3dd90c4ed2aa52fb Mon Sep 17 00:00:00 2001
|
||||
From ad5bc87134871b99e082e2449b8c1ce2f1375ef9 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] Define DUMMY_LOCALE_T if not defined
|
||||
Subject: [PATCH 22/29] 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,3 +27,6 @@ index d76d9f7e8b..92b56d7df3 100644
|
||||
/* Use the internal textdomain used for libc messages. */
|
||||
#define PACKAGE _libc_intl_domainname
|
||||
#ifndef VERSION
|
||||
--
|
||||
2.27.0
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
From 8f4b0bac85d14b184e08848b02de3f30775f05b1 Mon Sep 17 00:00:00 2001
|
||||
From c5fd8a3d336b8288f631fb6b6dd85f9d1076f25b 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
|
||||
Subject: [PATCH 23/29] 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.
|
||||
@@ -78,3 +79,6 @@ index dccaf04e3b..ae0b7fe155 100644
|
||||
{
|
||||
if (readonly)
|
||||
{
|
||||
--
|
||||
2.27.0
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 1dad746ce93928a57b2fe618c74722f710751826 Mon Sep 17 00:00:00 2001
|
||||
From dffa52364f8c54c455b2459ebe83f05cb6ffc9fc 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] elf/dl-deps.c: Make _dl_build_local_scope breadth first
|
||||
Subject: [PATCH 24/29] elf/dl-deps.c: Make _dl_build_local_scope breadth first
|
||||
|
||||
According to the ELF specification:
|
||||
|
||||
@@ -24,7 +24,7 @@ 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 5103a8a111..54cd80aaff 100644
|
||||
index b5a43232a7..8aa8f37fa3 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)
|
||||
@@ -51,3 +51,6 @@ index 5103a8a111..54cd80aaff 100644
|
||||
return p - list;
|
||||
}
|
||||
|
||||
--
|
||||
2.27.0
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 3c8d9eae83ab4f1677afc9b379f97114e8503363 Mon Sep 17 00:00:00 2001
|
||||
From bc3380877bd2a1f9368a913fa6a2ca1ee88fd95f 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
|
||||
Subject: [PATCH 25/29] intl: Emit no lines in bison generated files
|
||||
|
||||
Improve reproducibility:
|
||||
Do not put any #line preprocessor commands in bison generated files.
|
||||
@@ -29,3 +29,6 @@ index ce3072420f..58457840d9 100644
|
||||
|
||||
$(inst_localedir)/locale.alias: locale.alias $(+force)
|
||||
$(do-install)
|
||||
--
|
||||
2.27.0
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 420454f7098b5445730caa855c37b8143bfccc1b Mon Sep 17 00:00:00 2001
|
||||
From cf043d56638883157dbfaa8c6a8e2f63a6f66280 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Thu, 29 Nov 2018 17:29:35 -0800
|
||||
Subject: [PATCH] inject file assembly directives
|
||||
Subject: [PATCH 26/29] inject file assembly directives
|
||||
|
||||
Currently, non-IA builds are not reproducibile since build paths are
|
||||
being injected into the debug symbols. These are coming from the use of
|
||||
@@ -25,13 +25,12 @@ Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
csu/abi-note.S | 2 ++
|
||||
csu/abi-note.c | 2 ++
|
||||
sysdeps/aarch64/crti.S | 2 ++
|
||||
sysdeps/aarch64/crtn.S | 2 ++
|
||||
sysdeps/aarch64/crtn.S | 1 +
|
||||
sysdeps/aarch64/dl-tlsdesc.S | 2 ++
|
||||
sysdeps/aarch64/dl-trampoline.S | 2 ++
|
||||
sysdeps/aarch64/start.S | 2 ++
|
||||
sysdeps/arm/abi-note.S | 2 ++
|
||||
sysdeps/arm/crti.S | 2 ++
|
||||
sysdeps/arm/crtn.S | 2 ++
|
||||
sysdeps/arm/dl-tlsdesc.S | 2 ++
|
||||
@@ -45,23 +44,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S | 2 ++
|
||||
sysdeps/unix/sysv/linux/arm/libc-do-syscall.S | 2 ++
|
||||
sysdeps/unix/sysv/linux/powerpc/dl-brk.S | 2 ++
|
||||
20 files changed, 40 insertions(+)
|
||||
19 files changed, 37 insertions(+)
|
||||
|
||||
diff --git a/csu/abi-note.S b/csu/abi-note.S
|
||||
index 2b4b5f8824..964843016c 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 1728eac37a..76a8ab590b 100644
|
||||
--- a/sysdeps/aarch64/crti.S
|
||||
+++ b/sysdeps/aarch64/crti.S
|
||||
@@ -50,6 +50,8 @@
|
||||
@@ -73,21 +57,16 @@ index 1728eac37a..76a8ab590b 100644
|
||||
#if PREINIT_FUNCTION_WEAK
|
||||
weak_extern (PREINIT_FUNCTION)
|
||||
#else
|
||||
diff --git a/sysdeps/aarch64/crtn.S b/sysdeps/aarch64/crtn.S
|
||||
index c3e97cc449..fc2e5c2df8 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
|
||||
@@ -38,6 +38,7 @@
|
||||
corresponding to the prologues in crti.S. */
|
||||
|
||||
#include <sysdep.h>
|
||||
+ .file "crtn.S"
|
||||
+
|
||||
|
||||
.section .init,"ax",%progbits
|
||||
ldp x29, x30, [sp], 16
|
||||
RET
|
||||
diff --git a/sysdeps/aarch64/dl-tlsdesc.S b/sysdeps/aarch64/dl-tlsdesc.S
|
||||
index 557ad1d505..194a8531da 100644
|
||||
--- a/sysdeps/aarch64/dl-tlsdesc.S
|
||||
+++ b/sysdeps/aarch64/dl-tlsdesc.S
|
||||
@@ -22,6 +22,8 @@
|
||||
@@ -99,8 +78,6 @@ index 557ad1d505..194a8531da 100644
|
||||
#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 94e965c096..ba18742f3e 100644
|
||||
--- a/sysdeps/aarch64/dl-trampoline.S
|
||||
+++ b/sysdeps/aarch64/dl-trampoline.S
|
||||
@@ -21,6 +21,8 @@
|
||||
@@ -112,8 +89,6 @@ index 94e965c096..ba18742f3e 100644
|
||||
#define ip0 x16
|
||||
#define ip0l PTR_REG (16)
|
||||
#define ip1 x17
|
||||
diff --git a/sysdeps/aarch64/start.S b/sysdeps/aarch64/start.S
|
||||
index d96cf57e2d..07a523978a 100644
|
||||
--- a/sysdeps/aarch64/start.S
|
||||
+++ b/sysdeps/aarch64/start.S
|
||||
@@ -18,6 +18,8 @@
|
||||
@@ -125,18 +100,6 @@ index d96cf57e2d..07a523978a 100644
|
||||
/* This is the canonical entry point, usually the first thing in the text
|
||||
segment.
|
||||
|
||||
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 8169783267..f56e0c85a6 100644
|
||||
--- a/sysdeps/arm/crti.S
|
||||
+++ b/sysdeps/arm/crti.S
|
||||
@@ -57,6 +57,8 @@
|
||||
@@ -148,8 +111,6 @@ index 8169783267..f56e0c85a6 100644
|
||||
#if PREINIT_FUNCTION_WEAK
|
||||
.p2align 2
|
||||
.type call_weak_fn, %function
|
||||
diff --git a/sysdeps/arm/crtn.S b/sysdeps/arm/crtn.S
|
||||
index d60f9f05de..1e10ec439f 100644
|
||||
--- a/sysdeps/arm/crtn.S
|
||||
+++ b/sysdeps/arm/crtn.S
|
||||
@@ -37,6 +37,8 @@
|
||||
@@ -161,8 +122,6 @@ index d60f9f05de..1e10ec439f 100644
|
||||
/* 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 8415e47607..29c2cb8128 100644
|
||||
--- a/sysdeps/arm/dl-tlsdesc.S
|
||||
+++ b/sysdeps/arm/dl-tlsdesc.S
|
||||
@@ -21,6 +21,8 @@
|
||||
@@ -174,8 +133,6 @@ index 8415e47607..29c2cb8128 100644
|
||||
.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 a20baf555e..2dd3bef04e 100644
|
||||
--- a/sysdeps/arm/dl-trampoline.S
|
||||
+++ b/sysdeps/arm/dl-trampoline.S
|
||||
@@ -21,6 +21,8 @@
|
||||
@@ -187,8 +144,6 @@ index a20baf555e..2dd3bef04e 100644
|
||||
.text
|
||||
.globl _dl_runtime_resolve
|
||||
.type _dl_runtime_resolve, #function
|
||||
diff --git a/sysdeps/arm/start.S b/sysdeps/arm/start.S
|
||||
index 2ff56179d2..c118046ec6 100644
|
||||
--- a/sysdeps/arm/start.S
|
||||
+++ b/sysdeps/arm/start.S
|
||||
@@ -57,6 +57,8 @@
|
||||
@@ -200,8 +155,6 @@ index 2ff56179d2..c118046ec6 100644
|
||||
/* Tag_ABI_align8_preserved: This code preserves 8-byte
|
||||
alignment in any callee. */
|
||||
.eabi_attribute 25, 1
|
||||
diff --git a/sysdeps/mips/start.S b/sysdeps/mips/start.S
|
||||
index fabc8080df..83c6b91d7d 100644
|
||||
--- a/sysdeps/mips/start.S
|
||||
+++ b/sysdeps/mips/start.S
|
||||
@@ -38,6 +38,8 @@
|
||||
@@ -213,8 +166,6 @@ index fabc8080df..83c6b91d7d 100644
|
||||
#ifndef ENTRY_POINT
|
||||
#error ENTRY_POINT needs to be defined for start.S on MIPS/ELF.
|
||||
#endif
|
||||
diff --git a/sysdeps/powerpc/powerpc32/dl-start.S b/sysdeps/powerpc/powerpc32/dl-start.S
|
||||
index c15242d3bc..6ca27715a4 100644
|
||||
--- a/sysdeps/powerpc/powerpc32/dl-start.S
|
||||
+++ b/sysdeps/powerpc/powerpc32/dl-start.S
|
||||
@@ -18,6 +18,8 @@
|
||||
@@ -226,8 +177,6 @@ index c15242d3bc..6ca27715a4 100644
|
||||
/* 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/powerpc/powerpc32/start.S b/sysdeps/powerpc/powerpc32/start.S
|
||||
index b7b9a133a2..8df714f81a 100644
|
||||
--- a/sysdeps/powerpc/powerpc32/start.S
|
||||
+++ b/sysdeps/powerpc/powerpc32/start.S
|
||||
@@ -35,6 +35,8 @@
|
||||
@@ -239,8 +188,6 @@ index b7b9a133a2..8df714f81a 100644
|
||||
/* 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 94bf771e83..cffb99500a 100644
|
||||
--- a/sysdeps/powerpc/powerpc64/start.S
|
||||
+++ b/sysdeps/powerpc/powerpc64/start.S
|
||||
@@ -35,6 +35,8 @@
|
||||
@@ -252,8 +199,6 @@ index 94bf771e83..cffb99500a 100644
|
||||
/* 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/unix/sysv/linux/aarch64/__read_tp.S b/sysdeps/unix/sysv/linux/aarch64/__read_tp.S
|
||||
index 12e1131fe7..767e0d043b 100644
|
||||
--- a/sysdeps/unix/sysv/linux/aarch64/__read_tp.S
|
||||
+++ b/sysdeps/unix/sysv/linux/aarch64/__read_tp.S
|
||||
@@ -18,6 +18,8 @@
|
||||
@@ -265,8 +210,6 @@ index 12e1131fe7..767e0d043b 100644
|
||||
.hidden __read_tp
|
||||
ENTRY (__read_tp)
|
||||
mrs x0, tpidr_el0
|
||||
diff --git a/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S b/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S
|
||||
index 3b0d611039..4a7e476c37 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 @@
|
||||
@@ -278,8 +221,6 @@ index 3b0d611039..4a7e476c37 100644
|
||||
.hidden __aeabi_read_tp
|
||||
ENTRY (__aeabi_read_tp)
|
||||
#ifdef ARCH_HAS_HARD_TP
|
||||
diff --git a/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S b/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S
|
||||
index fb5e0c7d97..bd07bdb38b 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 @@
|
||||
@@ -291,8 +232,6 @@ index fb5e0c7d97..bd07bdb38b 100644
|
||||
#if defined(__thumb__)
|
||||
.thumb
|
||||
.syntax unified
|
||||
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 @@
|
||||
@@ -1,7 +1,7 @@
|
||||
From 66963ad83bdd3b075006ddca9dfe357aed181d6a Mon Sep 17 00:00:00 2001
|
||||
From 10aef8f0671d814aaf910ababc0225cf6f0a46e8 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Jansa <martin.jansa@gmail.com>
|
||||
Date: Mon, 17 Dec 2018 21:36:18 +0000
|
||||
Subject: [PATCH] locale: prevent maybe-uninitialized errors with -Os [BZ
|
||||
Subject: [PATCH 27/29] locale: prevent maybe-uninitialized errors with -Os [BZ
|
||||
#19444]
|
||||
|
||||
Fixes following error when building for aarch64 with -Os:
|
||||
@@ -51,3 +51,6 @@ index e071253f85..2889c395f1 100644
|
||||
const unsigned char *cp;
|
||||
const unsigned char *usrc;
|
||||
|
||||
--
|
||||
2.27.0
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
From 13beb1f428ec06778590bf526d6e641f73d5cf62 Mon Sep 17 00:00:00 2001
|
||||
From 70731329feb7ba20364aa37aed83d920de97f028 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] readlib: Add OECORE_KNOWN_INTERPRETER_NAMES to known names
|
||||
Subject: [PATCH 28/29] 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
|
||||
@@ -27,3 +28,6 @@ index 994a4426a1..baabf099b1 100644
|
||||
};
|
||||
|
||||
static struct known_names known_libs[] =
|
||||
--
|
||||
2.27.0
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 9cb0a756b017f5961b70ac781d3eaec6c82513cb Mon Sep 17 00:00:00 2001
|
||||
From bf1c4b2f01c5f86bb770fd1711a69ea727e0f56e Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Fri, 15 May 2020 17:05:45 -0700
|
||||
Subject: [PATCH] wordsize.h: Unify the header between arm and aarch64
|
||||
Subject: [PATCH 29/29] wordsize.h: Unify the header between arm and aarch64
|
||||
|
||||
This helps OE multilibs to not sythesize this header which causes all
|
||||
kind of recursions and other issues since wordsize is fundamental header
|
||||
@@ -65,3 +65,6 @@ index ee01841773..34fcdef1f1 100644
|
||||
#endif
|
||||
|
||||
#define __WORDSIZE_TIME64_COMPAT32 0
|
||||
--
|
||||
2.27.0
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
From 8b1d521290218df8ceeaf2e6ee44a54b19d8d328 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Fri, 7 Aug 2020 14:31:16 -0700
|
||||
Subject: [PATCH 30/30] powerpc: Do not ask compiler for finding arch
|
||||
|
||||
This does not work well in cross compiling environments like OE
|
||||
and moreover it uses its own -mcpu/-march options via cflags
|
||||
|
||||
Upstream-Status: Inappropriate [ OE-Specific]
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
sysdeps/powerpc/preconfigure | 5 +----
|
||||
sysdeps/powerpc/preconfigure.ac | 5 +----
|
||||
2 files changed, 2 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/sysdeps/powerpc/preconfigure b/sysdeps/powerpc/preconfigure
|
||||
index dfe8e20399..bbff040f0f 100644
|
||||
--- a/sysdeps/powerpc/preconfigure
|
||||
+++ b/sysdeps/powerpc/preconfigure
|
||||
@@ -29,10 +29,7 @@ esac
|
||||
# directive which shows up, and try using it.
|
||||
case "${machine}:${submachine}" in
|
||||
*powerpc*:)
|
||||
- archcpu=`echo "int foo () { return 0; }" \
|
||||
- | $CC $CFLAGS $CPPFLAGS -S -frecord-gcc-switches -xc -o - - \
|
||||
- | grep -E "mcpu=|.machine" -m 1 \
|
||||
- | sed -e "s/.*machine //" -e "s/.*mcpu=\(.*\)\"/\1/"`
|
||||
+ archcpu=''
|
||||
# Note if you add patterns here you must ensure that an appropriate
|
||||
# directory exists in sysdeps/powerpc. Likewise, if we find a
|
||||
# cpu, don't let the generic configure append extra compiler options.
|
||||
diff --git a/sysdeps/powerpc/preconfigure.ac b/sysdeps/powerpc/preconfigure.ac
|
||||
index 6c63bd8257..3e925f1d48 100644
|
||||
--- a/sysdeps/powerpc/preconfigure.ac
|
||||
+++ b/sysdeps/powerpc/preconfigure.ac
|
||||
@@ -29,10 +29,7 @@ esac
|
||||
# directive which shows up, and try using it.
|
||||
case "${machine}:${submachine}" in
|
||||
*powerpc*:)
|
||||
- archcpu=`echo "int foo () { return 0; }" \
|
||||
- | $CC $CFLAGS $CPPFLAGS -S -frecord-gcc-switches -xc -o - - \
|
||||
- | grep -E "mcpu=|[.]machine" -m 1 \
|
||||
- | sed -e "s/.*machine //" -e "s/.*mcpu=\(.*\)\"/\1/"`
|
||||
+ archcpu=''
|
||||
# Note if you add patterns here you must ensure that an appropriate
|
||||
# directory exists in sysdeps/powerpc. Likewise, if we find a
|
||||
# cpu, don't let the generic configure append extra compiler options.
|
||||
--
|
||||
2.28.0
|
||||
|
||||
@@ -1,112 +0,0 @@
|
||||
From beea361050728138b82c57dda0c4810402d342b9 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Anisimov <a.anisimov@omprussia.ru>
|
||||
Date: Wed, 8 Jul 2020 14:18:31 +0200
|
||||
Subject: [PATCH] arm: CVE-2020-6096: Fix multiarch memcpy for negative length
|
||||
[BZ #25620]
|
||||
|
||||
Unsigned branch instructions could be used for r2 to fix the wrong
|
||||
behavior when a negative length is passed to memcpy.
|
||||
This commit fixes the armv7 version.
|
||||
|
||||
Upstream-Status: Backport
|
||||
CVE: CVE-2020-6096 patch #1
|
||||
Signed-off-by: Armin Kuster <akuster@mvista.com>
|
||||
|
||||
---
|
||||
sysdeps/arm/armv7/multiarch/memcpy_impl.S | 22 +++++++++++-----------
|
||||
1 file changed, 11 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/sysdeps/arm/armv7/multiarch/memcpy_impl.S b/sysdeps/arm/armv7/multiarch/memcpy_impl.S
|
||||
index bf4ac7077f..379bb56fc9 100644
|
||||
--- a/sysdeps/arm/armv7/multiarch/memcpy_impl.S
|
||||
+++ b/sysdeps/arm/armv7/multiarch/memcpy_impl.S
|
||||
@@ -268,7 +268,7 @@ ENTRY(memcpy)
|
||||
|
||||
mov dst, dstin /* Preserve dstin, we need to return it. */
|
||||
cmp count, #64
|
||||
- bge .Lcpy_not_short
|
||||
+ bhs .Lcpy_not_short
|
||||
/* Deal with small copies quickly by dropping straight into the
|
||||
exit block. */
|
||||
|
||||
@@ -351,10 +351,10 @@ ENTRY(memcpy)
|
||||
|
||||
1:
|
||||
subs tmp2, count, #64 /* Use tmp2 for count. */
|
||||
- blt .Ltail63aligned
|
||||
+ blo .Ltail63aligned
|
||||
|
||||
cmp tmp2, #512
|
||||
- bge .Lcpy_body_long
|
||||
+ bhs .Lcpy_body_long
|
||||
|
||||
.Lcpy_body_medium: /* Count in tmp2. */
|
||||
#ifdef USE_VFP
|
||||
@@ -378,7 +378,7 @@ ENTRY(memcpy)
|
||||
add src, src, #64
|
||||
vstr d1, [dst, #56]
|
||||
add dst, dst, #64
|
||||
- bge 1b
|
||||
+ bhs 1b
|
||||
tst tmp2, #0x3f
|
||||
beq .Ldone
|
||||
|
||||
@@ -412,7 +412,7 @@ ENTRY(memcpy)
|
||||
ldrd A_l, A_h, [src, #64]!
|
||||
strd A_l, A_h, [dst, #64]!
|
||||
subs tmp2, tmp2, #64
|
||||
- bge 1b
|
||||
+ bhs 1b
|
||||
tst tmp2, #0x3f
|
||||
bne 1f
|
||||
ldr tmp2,[sp], #FRAME_SIZE
|
||||
@@ -482,7 +482,7 @@ ENTRY(memcpy)
|
||||
add src, src, #32
|
||||
|
||||
subs tmp2, tmp2, #prefetch_lines * 64 * 2
|
||||
- blt 2f
|
||||
+ blo 2f
|
||||
1:
|
||||
cpy_line_vfp d3, 0
|
||||
cpy_line_vfp d4, 64
|
||||
@@ -494,7 +494,7 @@ ENTRY(memcpy)
|
||||
add dst, dst, #2 * 64
|
||||
add src, src, #2 * 64
|
||||
subs tmp2, tmp2, #prefetch_lines * 64
|
||||
- bge 1b
|
||||
+ bhs 1b
|
||||
|
||||
2:
|
||||
cpy_tail_vfp d3, 0
|
||||
@@ -615,8 +615,8 @@ ENTRY(memcpy)
|
||||
1:
|
||||
pld [src, #(3 * 64)]
|
||||
subs count, count, #64
|
||||
- ldrmi tmp2, [sp], #FRAME_SIZE
|
||||
- bmi .Ltail63unaligned
|
||||
+ ldrlo tmp2, [sp], #FRAME_SIZE
|
||||
+ blo .Ltail63unaligned
|
||||
pld [src, #(4 * 64)]
|
||||
|
||||
#ifdef USE_NEON
|
||||
@@ -633,7 +633,7 @@ ENTRY(memcpy)
|
||||
neon_load_multi d0-d3, src
|
||||
neon_load_multi d4-d7, src
|
||||
subs count, count, #64
|
||||
- bmi 2f
|
||||
+ blo 2f
|
||||
1:
|
||||
pld [src, #(4 * 64)]
|
||||
neon_store_multi d0-d3, dst
|
||||
@@ -641,7 +641,7 @@ ENTRY(memcpy)
|
||||
neon_store_multi d4-d7, dst
|
||||
neon_load_multi d4-d7, src
|
||||
subs count, count, #64
|
||||
- bpl 1b
|
||||
+ bhs 1b
|
||||
2:
|
||||
neon_store_multi d0-d3, dst
|
||||
neon_store_multi d4-d7, dst
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,194 +0,0 @@
|
||||
From 79a4fa341b8a89cb03f84564fd72abaa1a2db394 Mon Sep 17 00:00:00 2001
|
||||
From: Evgeny Eremin <e.eremin@omprussia.ru>
|
||||
Date: Wed, 8 Jul 2020 14:18:19 +0200
|
||||
Subject: [PATCH] arm: CVE-2020-6096: fix memcpy and memmove for negative
|
||||
length [BZ #25620]
|
||||
|
||||
Unsigned branch instructions could be used for r2 to fix the wrong
|
||||
behavior when a negative length is passed to memcpy and memmove.
|
||||
This commit fixes the generic arm implementation of memcpy amd memmove.
|
||||
|
||||
Upstream-Status: Backport
|
||||
CVE: CVE-2020-6096 patch #2
|
||||
Signed-off-by: Armin Kuster <akuster@mvista.com>
|
||||
|
||||
---
|
||||
sysdeps/arm/memcpy.S | 24 ++++++++++--------------
|
||||
sysdeps/arm/memmove.S | 24 ++++++++++--------------
|
||||
2 files changed, 20 insertions(+), 28 deletions(-)
|
||||
|
||||
diff --git a/sysdeps/arm/memcpy.S b/sysdeps/arm/memcpy.S
|
||||
index 510e8adaf2..bcfbc51d99 100644
|
||||
--- a/sysdeps/arm/memcpy.S
|
||||
+++ b/sysdeps/arm/memcpy.S
|
||||
@@ -68,7 +68,7 @@ ENTRY(memcpy)
|
||||
cfi_remember_state
|
||||
|
||||
subs r2, r2, #4
|
||||
- blt 8f
|
||||
+ blo 8f
|
||||
ands ip, r0, #3
|
||||
PLD( pld [r1, #0] )
|
||||
bne 9f
|
||||
@@ -82,7 +82,7 @@ ENTRY(memcpy)
|
||||
cfi_rel_offset (r6, 4)
|
||||
cfi_rel_offset (r7, 8)
|
||||
cfi_rel_offset (r8, 12)
|
||||
- blt 5f
|
||||
+ blo 5f
|
||||
|
||||
CALGN( ands ip, r1, #31 )
|
||||
CALGN( rsb r3, ip, #32 )
|
||||
@@ -98,9 +98,9 @@ ENTRY(memcpy)
|
||||
#endif
|
||||
|
||||
PLD( pld [r1, #0] )
|
||||
-2: PLD( subs r2, r2, #96 )
|
||||
+2: PLD( cmp r2, #96 )
|
||||
PLD( pld [r1, #28] )
|
||||
- PLD( blt 4f )
|
||||
+ PLD( blo 4f )
|
||||
PLD( pld [r1, #60] )
|
||||
PLD( pld [r1, #92] )
|
||||
|
||||
@@ -108,9 +108,7 @@ ENTRY(memcpy)
|
||||
4: ldmia r1!, {r3, r4, r5, r6, r7, r8, ip, lr}
|
||||
subs r2, r2, #32
|
||||
stmia r0!, {r3, r4, r5, r6, r7, r8, ip, lr}
|
||||
- bge 3b
|
||||
- PLD( cmn r2, #96 )
|
||||
- PLD( bge 4b )
|
||||
+ bhs 3b
|
||||
|
||||
5: ands ip, r2, #28
|
||||
rsb ip, ip, #32
|
||||
@@ -222,7 +220,7 @@ ENTRY(memcpy)
|
||||
strbge r4, [r0], #1
|
||||
subs r2, r2, ip
|
||||
strb lr, [r0], #1
|
||||
- blt 8b
|
||||
+ blo 8b
|
||||
ands ip, r1, #3
|
||||
beq 1b
|
||||
|
||||
@@ -236,7 +234,7 @@ ENTRY(memcpy)
|
||||
.macro forward_copy_shift pull push
|
||||
|
||||
subs r2, r2, #28
|
||||
- blt 14f
|
||||
+ blo 14f
|
||||
|
||||
CALGN( ands ip, r1, #31 )
|
||||
CALGN( rsb ip, ip, #32 )
|
||||
@@ -253,9 +251,9 @@ ENTRY(memcpy)
|
||||
cfi_rel_offset (r10, 16)
|
||||
|
||||
PLD( pld [r1, #0] )
|
||||
- PLD( subs r2, r2, #96 )
|
||||
+ PLD( cmp r2, #96 )
|
||||
PLD( pld [r1, #28] )
|
||||
- PLD( blt 13f )
|
||||
+ PLD( blo 13f )
|
||||
PLD( pld [r1, #60] )
|
||||
PLD( pld [r1, #92] )
|
||||
|
||||
@@ -280,9 +278,7 @@ ENTRY(memcpy)
|
||||
mov ip, ip, PULL #\pull
|
||||
orr ip, ip, lr, PUSH #\push
|
||||
stmia r0!, {r3, r4, r5, r6, r7, r8, r10, ip}
|
||||
- bge 12b
|
||||
- PLD( cmn r2, #96 )
|
||||
- PLD( bge 13b )
|
||||
+ bhs 12b
|
||||
|
||||
pop {r5 - r8, r10}
|
||||
cfi_adjust_cfa_offset (-20)
|
||||
diff --git a/sysdeps/arm/memmove.S b/sysdeps/arm/memmove.S
|
||||
index 954037ef3a..0d07b76ee6 100644
|
||||
--- a/sysdeps/arm/memmove.S
|
||||
+++ b/sysdeps/arm/memmove.S
|
||||
@@ -85,7 +85,7 @@ ENTRY(memmove)
|
||||
add r1, r1, r2
|
||||
add r0, r0, r2
|
||||
subs r2, r2, #4
|
||||
- blt 8f
|
||||
+ blo 8f
|
||||
ands ip, r0, #3
|
||||
PLD( pld [r1, #-4] )
|
||||
bne 9f
|
||||
@@ -99,7 +99,7 @@ ENTRY(memmove)
|
||||
cfi_rel_offset (r6, 4)
|
||||
cfi_rel_offset (r7, 8)
|
||||
cfi_rel_offset (r8, 12)
|
||||
- blt 5f
|
||||
+ blo 5f
|
||||
|
||||
CALGN( ands ip, r1, #31 )
|
||||
CALGN( sbcsne r4, ip, r2 ) @ C is always set here
|
||||
@@ -114,9 +114,9 @@ ENTRY(memmove)
|
||||
#endif
|
||||
|
||||
PLD( pld [r1, #-4] )
|
||||
-2: PLD( subs r2, r2, #96 )
|
||||
+2: PLD( cmp r2, #96 )
|
||||
PLD( pld [r1, #-32] )
|
||||
- PLD( blt 4f )
|
||||
+ PLD( blo 4f )
|
||||
PLD( pld [r1, #-64] )
|
||||
PLD( pld [r1, #-96] )
|
||||
|
||||
@@ -124,9 +124,7 @@ ENTRY(memmove)
|
||||
4: ldmdb r1!, {r3, r4, r5, r6, r7, r8, ip, lr}
|
||||
subs r2, r2, #32
|
||||
stmdb r0!, {r3, r4, r5, r6, r7, r8, ip, lr}
|
||||
- bge 3b
|
||||
- PLD( cmn r2, #96 )
|
||||
- PLD( bge 4b )
|
||||
+ bhs 3b
|
||||
|
||||
5: ands ip, r2, #28
|
||||
rsb ip, ip, #32
|
||||
@@ -237,7 +235,7 @@ ENTRY(memmove)
|
||||
strbge r4, [r0, #-1]!
|
||||
subs r2, r2, ip
|
||||
strb lr, [r0, #-1]!
|
||||
- blt 8b
|
||||
+ blo 8b
|
||||
ands ip, r1, #3
|
||||
beq 1b
|
||||
|
||||
@@ -251,7 +249,7 @@ ENTRY(memmove)
|
||||
.macro backward_copy_shift push pull
|
||||
|
||||
subs r2, r2, #28
|
||||
- blt 14f
|
||||
+ blo 14f
|
||||
|
||||
CALGN( ands ip, r1, #31 )
|
||||
CALGN( rsb ip, ip, #32 )
|
||||
@@ -268,9 +266,9 @@ ENTRY(memmove)
|
||||
cfi_rel_offset (r10, 16)
|
||||
|
||||
PLD( pld [r1, #-4] )
|
||||
- PLD( subs r2, r2, #96 )
|
||||
+ PLD( cmp r2, #96 )
|
||||
PLD( pld [r1, #-32] )
|
||||
- PLD( blt 13f )
|
||||
+ PLD( blo 13f )
|
||||
PLD( pld [r1, #-64] )
|
||||
PLD( pld [r1, #-96] )
|
||||
|
||||
@@ -295,9 +293,7 @@ ENTRY(memmove)
|
||||
mov r4, r4, PUSH #\push
|
||||
orr r4, r4, r3, PULL #\pull
|
||||
stmdb r0!, {r4 - r8, r10, ip, lr}
|
||||
- bge 12b
|
||||
- PLD( cmn r2, #96 )
|
||||
- PLD( bge 13b )
|
||||
+ bhs 12b
|
||||
|
||||
pop {r5 - r8, r10}
|
||||
cfi_adjust_cfa_offset (-20)
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -21,30 +21,28 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
|
||||
\
|
||||
${NATIVESDKFIXES} \
|
||||
file://0008-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch \
|
||||
file://0009-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch \
|
||||
file://0010-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch \
|
||||
file://0011-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch \
|
||||
file://0012-Quote-from-bug-1443-which-explains-what-the-patch-do.patch \
|
||||
file://0013-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch \
|
||||
file://0014-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch \
|
||||
file://0015-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch \
|
||||
file://0016-Add-unused-attribute.patch \
|
||||
file://0017-yes-within-the-path-sets-wrong-config-variables.patch \
|
||||
file://0018-timezone-re-written-tzselect-as-posix-sh.patch \
|
||||
file://0019-Remove-bash-dependency-for-nscd-init-script.patch \
|
||||
file://0020-eglibc-Cross-building-and-testing-instructions.patch \
|
||||
file://0021-eglibc-Help-bootstrap-cross-toolchain.patch \
|
||||
file://0022-eglibc-Resolve-__fpscr_values-on-SH4.patch \
|
||||
file://0023-eglibc-Forward-port-cross-locale-generation-support.patch \
|
||||
file://0024-Define-DUMMY_LOCALE_T-if-not-defined.patch \
|
||||
file://0025-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \
|
||||
file://0026-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch \
|
||||
file://0027-intl-Emit-no-lines-in-bison-generated-files.patch \
|
||||
file://0028-inject-file-assembly-directives.patch \
|
||||
file://0029-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch \
|
||||
file://0030-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch \
|
||||
file://CVE-2020-6096.patch \
|
||||
file://CVE-2020-6096_2.patch \
|
||||
file://0009-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch \
|
||||
file://0010-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch \
|
||||
file://0011-Quote-from-bug-1443-which-explains-what-the-patch-do.patch \
|
||||
file://0012-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch \
|
||||
file://0013-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch \
|
||||
file://0014-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.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-Resolve-__fpscr_values-on-SH4.patch \
|
||||
file://0021-eglibc-Forward-port-cross-locale-generation-support.patch \
|
||||
file://0022-Define-DUMMY_LOCALE_T-if-not-defined.patch \
|
||||
file://0023-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \
|
||||
file://0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch \
|
||||
file://0025-intl-Emit-no-lines-in-bison-generated-files.patch \
|
||||
file://0026-inject-file-assembly-directives.patch \
|
||||
file://0027-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch \
|
||||
file://0028-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch \
|
||||
file://0029-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch \
|
||||
file://0030-powerpc-Do-not-ask-compiler-for-finding-arch.patch \
|
||||
"
|
||||
S = "${WORKDIR}/git"
|
||||
B = "${WORKDIR}/build-${TARGET_SYS}"
|
||||
Reference in New Issue
Block a user