This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.26-50-g9995c83
- From: azanella at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 8 Aug 2017 19:17:31 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.26-50-g9995c83
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via 9995c839a01cd8db17120cb2c0a80f81d858b179 (commit)
from f17a42333f2eb0bd7ef5194167dd52f9770a6680 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=9995c839a01cd8db17120cb2c0a80f81d858b179
commit 9995c839a01cd8db17120cb2c0a80f81d858b179
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date: Tue May 16 16:05:35 2017 -0300
manual: Document getcontext uc_stack value on Linux [BZ #759]
As decribed in BZ#759, Linux getcontext implementation on Linux does
differs from other SysV system about the returned uc_stack. This is
true not only for i386, but for all the architecture I could actually
check (aarch64, arm, alpha, hppa, m68k, mips, mips64, mips64n32,
powerpc, powerpc64, powerpc64le, s390x, sh, sparc, sparc64, and x86).
And I think we should not change current behavior for some reasons:
1. POSIX 2008 removed this SySV interface for a good reason and changing
this behavior adds nothing for current portable code. POSIX 2001
specification does states that stack should be saved [1] and current
GLIBC code does in a arch-specific manner (inside the mcontext_t)
which allows the setcontext to work correctly.
2. Changing this behavior would potentially require compat symbols and
I see no gain in adding compat symbols for deprecated interfaces.
3. Also, for comment #2 in BZ#759, it is up to kernel do setup the contents
for ucontext_t and currently it does not provide the stack information
as well. Trying to change it is also another fix that does not worth
the possible gains.
Instead my proposal is to make it clear the current interface may differ
depending of the underlying operational system.
glibc documentation and close this bug as invalid.
[BZ #759]
* manual/setjmp.texi (getcontex): Document uc_stack value on Linux.
[1] http://pubs.opengroup.org/onlinepubs/009695399/functions/getcontext.html
diff --git a/ChangeLog b/ChangeLog
index 12d0a7d..36dd9e6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2017-08-08 Adhemerval Zanella <adhemerval.zanella@linaro.org>
+
+ [BZ #759]
+ * manual/setjmp.texi (getcontex): Document uc_stack value
+ compatibility differences.
+
2017-08-08 Joseph Myers <joseph@codesourcery.com>
* malloc/mcheck.c (old_free_hook): Use void * instead of __ptr_t.
diff --git a/manual/setjmp.texi b/manual/setjmp.texi
index 7102528..3ce202d 100644
--- a/manual/setjmp.texi
+++ b/manual/setjmp.texi
@@ -294,6 +294,11 @@ the content of the registers, the signal mask, and the current stack.
Executing the contents would start at the point where the
@code{getcontext} call just returned.
+@strong{Compatibility Note:} Depending on the operating system,
+information about the current context's stack may be in the
+@code{uc_stack} field of @var{ucp}, or it may instead be in
+architecture-specific subfields of the @code{uc_mcontext} field.
+
The function returns @code{0} if successful. Otherwise it returns
@code{-1} and sets @var{errno} accordingly.
@end deftypefun
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 6 ++++++
manual/setjmp.texi | 5 +++++
2 files changed, 11 insertions(+), 0 deletions(-)
hooks/post-receive
--
GNU C Library master sources