This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH][AARCH64][BZ #16850]Increase MINSIGSTKSZ & SIGSTKSZ
- From: Renlin Li <renlin dot li at arm dot com>
- To: GNU C Library <libc-alpha at sourceware dot org>
- Cc: Marcus Shawcroft <Marcus dot Shawcroft at arm dot com>
- Date: Fri, 14 Nov 2014 10:15:20 +0000
- Subject: [PATCH][AARCH64][BZ #16850]Increase MINSIGSTKSZ & SIGSTKSZ
- Authentication-results: sourceware.org; auth=none
Hi all,
This patch duplicates sysdeps/unix/sysv/linux/bits/sigstack.h into
sysdeps/unix/sysv/linux/aarch64/bits/sigstack.h and modifies only
SIGSTCKSZ and MINSIGSTKSZ.
The ucontext_t is 4560 bytes, siginfo_t is 128 bytes. The required
sigframe is far larger than the current default MINSIGSTKSZ (which is
2048). Thus, I increase MINSIGSTKSZ to 8192, and adjust SIGSTCKSZ
accordingly.
Glibc has been build and test on the model, no new issues.
Okay to commit?
ChangeLog:
2014-11-14 Renlin Li <Renlin.Li@arm.com>
[BZ #16850]
* sysdeps/unix/sysv/linux/aarch64/bits/sigstack.h: New.
diff --git a/NEWS b/NEWS
index c582c8e..bd02fa9 100644
--- a/NEWS
+++ b/NEWS
@@ -9,10 +9,10 @@ Version 2.21
* The following bugs are resolved with this release:
- 6652, 12926, 14132, 14138, 14171, 15215, 15884, 17266, 17344, 17363,
- 17370, 17371, 17411, 17460, 17475, 17485, 17501, 17506, 17508, 17522,
- 17555, 17570, 17571, 17572, 17573, 17574, 17582, 17583, 17584, 17585,
- 17589, 17594.
+ 6652, 12926, 14132, 14138, 14171, 15215, 15884, 16850, 17266, 17344,
+ 17363, 17370, 17371, 17411, 17460, 17475, 17485, 17501, 17506, 17508,
+ 17522, 17555, 17570, 17571, 17572, 17573, 17574, 17582, 17583, 17584,
+ 17585, 17589, 17594.
* New locales: tu_IN, bh_IN.
diff --git a/sysdeps/unix/sysv/linux/aarch64/bits/sigstack.h b/sysdeps/unix/sysv/linux/aarch64/bits/sigstack.h
new file mode 100644
index 0000000..a73c56e
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/aarch64/bits/sigstack.h
@@ -0,0 +1,54 @@
+/* sigstack, sigaltstack definitions.
+ Copyright (C) 1998-2014 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef _SIGNAL_H
+# error "Never include this file directly. Use <signal.h> instead"
+#endif
+
+
+/* Structure describing a signal stack (obsolete). */
+struct sigstack
+ {
+ void *ss_sp; /* Signal stack pointer. */
+ int ss_onstack; /* Nonzero if executing on this stack. */
+ };
+
+
+/* Possible values for `ss_flags.'. */
+enum
+{
+ SS_ONSTACK = 1,
+#define SS_ONSTACK SS_ONSTACK
+ SS_DISABLE
+#define SS_DISABLE SS_DISABLE
+};
+
+/* Minimum stack size for a signal handler. */
+#define MINSIGSTKSZ 8192
+
+/* System default stack size. */
+#define SIGSTKSZ 16384
+
+
+/* Alternate, preferred interface. */
+typedef struct sigaltstack
+ {
+ void *ss_sp;
+ int ss_flags;
+ size_t ss_size;
+ } stack_t;