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.24-460-g341657b
- From: fw at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 10 Dec 2016 20:21:39 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.24-460-g341657b
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 341657bc9c17d3ea4546c6d998e67ca349a78e80 (commit)
from fea34d51e03ec5ebf9b25cb3010751782bf27fb1 (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=341657bc9c17d3ea4546c6d998e67ca349a78e80
commit 341657bc9c17d3ea4546c6d998e67ca349a78e80
Author: Florian Weimer <fweimer@redhat.com>
Date: Sat Dec 10 21:16:57 2016 +0100
debug: Additional compiler barriers for backtrace tests [BZ #20956]
The new test framework changed the call stacks. The weak attribute
acts as a strong compiler barrier. Some static functions had to be
declared extern as a consequence.
diff --git a/ChangeLog b/ChangeLog
index 5d51e9a..4d31f4f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2016-12-10 Florian Weimer <fweimer@redhat.com>
+
+ [BZ #20956]
+ * debug/tst-backtrace.h (NO_INLINE): Add noclone, weak attributes
+ as additional compiler barriers.
+ * debug/tst-backtrace2.c: Switch to <support/test-driver.c>.
+ (fn2, do_test): Declare with external linkage.
+ * debug/tst-backtrace3.c: Switch to <support/test-driver.c>.
+ (do_test): Declare with external linkage.
+ * debug/tst-backtrace4.c: Switch to <support/test-driver.c>.
+ (do_test): Declare with external linkage.
+ * debug/tst-backtrace5.c: Switch to <support/test-driver.c>.
+ (do_test): Declare with external linkage.
+
2016-12-10 Andreas Schwab <schwab@linux-m68k.org>
* support/support_test_main.c (support_test_main): Use correct
diff --git a/debug/tst-backtrace.h b/debug/tst-backtrace.h
index 1a53048..6a4b200 100644
--- a/debug/tst-backtrace.h
+++ b/debug/tst-backtrace.h
@@ -33,7 +33,7 @@ volatile int x;
/* Use this attribute to prevent inlining, so that all expected frames
are present. */
-#define NO_INLINE __attribute__ ((noinline))
+#define NO_INLINE __attribute__ ((noinline, noclone, weak))
/* Look for a match in SYM from backtrace_symbols to NAME, a fragment
of a function name. Ignore the filename before '(', but presume
diff --git a/debug/tst-backtrace2.c b/debug/tst-backtrace2.c
index d139c10..4224b55 100644
--- a/debug/tst-backtrace2.c
+++ b/debug/tst-backtrace2.c
@@ -24,10 +24,6 @@
#include "tst-backtrace.h"
-static int do_test (void);
-#define TEST_FUNCTION do_test ()
-#include "../test-skeleton.c"
-
/* The backtrace should include at least f1, f2, f3, and do_test. */
#define NUM_FUNCTIONS 4
@@ -75,7 +71,7 @@ fn1 (void)
check do_test. */
}
-NO_INLINE static int
+NO_INLINE int
fn2 (void)
{
fn1 ();
@@ -91,7 +87,7 @@ fn3 (void)
return x;
}
-NO_INLINE static int
+NO_INLINE int
do_test (void)
{
/* Test BZ #18084. */
@@ -103,3 +99,5 @@ do_test (void)
fn3 ();
return ret;
}
+
+#include <support/test-driver.c>
diff --git a/debug/tst-backtrace3.c b/debug/tst-backtrace3.c
index 74514d7..f3135f2 100644
--- a/debug/tst-backtrace3.c
+++ b/debug/tst-backtrace3.c
@@ -24,10 +24,6 @@
#include "tst-backtrace.h"
-static int do_test (void);
-#define TEST_FUNCTION do_test ()
-#include "../test-skeleton.c"
-
/* The backtrace should include at least 3 * fn, and do_test. */
#define NUM_FUNCTIONS 4
@@ -75,9 +71,11 @@ fn (int c)
return x;
}
-NO_INLINE static int
+NO_INLINE int
do_test (void)
{
fn (2);
return ret;
}
+
+#include <support/test-driver.c>
diff --git a/debug/tst-backtrace4.c b/debug/tst-backtrace4.c
index 965e6bd..db2be10 100644
--- a/debug/tst-backtrace4.c
+++ b/debug/tst-backtrace4.c
@@ -27,10 +27,6 @@
#include "tst-backtrace.h"
-static int do_test (void);
-#define TEST_FUNCTION do_test ()
-#include "../test-skeleton.c"
-
/* The backtrace should include at least handle_signal, a signal
trampoline, 3 * fn, and do_test. */
#define NUM_FUNCTIONS 6
@@ -115,9 +111,11 @@ fn (int c)
return 0;
}
-NO_INLINE static int
+NO_INLINE int
do_test (void)
{
fn (2);
return ret;
}
+
+#include <support/test-driver.c>
diff --git a/debug/tst-backtrace5.c b/debug/tst-backtrace5.c
index c049bca..a6ed474 100644
--- a/debug/tst-backtrace5.c
+++ b/debug/tst-backtrace5.c
@@ -32,10 +32,6 @@
# define SIGACTION_FLAGS 0
#endif
-static int do_test (void);
-#define TEST_FUNCTION do_test ()
-#include "../test-skeleton.c"
-
/* The backtrace should include at least handle_signal, a signal
trampoline, read, 3 * fn, and do_test. */
#define NUM_FUNCTIONS 7
@@ -133,9 +129,11 @@ fn (int c, int flags)
return 0;
}
-NO_INLINE static int
+NO_INLINE int
do_test (void)
{
fn (2, SIGACTION_FLAGS);
return ret;
}
+
+#include <support/test-driver.c>
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 14 ++++++++++++++
debug/tst-backtrace.h | 2 +-
debug/tst-backtrace2.c | 10 ++++------
debug/tst-backtrace3.c | 8 +++-----
debug/tst-backtrace4.c | 8 +++-----
debug/tst-backtrace5.c | 8 +++-----
6 files changed, 28 insertions(+), 22 deletions(-)
hooks/post-receive
--
GNU C Library master sources