From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15012 invoked by alias); 8 May 2011 17:01:32 -0000 Received: (qmail 15002 invoked by uid 22791); 8 May 2011 17:01:31 -0000 X-SWARE-Spam-Status: No, hits=-1.1 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,RFC_ABUSE_POST X-Spam-Check-By: sourceware.org Received: from mail-vx0-f169.google.com (HELO mail-vx0-f169.google.com) (209.85.220.169) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sun, 08 May 2011 17:01:17 +0000 Received: by vxk20 with SMTP id 20so6670374vxk.0 for ; Sun, 08 May 2011 10:01:16 -0700 (PDT) MIME-Version: 1.0 Received: by 10.52.176.101 with SMTP id ch5mr2017802vdc.129.1304874076826; Sun, 08 May 2011 10:01:16 -0700 (PDT) Received: by 10.52.164.101 with HTTP; Sun, 8 May 2011 10:01:16 -0700 (PDT) In-Reply-To: <201105061047.24349.pedro@codesourcery.com> References: <201105061047.24349.pedro@codesourcery.com> Date: Sun, 08 May 2011 17:01:00 -0000 Message-ID: Subject: Re: [testsuite] setting sysroot for target-board From: Wei-cheng Wang To: Pedro Alves Cc: gdb-patches@sourceware.org, Tom Tromey Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2011-05/txt/msg00212.txt.bz2 On Fri, May 6, 2011 at 5:47 PM, Pedro Alves wrote: > On Friday 06 May 2011 03:24:08, Wei-cheng Wang wrote: > Doing this here assumes you'll only need the sysroot after connecting. > How have you tested this? It seems you forgot the MI equivalent. Yes, I did test it. I found this issue when I tested gdb/gdbserver with a remote cross-target. Some thread- and shared library-related test cases failed due to using the wrong shared libraries for the host, so I tried to add sysroot support and I=E2=80=99ve tested it again to make sure = gdb will use the right shared libraries for the target. > I think a better place would be right after spawning > gdb (default_gdb_start/default_mi_gdb_start). If since you > already have a board file anyway, you could also override *gdb_start > and do it there instead of adding a new flag. I agree. It=E2=80=99s better to put this in default_gdb_start/default_mi_gd= b_start. Since these two functions are not just a few of lines, I will suggest adding this support, so it much easier to set sysroot as nee= ded. And here is the update according to your suggestion. Thanks. - - - - 2011-05-06 Wei-cheng Wang * lib/gdb.exp (default_gdb_start): Add support for setting sysroot = for target system. * lib/mi-support.exp (default_mi_gdb_start): Likewise. diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index 20e2fb7..c6fa62d 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -1349,6 +1349,18 @@ proc default_gdb_start { } { warning "Couldn't set the width to 0." } } + + if [target_info exists gdb,sysroot] { + send_gdb "set sysroot [target_info gdb,sysroot]\n" + gdb_expect 10 { + -re "$gdb_prompt $" { + verbose "Setting sysroot to [target_info gdb,sysroot]" 2 + } + timeout { + warning "Couldn't set the sysroot to [target_info gdb,sysr= oot]" + } + } + } return 0; } diff --git a/gdb/testsuite/lib/mi-support.exp b/gdb/testsuite/lib/mi-suppor= t.exp index e1dbd19..15565bc 100644 --- a/gdb/testsuite/lib/mi-support.exp +++ b/gdb/testsuite/lib/mi-support.exp @@ -221,6 +221,17 @@ proc default_mi_gdb_start { args } { } } } + if [target_info exists gdb,sysroot] { + send_gdb "103-gdb-set sysroot [target_info gdb,sysroot]\n" + gdb_expect 10 { + -re ".*103-gdb-set sysroot [target_info gdb,sysroot]\r\n103\\\^done\r\n$mi_gdb_prompt$" { + verbose "Setting sysroot to [target_info gdb,sysroot]" 2 + } + timeout { + warning "Couldn't set the sysroot to [target_info gdb,sysroot]." + } + } + } detect_async