From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3088 invoked by alias); 17 Aug 2003 22:05:05 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 3079 invoked from network); 17 Aug 2003 22:05:04 -0000 Received: from unknown (HELO gateway.sf.frob.com) (64.81.54.130) by sources.redhat.com with SMTP; 17 Aug 2003 22:05:04 -0000 Received: from magilla.sf.frob.com (magilla.sf.frob.com [198.49.250.228]) by gateway.sf.frob.com (Postfix) with ESMTP id B4C09357B; Sun, 17 Aug 2003 15:05:03 -0700 (PDT) Received: (from roland@localhost) by magilla.sf.frob.com (8.11.6/8.11.6) id h7HM53i19437; Sun, 17 Aug 2003 15:05:03 -0700 Date: Sun, 17 Aug 2003 22:05:00 -0000 Message-Id: <200308172205.h7HM53i19437@magilla.sf.frob.com> From: Roland McGrath To: gdb@sources.redhat.com Subject: gdb.threads/linux-dp.exp test nit Emacs: because idle RAM is the Devil's playground. X-SW-Source: 2003-08/txt/msg00179.txt.bz2 The test suite will produce: FAIL: gdb.threads/linux-dp.exp: first thread-specific breakpoint hit if you have debugging information for libpthread available. That is: gdb_test "where" "print_philosopher.*philosopher.* from .*libpthread.*" \ "first thread-specific breakpoint hit" It expects the backtrace to say "something () from libpthread.so.0" for the frames indicating the callers in libpthread of print_philosopher. But my backtrace looks like this: #0 print_philosopher (n=3, left=33 '!', right=33 '!') at /home/roland/BUILD/gdb +dejagnu-5.3.90_20030710/gdb/testsuite/gdb.threads/linux-dp.c:105 #1 0x08048aa3 in philosopher (data=0x804a094) at /home/roland/BUILD/gdb+dejagnu -5.3.90_20030710/gdb/testsuite/gdb.threads/linux-dp.c:148 #2 0x4001c9ea in start_thread (arg=0x21) at pthread_create.c:264 #3 0x40136247 in clone () from /lib/tls/libc.so.6 The crucial line is #2, where it has source info instead of "from libpthread". The assumption that the backtrace will look either of these ways is bogus anyway. The threads implementation could well produce a backtrace that didn't show a recognizable frame before `philosopher'. If the intent of this test predicate is to make sure it's in the right thread, it really ought to be looking at the N argument to print_philosopher in the backtrace. Thanks, Roland