!12 update version to 3.8

Merge pull request !12 from 邹林/master
This commit is contained in:
openeuler-ci-bot 2021-12-30 08:31:25 +00:00 committed by Gitee
commit f4e5c97da2
5 changed files with 16 additions and 134 deletions

Binary file not shown.

BIN
diffutils-3.8.tar.xz Normal file

Binary file not shown.

View File

@ -11,8 +11,8 @@ diff -up diffutils-3.6/src/diff.c.i18n diffutils-3.6/src/diff.c
recursively. */ recursively. */
static bool recursive; static bool recursive;
@@ -298,6 +300,13 @@ main (int argc, char **argv) @@ -298,6 +300,13 @@ main (int argc, char **argv)
excluded = new_exclude ();
presume_output_tty = false; presume_output_tty = false;
xstdopen ();
+#ifdef HANDLE_MULTIBYTE +#ifdef HANDLE_MULTIBYTE
+ if (MB_CUR_MAX > 1) + if (MB_CUR_MAX > 1)

View File

@ -1,12 +1,11 @@
Name: diffutils Name: diffutils
Version: 3.7 Version: 3.8
Release: 5 Release: 1
Summary: A GNU collection of diff utilities Summary: A GNU collection of diff utilities
URL: http://www.gnu.org/software/diffutils/diffutils.html URL: http://www.gnu.org/software/diffutils/diffutils.html
Source: ftp://ftp.gnu.org/gnu/diffutils/diffutils-%{version}.tar.xz Source: ftp://ftp.gnu.org/gnu/diffutils/diffutils-%{version}.tar.xz
Patch1: diffutils-cmp-s-empty.patch Patch1: diffutils-cmp-s-empty.patch
Patch2: diffutils-i18n.patch Patch2: diffutils-i18n.patch
Patch3: gnulib-c-stack.patch
License: GPLv3+ License: GPLv3+
Provides: bundled(gnulib) Provides: bundled(gnulib)
BuildRequires: gcc, help2man, gettext-devel BuildRequires: gcc, help2man, gettext-devel
@ -54,6 +53,12 @@ cat tests/test-suite.log
%exclude %{_infodir}/dir %exclude %{_infodir}/dir
%changelog %changelog
* Wed Dec 29 2021 zoulin<zoulin13@huawei.com> 3.8-1
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:update version to 3.8
* Wed Aug 11 2021 wangjie<wangjie375@huawei.com> 3.7-5 * Wed Aug 11 2021 wangjie<wangjie375@huawei.com> 3.7-5
- Type:bugfix - Type:bugfix
- ID:NA - ID:NA

View File

@ -1,123 +0,0 @@
From f9e2b20a12a230efa30f1d479563ae07d276a94b Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Wed, 30 Sep 2020 13:50:36 -0700
Subject: [PATCH] c-stack: stop using SIGSTKSZ
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Its been proposed to stop making SIGSTKSZ an integer constant:
https://sourceware.org/pipermail/libc-alpha/2020-September/118028.html
Also, using SIGSTKSZ in #if did not conform to current POSIX.
Also, avoiding SIGSTKSZ makes the code simpler and easier to grok.
* lib/c-stack.c (SIGSTKSZ): Remove.
(alternate_signal_stack): Now a 64 KiB array, for simplicity.
All uses changed.
---
lib/c-stack.c | 45 +++++++++++++++++----------------------------
lib/c-stack.h | 2 +-
2 files changed, 18 insertions(+), 29 deletions(-)
diff --git a/lib/c-stack.c b/lib/c-stack.c
index 9bbe6fe..363942e 100644
--- a/lib/c-stack.c
+++ b/lib/c-stack.c
@@ -50,15 +50,6 @@
#if ! HAVE_STACK_T && ! defined stack_t
typedef struct sigaltstack stack_t;
#endif
-#ifndef SIGSTKSZ
-# define SIGSTKSZ 16384
-#elif HAVE_LIBSIGSEGV && SIGSTKSZ < 16384
-/* libsigsegv 2.6 through 2.8 have a bug where some architectures use
- more than the Linux default of an 8k alternate stack when deciding
- if a fault was caused by stack overflow. */
-# undef SIGSTKSZ
-# define SIGSTKSZ 16384
-#endif
#include <stdlib.h>
#include <string.h>
@@ -89,6 +80,16 @@ typedef struct sigaltstack stack_t;
# endif
#endif
+/* Storage for the alternate signal stack.
+ 64 KiB is not too large for Gnulib-using apps, and is large enough
+ for all known platforms. Smaller sizes may run into trouble.
+ For example, libsigsegv 2.6 through 2.8 have a bug where some
+ architectures use more than the Linux default of an 8 KiB alternate
+ stack when deciding if a fault was caused by stack overflow. */
+static max_align_t alternate_signal_stack[(64 * 1024
+ + sizeof (max_align_t) - 1)
+ / sizeof (max_align_t)];
+
/* The user-specified action to take when a SEGV-related program error
or stack overflow occurs. */
static void (* volatile segv_action) (int);
@@ -133,18 +134,6 @@ die (int signo)
#if (HAVE_SIGALTSTACK && HAVE_DECL_SIGALTSTACK \
&& HAVE_STACK_OVERFLOW_HANDLING) || HAVE_LIBSIGSEGV
-/* Storage for the alternate signal stack. */
-static union
-{
- char buffer[SIGSTKSZ];
-
- /* These other members are for proper alignment. There's no
- standard way to guarantee stack alignment, but this seems enough
- in practice. */
- long double ld;
- long l;
- void *p;
-} alternate_signal_stack;
static void
null_action (int signo __attribute__ ((unused)))
@@ -210,8 +199,8 @@ c_stack_action (void (*action) (int))
/* Always install the overflow handler. */
if (stackoverflow_install_handler (overflow_handler,
- alternate_signal_stack.buffer,
- sizeof alternate_signal_stack.buffer))
+ alternate_signal_stack,
+ sizeof alternate_signal_stack))
{
errno = ENOTSUP;
return -1;
@@ -284,14 +273,14 @@ c_stack_action (void (*action) (int))
stack_t st;
struct sigaction act;
st.ss_flags = 0;
+ st.ss_sp = alternate_signal_stack;
+ st.ss_size = sizeof alternate_signal_stack;
# if SIGALTSTACK_SS_REVERSED
/* Irix mistakenly treats ss_sp as the upper bound, rather than
lower bound, of the alternate stack. */
- st.ss_sp = alternate_signal_stack.buffer + SIGSTKSZ - sizeof (void *);
- st.ss_size = sizeof alternate_signal_stack.buffer - sizeof (void *);
-# else
- st.ss_sp = alternate_signal_stack.buffer;
- st.ss_size = sizeof alternate_signal_stack.buffer;
+ st.ss_size -= sizeof (void *);
+ char *ss_sp = st.ss_sp;
+ st.ss_sp = ss_sp + st.ss_size;
# endif
r = sigaltstack (&st, NULL);
if (r != 0)
diff --git a/lib/c-stack.h b/lib/c-stack.h
index 57963c0..9d1a13a 100644
--- a/lib/c-stack.h
+++ b/lib/c-stack.h
@@ -34,7 +34,7 @@
A null ACTION acts like an action that does nothing.
ACTION must be async-signal-safe. ACTION together with its callees
- must not require more than SIGSTKSZ bytes of stack space. Also,
+ must not require more than 64 KiB of stack space. Also,
ACTION should not call longjmp, because this implementation does
not guarantee that it is safe to return to the original stack.
--
2.27.0