rebase to 2.36
Signed-off-by: Chunmei Xu <xuchunmei@linux.alibaba.com>
This commit is contained in:
parent
4b03b78746
commit
bbc1fbe6e4
9 changed files with 19 additions and 7710 deletions
|
@ -1,65 +0,0 @@
|
|||
From 9e8281add35dde70478464389fab6f0f7e75b880 Mon Sep 17 00:00:00 2001
|
||||
From: Andreas Schwab <schwab@linux-m68k.org>
|
||||
Date: Thu, 3 Feb 2022 09:37:42 +0100
|
||||
Subject: [PATCH 01/13] Regenerate configure
|
||||
|
||||
---
|
||||
configure | 14 +-------------
|
||||
1 file changed, 1 insertion(+), 13 deletions(-)
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index 00dc638388..8e5bee775a 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -730,7 +730,6 @@ infodir
|
||||
docdir
|
||||
oldincludedir
|
||||
includedir
|
||||
-runstatedir
|
||||
localstatedir
|
||||
sharedstatedir
|
||||
sysconfdir
|
||||
@@ -845,7 +844,6 @@ datadir='${datarootdir}'
|
||||
sysconfdir='${prefix}/etc'
|
||||
sharedstatedir='${prefix}/com'
|
||||
localstatedir='${prefix}/var'
|
||||
-runstatedir='${localstatedir}/run'
|
||||
includedir='${prefix}/include'
|
||||
oldincludedir='/usr/include'
|
||||
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
|
||||
@@ -1098,15 +1096,6 @@ do
|
||||
| -silent | --silent | --silen | --sile | --sil)
|
||||
silent=yes ;;
|
||||
|
||||
- -runstatedir | --runstatedir | --runstatedi | --runstated \
|
||||
- | --runstate | --runstat | --runsta | --runst | --runs \
|
||||
- | --run | --ru | --r)
|
||||
- ac_prev=runstatedir ;;
|
||||
- -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
|
||||
- | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
|
||||
- | --run=* | --ru=* | --r=*)
|
||||
- runstatedir=$ac_optarg ;;
|
||||
-
|
||||
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
|
||||
ac_prev=sbindir ;;
|
||||
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
|
||||
@@ -1244,7 +1233,7 @@ fi
|
||||
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
|
||||
datadir sysconfdir sharedstatedir localstatedir includedir \
|
||||
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
|
||||
- libdir localedir mandir runstatedir
|
||||
+ libdir localedir mandir
|
||||
do
|
||||
eval ac_val=\$$ac_var
|
||||
# Remove trailing slashes.
|
||||
@@ -1397,7 +1386,6 @@ Fine tuning of the installation directories:
|
||||
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
|
||||
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
|
||||
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
|
||||
- --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
|
||||
--libdir=DIR object code libraries [EPREFIX/lib]
|
||||
--includedir=DIR C header files [PREFIX/include]
|
||||
--oldincludedir=DIR C header files for non-gcc [/usr/include]
|
||||
--
|
||||
2.29.2
|
||||
|
|
@ -1,147 +0,0 @@
|
|||
From d2e4d2a38e4e7bc3ca407607e717b7f50b20c63f Mon Sep 17 00:00:00 2001
|
||||
From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
||||
Date: Wed, 2 Feb 2022 18:31:59 -0300
|
||||
Subject: [PATCH 02/13] posix: Fix tst-spawn6 terminal handling (BZ #28853)
|
||||
|
||||
The test changes the current foreground process group, which might
|
||||
break testing depending of how the make check is issued. For instance:
|
||||
|
||||
nohup make -j1 test t=posix/tst-spawn6 | less
|
||||
|
||||
Will set 'make' and 'less' to be in the foreground process group in
|
||||
the current session. When tst-spawn6 new child takes over it becomes
|
||||
the foreground process and 'less' is stopped and backgrounded which
|
||||
interrupts the 'make check' command.
|
||||
|
||||
To fix it a pseudo-terminal is allocated, the test starts in new
|
||||
session (so there is no controlling terminal associated), and the
|
||||
pseudo-terminal is set as the controlling one (similar to what
|
||||
login_tty does).
|
||||
|
||||
Checked on x86_64-linux-gnu.
|
||||
|
||||
Tested-by: Carlos O'Donell <carlos@redhat.com>
|
||||
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
|
||||
|
||||
(cherry picked from a9d35765728cbc5b66af5eeda5428298bccf9b69)
|
||||
---
|
||||
NEWS | 8 ++++++
|
||||
posix/tst-spawn6.c | 62 ++++++++++++++++++++++++++++++++++++++--------
|
||||
2 files changed, 59 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/NEWS b/NEWS
|
||||
index faa7ec1871..b1aae94cfb 100644
|
||||
--- a/NEWS
|
||||
+++ b/NEWS
|
||||
@@ -4,6 +4,14 @@ See the end for copying conditions.
|
||||
|
||||
Please send GNU C library bug reports via <https://sourceware.org/bugzilla/>
|
||||
using `glibc' in the "product" field.
|
||||
+
|
||||
+Version 2.35.1
|
||||
+
|
||||
+The following bugs are resolved with this release:
|
||||
+
|
||||
+ [28853] libc: tst-spawn6 changes current foreground process group
|
||||
+ (breaks test isolation)
|
||||
+
|
||||
|
||||
Version 2.35
|
||||
|
||||
diff --git a/posix/tst-spawn6.c b/posix/tst-spawn6.c
|
||||
index 911e90a461..044abd8535 100644
|
||||
--- a/posix/tst-spawn6.c
|
||||
+++ b/posix/tst-spawn6.c
|
||||
@@ -29,7 +29,14 @@
|
||||
#include <support/check.h>
|
||||
#include <support/xunistd.h>
|
||||
#include <sys/wait.h>
|
||||
+#include <sys/ioctl.h>
|
||||
#include <stdlib.h>
|
||||
+#include <termios.h>
|
||||
+
|
||||
+#ifndef PATH_MAX
|
||||
+# define PATH_MAX 1024
|
||||
+#endif
|
||||
+static char ptmxpath[PATH_MAX];
|
||||
|
||||
static int
|
||||
handle_restart (const char *argv1, const char *argv2)
|
||||
@@ -115,7 +122,7 @@ run_subprogram (int argc, char *argv[], const posix_spawnattr_t *attr,
|
||||
}
|
||||
|
||||
static int
|
||||
-do_test (int argc, char *argv[])
|
||||
+run_test (int argc, char *argv[])
|
||||
{
|
||||
/* We must have either:
|
||||
- four parameters left if called initially:
|
||||
@@ -127,16 +134,7 @@ do_test (int argc, char *argv[])
|
||||
+ --setgrpr optional
|
||||
*/
|
||||
|
||||
- if (restart)
|
||||
- return handle_restart (argv[1], argv[2]);
|
||||
-
|
||||
- int tcfd = open64 (_PATH_TTY, O_RDONLY, 0600);
|
||||
- if (tcfd == -1)
|
||||
- {
|
||||
- if (errno == ENXIO)
|
||||
- FAIL_UNSUPPORTED ("terminal not available, skipping test");
|
||||
- FAIL_EXIT1 ("open64 (\"%s\", 0x%x, 0600): %m", _PATH_TTY, O_RDONLY);
|
||||
- }
|
||||
+ int tcfd = xopen (ptmxpath, O_RDONLY, 0600);
|
||||
|
||||
/* Check setting the controlling terminal without changing the group. */
|
||||
{
|
||||
@@ -198,5 +196,47 @@ do_test (int argc, char *argv[])
|
||||
return 0;
|
||||
}
|
||||
|
||||
+static int
|
||||
+do_test (int argc, char *argv[])
|
||||
+{
|
||||
+ if (restart)
|
||||
+ return handle_restart (argv[1], argv[2]);
|
||||
+
|
||||
+ pid_t pid = xfork ();
|
||||
+ if (pid == 0)
|
||||
+ {
|
||||
+ /* Create a pseudo-terminal to avoid interfering with the one using by
|
||||
+ test itself, creates a new session (so there is no controlling
|
||||
+ terminal), and set the pseudo-terminal as the controlling one. */
|
||||
+ int ptmx = posix_openpt (0);
|
||||
+ if (ptmx == -1)
|
||||
+ {
|
||||
+ if (errno == ENXIO)
|
||||
+ FAIL_UNSUPPORTED ("terminal not available, skipping test");
|
||||
+ FAIL_EXIT1 ("posix_openpt (0): %m");
|
||||
+ }
|
||||
+ TEST_VERIFY_EXIT (grantpt (ptmx) == 0);
|
||||
+ TEST_VERIFY_EXIT (unlockpt (ptmx) == 0);
|
||||
+
|
||||
+ TEST_VERIFY_EXIT (setsid () != -1);
|
||||
+ TEST_VERIFY_EXIT (ioctl (ptmx, TIOCSCTTY, NULL) == 0);
|
||||
+ while (dup2 (ptmx, STDIN_FILENO) == -1 && errno == EBUSY)
|
||||
+ ;
|
||||
+ while (dup2 (ptmx, STDOUT_FILENO) == -1 && errno == EBUSY)
|
||||
+ ;
|
||||
+ while (dup2 (ptmx, STDERR_FILENO) == -1 && errno == EBUSY)
|
||||
+ ;
|
||||
+ TEST_VERIFY_EXIT (ptsname_r (ptmx, ptmxpath, sizeof ptmxpath) == 0);
|
||||
+ xclose (ptmx);
|
||||
+
|
||||
+ run_test (argc, argv);
|
||||
+ _exit (0);
|
||||
+ }
|
||||
+ int status;
|
||||
+ xwaitpid (pid, &status, 0);
|
||||
+ TEST_VERIFY (WIFEXITED (status));
|
||||
+ exit (0);
|
||||
+}
|
||||
+
|
||||
#define TEST_FUNCTION_ARGV do_test
|
||||
#include <support/test-driver.c>
|
||||
--
|
||||
2.29.2
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
From a2f1675634b3513c09c38e55e6766e8c05768b1f Mon Sep 17 00:00:00 2001
|
||||
From: Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
|
||||
Date: Tue, 1 Feb 2022 22:39:02 +0000
|
||||
Subject: [PATCH 03/13] linux: __get_nprocs_sched: do not feed CPU_COUNT_S with
|
||||
garbage [BZ #28850]
|
||||
|
||||
Pass the actual number of bytes returned by the kernel.
|
||||
|
||||
Fixes: 33099d72e41c ("linux: Simplify get_nprocs")
|
||||
Reviewed-by: Dmitry V. Levin <ldv@altlinux.org>
|
||||
|
||||
(cherry picked from commit 97ba273b505763325efd802dc3a9562dbba79579)
|
||||
---
|
||||
NEWS | 1 +
|
||||
sysdeps/unix/sysv/linux/getsysstats.c | 2 +-
|
||||
2 files changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/NEWS b/NEWS
|
||||
index b1aae94cfb..d1602051d1 100644
|
||||
--- a/NEWS
|
||||
+++ b/NEWS
|
||||
@@ -9,6 +9,7 @@ Version 2.35.1
|
||||
|
||||
The following bugs are resolved with this release:
|
||||
|
||||
+ [28850] linux: __get_nprocs_sched reads uninitialized memory from the stack
|
||||
[28853] libc: tst-spawn6 changes current foreground process group
|
||||
(breaks test isolation)
|
||||
|
||||
diff --git a/sysdeps/unix/sysv/linux/getsysstats.c b/sysdeps/unix/sysv/linux/getsysstats.c
|
||||
index 4798cc337e..c98c8ce3d4 100644
|
||||
--- a/sysdeps/unix/sysv/linux/getsysstats.c
|
||||
+++ b/sysdeps/unix/sysv/linux/getsysstats.c
|
||||
@@ -44,7 +44,7 @@ __get_nprocs_sched (void)
|
||||
int r = INTERNAL_SYSCALL_CALL (sched_getaffinity, 0, cpu_bits_size,
|
||||
cpu_bits);
|
||||
if (r > 0)
|
||||
- return CPU_COUNT_S (cpu_bits_size, (cpu_set_t*) cpu_bits);
|
||||
+ return CPU_COUNT_S (r, (cpu_set_t*) cpu_bits);
|
||||
else if (r == -EINVAL)
|
||||
/* The input buffer is still not enough to store the number of cpus. This
|
||||
is an arbitrary values assuming such systems should be rare and there
|
||||
--
|
||||
2.29.2
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
From 7001c1e38b46d5f5a90f7915b1211782341ab6a8 Mon Sep 17 00:00:00 2001
|
||||
From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
||||
Date: Thu, 3 Feb 2022 16:52:52 -0300
|
||||
Subject: [PATCH 04/13] linux: Fix missing __convert_scm_timestamps (BZ #28860)
|
||||
|
||||
Commit 948ce73b31 made recvmsg/recvmmsg to always call
|
||||
__convert_scm_timestamps for 64 bit time_t symbol, so adjust it to
|
||||
always build it for __TIMESIZE != 64.
|
||||
|
||||
It fixes build for architecture with 32 bit time_t support when
|
||||
configured with minimum kernel of 5.1.
|
||||
|
||||
(cherry picked from 798d716df71fb23dc89d1d5dba1fc26a1b5c0024)
|
||||
---
|
||||
sysdeps/unix/sysv/linux/convert_scm_timestamps.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/sysdeps/unix/sysv/linux/convert_scm_timestamps.c b/sysdeps/unix/sysv/linux/convert_scm_timestamps.c
|
||||
index 82171bf325..dfc8c2beff 100644
|
||||
--- a/sysdeps/unix/sysv/linux/convert_scm_timestamps.c
|
||||
+++ b/sysdeps/unix/sysv/linux/convert_scm_timestamps.c
|
||||
@@ -16,9 +16,9 @@
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
-#include <kernel-features.h>
|
||||
+#include <bits/timesize.h>
|
||||
|
||||
-#ifndef __ASSUME_TIME64_SYSCALLS
|
||||
+#if __TIMESIZE != 64
|
||||
# include <stdint.h>
|
||||
# include <string.h>
|
||||
# include <sys/socket.h>
|
||||
--
|
||||
2.29.2
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
From 24962427071fa532c3c48c918e9d64d719cc8a6c Mon Sep 17 00:00:00 2001
|
||||
From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
||||
Date: Thu, 3 Feb 2022 17:50:13 -0300
|
||||
Subject: [PATCH 05/13] Add BZ#28860 reference on NEWS
|
||||
|
||||
---
|
||||
NEWS | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/NEWS b/NEWS
|
||||
index d1602051d1..6b8db4e947 100644
|
||||
--- a/NEWS
|
||||
+++ b/NEWS
|
||||
@@ -12,6 +12,8 @@ The following bugs are resolved with this release:
|
||||
[28850] linux: __get_nprocs_sched reads uninitialized memory from the stack
|
||||
[28853] libc: tst-spawn6 changes current foreground process group
|
||||
(breaks test isolation)
|
||||
+ [28860] build: --enable-kernel=5.1.0 build fails because of missing
|
||||
+ __convert_scm_timestamps
|
||||
|
||||
|
||||
Version 2.35
|
||||
--
|
||||
2.29.2
|
||||
|
7374
ChangeLog.old
7374
ChangeLog.old
File diff suppressed because it is too large
Load diff
Binary file not shown.
Binary file not shown.
37
glibc.spec
37
glibc.spec
|
@ -1,4 +1,4 @@
|
|||
%define anolis_release 2
|
||||
%define anolis_release 1
|
||||
##############################################################################
|
||||
# We support the following options:
|
||||
# --with/--without,
|
||||
|
@ -100,7 +100,7 @@ end \
|
|||
##############################################################################
|
||||
Summary: The GNU libc libraries
|
||||
Name: glibc
|
||||
Version: 2.35
|
||||
Version: 2.36
|
||||
Release: %{anolis_release}%{?dist}
|
||||
|
||||
# In general, GPLv2+ is used by programs, LGPLv2+ is used for
|
||||
|
@ -161,20 +161,13 @@ rpm.define("__debug_install_post bash " .. wrapper
|
|||
# - See each individual patch file for origin and upstream status.
|
||||
# - For new patches follow template.patch format.
|
||||
##############################################################################
|
||||
Patch6: glibc-no-archive-for-localedef.patch
|
||||
Patch8: glibc-place-info-into-Libraries-category.patch
|
||||
Patch9: glibc-nscd-add-syslog-target-dependency.patch
|
||||
Patch15: glibc-fix-newlocale-error-return.patch
|
||||
Patch17: glibc-cs-path.patch
|
||||
Patch23: glibc-python3.patch
|
||||
Patch30: glibc-deprecated-selinux-makedb.patch
|
||||
|
||||
# sync from release/2.35/master
|
||||
Patch1001: 0001-Regenerate-configure.patch
|
||||
Patch1002: 0002-posix-Fix-tst-spawn6-terminal-handling-BZ-28853.patch
|
||||
Patch1003: 0003-linux-__get_nprocs_sched-do-not-feed-CPU_COUNT_S-wit.patch
|
||||
Patch1004: 0004-linux-Fix-missing-__convert_scm_timestamps-BZ-28860.patch
|
||||
Patch1005: 0005-Add-BZ-28860-reference-on-NEWS.patch
|
||||
Patch1: glibc-no-archive-for-localedef.patch
|
||||
Patch2: glibc-place-info-into-Libraries-category.patch
|
||||
Patch3: glibc-nscd-add-syslog-target-dependency.patch
|
||||
Patch4: glibc-fix-newlocale-error-return.patch
|
||||
Patch5: glibc-cs-path.patch
|
||||
Patch6: glibc-python3.patch
|
||||
Patch7: glibc-deprecated-selinux-makedb.patch
|
||||
|
||||
##############################################################################
|
||||
# Continued list of core "glibc" package information:
|
||||
|
@ -443,6 +436,8 @@ The sources for all locales provided in the language packs.
|
|||
If you are building custom locales you will most likely use
|
||||
these sources as the basis for your new locale.
|
||||
|
||||
%global locale_rx eo syr *_*
|
||||
|
||||
%{lua:
|
||||
-- To make lua-mode happy: '
|
||||
|
||||
|
@ -678,6 +673,7 @@ local locales = {
|
|||
{ code="pt", name="Portuguese", regions={ "BR", "PT" } },
|
||||
{ code="quz", name="Cusco Quechua", regions={ "PE" } },
|
||||
{ code="raj", name="Rajasthani", regions={ "IN" } },
|
||||
{ code="rif", name="Tarifit", regions={ "MA" } },
|
||||
{ code="ro", name="Romanian", regions={ "RO" } },
|
||||
{ code="ru", name="Russian", regions={ "RU", "UA" } },
|
||||
{ code="rw", name="Kinyarwanda", regions={ "RW" } },
|
||||
|
@ -702,6 +698,7 @@ local locales = {
|
|||
{ code="st", name="Southern Sotho", regions={ "ZA" } },
|
||||
{ code="sv", name="Swedish", regions={ "FI", "SE" } },
|
||||
{ code="sw", name="Swahili", regions={ "KE", "TZ" } },
|
||||
{ code="syr", name="Syriac", regions={} },
|
||||
{ code="szl", name="Silesian", regions={ "PL" } },
|
||||
{ code="ta", name="Tamil", regions={ "IN", "LK" } },
|
||||
{ code="tcy", name="Tulu", regions={ "IN" } },
|
||||
|
@ -1010,6 +1007,7 @@ rpm_inherit_flags \
|
|||
"-m64" \
|
||||
"-march=armv8-a+lse" \
|
||||
"-march=armv8.1-a" \
|
||||
"-march=armv9-a" \
|
||||
"-march=haswell" \
|
||||
"-march=i686" \
|
||||
"-march=x86-64" \
|
||||
|
@ -1261,14 +1259,14 @@ $olddir/build-%{target}/elf/ld.so \
|
|||
$olddir/build-%{target}/locale/localedef \
|
||||
--alias-file=$olddir/intl/locale.alias \
|
||||
--prefix %{glibc_sysroot} --add-to-archive \
|
||||
eo *_*
|
||||
%locale_rx
|
||||
# Historically, glibc-all-langpacks deleted the file on updates (sic),
|
||||
# so we need to restore it in the posttrans scriptlet (like the old
|
||||
# glibc-all-langpacks versions)
|
||||
ln locale-archive locale-archive.real
|
||||
|
||||
# Create the file lists for the language specific sub-packages:
|
||||
for i in eo *_*
|
||||
for i in %locale_rx
|
||||
do
|
||||
lang=${i%%_*}
|
||||
if [ ! -e langpack-${lang}.filelist ]; then
|
||||
|
@ -2067,6 +2065,9 @@ update_gconv_modules_cache ()
|
|||
%files -f compat-libpthread-nonshared.filelist -n compat-libpthread-nonshared
|
||||
|
||||
%changelog
|
||||
* Thu Aug 04 2022 Chunmei Xu <xuchunmei@linux.alibaba.com> - 2.36-1
|
||||
- rebase to 2.36
|
||||
|
||||
* Mon Jul 11 2022 Weisson <wenshu.hx@alibaba-inc.com> - 2.35-2
|
||||
- Add support for riscv64
|
||||
- RISC-V ABI wants to install everything in /lib64/lp64d or /usr/lib64/lp64d. Make these be symlinks to /lib64 or /usr/lib64 respectively.
|
||||
|
|
Loading…
Add table
Reference in a new issue