File fixup-gdb-6.5-sharedlibrary-path.patch of Package gdb
[gdb/testsuite] Fixup gdb.threads/tls-sepdebug.exp
On factory, due to --as-needed we end up with a tls-sepdebug-main without
dependency on tls-sepdebug-shared.so:
...
$ ldd tls-sepdebug-main
linux-vdso.so.1 (0x00007fffe7fcf000)
libc.so.6 => /lib64/libc.so.6 (0x00007f205f05f000)
/lib64/ld-linux-x86-64.so.2 (0x00007f205f232000)
...
Fix this by actually using the variable var (defined in
tls-sepdebug-shared.so) in tls-sepdebug-main.
Likewise, we end up without a dependency on libpthread.so.0, which we need to
read tls vars. Add a call to pthread_testcancel, as in
gdb.threads/tls-var-main.c
---
gdb/testsuite/gdb.threads/tls-sepdebug-main.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/gdb/testsuite/gdb.threads/tls-sepdebug-main.c b/gdb/testsuite/gdb.threads/tls-sepdebug-main.c
index ea5d0174d6a..87803f6d27e 100644
--- a/gdb/testsuite/gdb.threads/tls-sepdebug-main.c
+++ b/gdb/testsuite/gdb.threads/tls-sepdebug-main.c
@@ -19,7 +19,13 @@
Please email any bugs, comments, and/or additions to this file to:
bug-gdb@prep.ai.mit.edu */
+#include <pthread.h>
+
+extern __thread int var;
+
int main()
{
- return 0;
+ /* Ensure we link against pthreads even with --as-needed. */
+ pthread_testcancel();
+ return var;
}