From patchwork Mon Sep 29 13:56:54 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yao Qi X-Patchwork-Id: 3018 Received: (qmail 11876 invoked by alias); 29 Sep 2014 14:01:29 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 11854 invoked by uid 89); 29 Sep 2014 14:01:28 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.7 required=5.0 tests=AWL, BAYES_00 autolearn=ham version=3.3.2 X-HELO: relay1.mentorg.com Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 29 Sep 2014 14:01:26 +0000 Received: from svr-orw-fem-03.mgc.mentorg.com ([147.34.97.39]) by relay1.mentorg.com with esmtp id 1XYbVz-00072u-7l from Yao_Qi@mentor.com for gdb-patches@sourceware.org; Mon, 29 Sep 2014 07:01:23 -0700 Received: from qiyao.dyndns.org.com (147.34.91.1) by svr-orw-fem-03.mgc.mentorg.com (147.34.97.39) with Microsoft SMTP Server id 14.3.181.6; Mon, 29 Sep 2014 07:01:22 -0700 From: Yao Qi To: Subject: [PATCH 2/2] Rename py-objfile-script-gdb.py.in to py-objfile-script-gdb.py Date: Mon, 29 Sep 2014 21:56:54 +0800 Message-ID: <1411999014-27629-2-git-send-email-yao@codesourcery.com> In-Reply-To: <1411999014-27629-1-git-send-email-yao@codesourcery.com> References: <877g121o4c.fsf@codesourcery.com> <1411999014-27629-1-git-send-email-yao@codesourcery.com> MIME-Version: 1.0 X-IsSubscribed: yes Patch was to fix the problem that py-objfile-script-gdb.py is removed after an in-tree build and test. As a result of the previous patch (we don't remove files copied to host any more), this patch is no longer needed. This patch is to revert it logically. gdb/testsuite: 2014-09-29 Yao Qi * gdb.python/py-objfile-script-gdb.py.in: Rename it to ... * gdb.python/py-objfile-script-gdb.py: New file. * gdb.python/py-objfile-script.exp: Update reference to py-objfile-script-gdb.py.in. Use gdb_remote_donwload instead of remote_download. Remove the dest file. --- gdb/testsuite/gdb.python/py-objfile-script-gdb.py | 63 ++++++++++++++++++++++ .../gdb.python/py-objfile-script-gdb.py.in | 63 ---------------------- gdb/testsuite/gdb.python/py-objfile-script.exp | 5 +- 3 files changed, 65 insertions(+), 66 deletions(-) create mode 100644 gdb/testsuite/gdb.python/py-objfile-script-gdb.py delete mode 100644 gdb/testsuite/gdb.python/py-objfile-script-gdb.py.in diff --git a/gdb/testsuite/gdb.python/py-objfile-script-gdb.py b/gdb/testsuite/gdb.python/py-objfile-script-gdb.py new file mode 100644 index 0000000..5910bdb --- /dev/null +++ b/gdb/testsuite/gdb.python/py-objfile-script-gdb.py @@ -0,0 +1,63 @@ +# Copyright (C) 2011-2014 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# This file is part of the GDB testsuite. + +import re + +class pp_ss: + def __init__(self, val): + self.val = val + + def to_string(self): + return "a=<" + str(self.val["a"]) + "> b=<" + str(self.val["b"]) + ">" + +def lookup_function (val): + "Look-up and return a pretty-printer that can print val." + + # Get the type. + type = val.type + + # If it points to a reference, get the reference. + if type.code == gdb.TYPE_CODE_REF: + type = type.target () + + # Get the unqualified type, stripped of typedefs. + type = type.unqualified ().strip_typedefs () + + # Get the type name. + typename = type.tag + + if typename == None: + return None + + # Iterate over local dictionary of types to determine + # if a printer is registered for that type. Return an + # instantiation of the printer if found. + for function in pretty_printers_dict: + if function.match (typename): + return pretty_printers_dict[function] (val) + + # Cannot find a pretty printer. Return None. + + return None + +def register_pretty_printers (): + pretty_printers_dict[re.compile ('^ss$')] = pp_ss + +pretty_printers_dict = {} + +register_pretty_printers () +gdb.current_progspace().pretty_printers.append (lookup_function) diff --git a/gdb/testsuite/gdb.python/py-objfile-script-gdb.py.in b/gdb/testsuite/gdb.python/py-objfile-script-gdb.py.in deleted file mode 100644 index 5910bdb..0000000 --- a/gdb/testsuite/gdb.python/py-objfile-script-gdb.py.in +++ /dev/null @@ -1,63 +0,0 @@ -# Copyright (C) 2011-2014 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# This file is part of the GDB testsuite. - -import re - -class pp_ss: - def __init__(self, val): - self.val = val - - def to_string(self): - return "a=<" + str(self.val["a"]) + "> b=<" + str(self.val["b"]) + ">" - -def lookup_function (val): - "Look-up and return a pretty-printer that can print val." - - # Get the type. - type = val.type - - # If it points to a reference, get the reference. - if type.code == gdb.TYPE_CODE_REF: - type = type.target () - - # Get the unqualified type, stripped of typedefs. - type = type.unqualified ().strip_typedefs () - - # Get the type name. - typename = type.tag - - if typename == None: - return None - - # Iterate over local dictionary of types to determine - # if a printer is registered for that type. Return an - # instantiation of the printer if found. - for function in pretty_printers_dict: - if function.match (typename): - return pretty_printers_dict[function] (val) - - # Cannot find a pretty printer. Return None. - - return None - -def register_pretty_printers (): - pretty_printers_dict[re.compile ('^ss$')] = pp_ss - -pretty_printers_dict = {} - -register_pretty_printers () -gdb.current_progspace().pretty_printers.append (lookup_function) diff --git a/gdb/testsuite/gdb.python/py-objfile-script.exp b/gdb/testsuite/gdb.python/py-objfile-script.exp index 298bc3e..a844163 100644 --- a/gdb/testsuite/gdb.python/py-objfile-script.exp +++ b/gdb/testsuite/gdb.python/py-objfile-script.exp @@ -32,9 +32,8 @@ if { [skip_python_tests] } { continue } # Make the -gdb.py script available to gdb, it is automagically loaded by gdb. # Care is taken to put it in the same directory as the binary so that # gdb will find it. -set remote_python_file [remote_download host \ - ${srcdir}/${subdir}/${testfile}-gdb.py.in \ - [standard_output_file ${testfile}-gdb.py]] +set remote_python_file [gdb_remote_download host \ + ${srcdir}/${subdir}/${testfile}-gdb.py] gdb_reinitialize_dir $srcdir/$subdir gdb_test_no_output "set auto-load safe-path ${remote_python_file}" "set auto-load safe-path"