From: Yao Qi Date: Mon, 29 Sep 2014 13:37:32 +0000 (+0800) Subject: Rename py-objfile-script-gdb.py.in to py-objfile-script-gdb.py X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=092f880b8e4cacee96e85a885c206e8879e86fec;p=binutils-gdb.git Rename py-objfile-script-gdb.py.in to py-objfile-script-gdb.py 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-10-20 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. --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index a0bb480776c..3b7bb46e531 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2014-10-20 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. + 2014-10-20 Yao Qi * gdb.base/checkpoint.exp: Don't remove file copied on host. 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 00000000000..5910bdbb907 --- /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 5910bdbb907..00000000000 --- 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 298bc3e42ea..a844163873a 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"