123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267 |
- # Copyright (C) 2001-2015 Free Software Foundation, Inc.
- #
- # This file is part of GCC.
- #
- # GCC 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, or (at your option)
- # any later version.
- #
- # GCC 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 GCC; see the file COPYING3. If not see
- # <http://www.gnu.org/licenses/>.
- define pr
- set debug_rtx ($)
- end
- document pr
- Print the full structure of the rtx that is $.
- Works only when an inferior is executing.
- end
- define prl
- set debug_rtx_list ($, debug_rtx_count)
- end
- document prl
- Print the full structure of all rtx insns beginning at $.
- Works only when an inferior is executing.
- Uses variable debug_rtx_count to control number of insns printed:
- debug_rtx_count > 0: print from $ on.
- debug_rtx_count < 0: print a window around $.
- There is also debug_rtx_find (rtx, uid) that will scan a list for UID and print
- it using debug_rtx_list. Usage example: set $foo=debug_rtx_find(first, 42)
- end
- define pt
- set debug_tree ($)
- end
- document pt
- Print the full structure of the tree that is $.
- Works only when an inferior is executing.
- end
- define pct
- set debug_c_tree ($)
- end
- document pct
- Print the tree that is $ in C syntax.
- Works only when an inferior is executing.
- end
- define pgg
- set debug_gimple_stmt ($)
- end
- document pgg
- Print the Gimple statement that is $ in C syntax.
- Works only when an inferior is executing.
- end
- define pgq
- set debug_gimple_seq ($)
- end
- document pgq
- Print the Gimple sequence that is $ in C syntax.
- Works only when an inferior is executing.
- end
- define pgs
- set debug_generic_stmt ($)
- end
- document pgs
- Print the statement that is $ in C syntax.
- Works only when an inferior is executing.
- end
- define pge
- set debug_generic_expr ($)
- end
- document pge
- Print the expression that is $ in C syntax.
- Works only when an inferior is executing.
- end
- define pmz
- set mpz_out_str(stderr, 10, $)
- end
- document pmz
- Print the mpz value that is $
- Works only when an inferior is executing.
- end
- define ptc
- output (enum tree_code) $.common.code
- echo \n
- end
- document ptc
- Print the tree-code of the tree node that is $.
- end
- define pdn
- output $.decl_minimal.name->identifier.id.str
- echo \n
- end
- document pdn
- Print the name of the decl-node that is $.
- end
- define ptn
- output $.type.name->decl_minimal.name->identifier.id.str
- echo \n
- end
- document ptn
- Print the name of the type-node that is $.
- end
- define pvt
- set debug_vec_tree ($)
- end
- document pvt
- Print the VEC(tree) that is in $.
- end
- define pdd
- set debug_dwarf_die ($)
- end
- document pdd
- Print the dw_die_ref that is in $.
- end
- define prc
- output (enum rtx_code) $.code
- echo \ (
- output $.mode
- echo )\n
- end
- document prc
- Print the rtx-code and machine mode of the rtx that is $.
- end
- define pi
- print $.u.fld[0].rt_rtx@7
- end
- document pi
- Print the fields of an instruction that is $.
- end
- define pbs
- set print_binding_stack ()
- end
- document pbs
- In cc1plus, print the current binding stack, frame by frame, up to and
- including the global binding level.
- end
- define pbb
- set debug ($)
- end
- document pbb
- Dump the basic block that is in $, including rtx.
- end
- define pbm
- set bitmap_print (stderr, $, "", "\n")
- end
- document pbm
- Dump the bitmap that is in $ as a comma-separated list of numbers.
- end
- define pel
- output expand_location ($)
- echo \n
- end
- document pel
- Print expanded location of $.
- end
- define pcfun
- output debug_function (cfun ? cfun->decl : current_function_decl, 0)
- echo \n
- end
- document pcfun
- Print current function.
- end
- # Define some macros helpful to gdb when it is expanding macros.
- macro define __FILE__ "gdb"
- macro define __LINE__ 1
- macro define __FUNCTION__ "gdb"
- macro define __null 0
- macro define input_line expand_location(input_location).line
- macro define input_filename expand_location(input_location).file
- # Gracefully handle aborts in functions used from gdb.
- set unwindonsignal on
- # Put breakpoints at exit and fancy_abort in case abort is mapped
- # to either fprintf/exit or fancy_abort.
- b fancy_abort
- # Put a breakpoint on internal_error to help with debugging ICEs.
- b internal_error
- set complaints 0
- # Don't let abort actually run, as it will make
- # stdio stop working and therefore the `pr' command above as well.
- # Put this last because gcc does not reference it any more unless
- # USE_SYSTEM_ABORT is defined, so gdb may complain and bail out.
- b exit
- b abort
- # Disable strict type checking. This allows developers to (for example)
- # make inferior calls without casting absolute address to a suitable
- # pointer type.
- set check type off
- # Skip all inline functions in tree.h.
- # These are used in accessor macros.
- # Note that this is added at the end because older gdb versions
- # do not understand the 'skip' command.
- # See https://sourceware.org/gdb/current/onlinedocs/gdb/Skipping-Over-Functions-and-Files.html
- skip file tree.h
- # Likewise, skip various inline functions in rtl.h.
- skip rtx_expr_list::next
- skip rtx_expr_list::element
- skip rtx_insn_list::next
- skip rtx_insn_list::insn
- skip rtx_sequence::len
- skip rtx_sequence::element
- skip rtx_sequence::insn
- skip INSN_UID
- skip PREV_INSN
- skip SET_PREV_INSN
- skip NEXT_INSN
- skip SET_NEXT_INSN
- skip BLOCK_FOR_INSN
- skip PATTERN
- skip INSN_LOCATION
- skip INSN_HAS_LOCATION
- skip JUMP_LABEL_AS_INSN
|