+2010-03-03 Doug Evans <dje@google.com>
+
+ * gdb.threads/linux-dp.c (shared_random): Call rand instead of rand_r.
+ * gdb.threads/linux-dp.exp: Compile with gdb_compile_pthreads instead
+ of gdb_compile. Add another pattern to match android backtrace.
+
2010-03-03 Tom Tromey <tromey@redhat.com>
PR gdb/11345:
int
shared_random ()
{
- static unsigned int seed;
int result;
pthread_mutex_lock (&random_mutex);
- result = rand_r (&seed);
+ result = rand ();
pthread_mutex_unlock (&random_mutex);
return result;
}
set testfile "linux-dp"
set srcfile ${testfile}.c
set binfile ${objdir}/${subdir}/${testfile}
-if {[gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug libs=-lpthread}] != ""} {
+if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != ""} {
return -1
}
gdb_continue_to_breakpoint "thread 5's print"
# When there is no debugging info available for the thread library,
# the backtrace entry for philosopher's caller looks like:
-# #1 0x4001c548 in pthread_create () from /lib/libpthread.so.0
+# #2 0x4001c548 in pthread_create () from /lib/libpthread.so.0
# If you do have debug info, the output obviously depends more on the
# exact library in use; under NPTL, you get:
# #2 0x0012b7fc in start_thread (arg=0x21) at pthread_create.c:264
-gdb_test "where" "print_philosopher.*philosopher.* \(from .*libpthread\|at pthread_create\).*" \
+gdb_test "where" "print_philosopher.*philosopher.* \(from .*libpthread\|at pthread_create\|in pthread_create\).*" \
"first thread-specific breakpoint hit"
# Make sure it's catching the right thread. Try hitting the