GDB (xrefs)
python
lib
gdb
printer
bound_registers.py
Go to the documentation of this file.
1
# Pretty-printers for bounds registers.
2
# Copyright (C) 2013-2018 Free Software Foundation, Inc.
3
4
# This program is free software; you can redistribute it and/or modify
5
# it under the terms of the GNU General Public License as published by
6
# the Free Software Foundation; either version 3 of the License, or
7
# (at your option) any later version.
8
#
9
# This program is distributed in the hope that it will be useful,
10
# but WITHOUT ANY WARRANTY; without even the implied warranty of
11
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
# GNU General Public License for more details.
13
#
14
# You should have received a copy of the GNU General Public License
15
# along with this program. If not, see <http://www.gnu.org/licenses/>.
16
17
import
sys
18
19
import
gdb.printing
20
21
if
sys.version_info[0] > 2:
22
# Python 3 removed basestring and long
23
basestring = str
24
long = int
25
26
class
MpxBound128Printer
:
27
"""Adds size field to a mpx __gdb_builtin_type_bound128 type."""
28
29
def
__init__
(self, val):
30
self.
val
= val
31
32
def
to_string
(self):
33
upper = self.
val
[
"ubound"
]
34
lower = self.
val
[
"lbound"
]
35
size = (long) ((upper) - (lower))
36
if
size > -1:
37
size = size + 1
38
result =
'{lbound = %s, ubound = %s} : size %s'
% (lower, upper, size)
39
return
result
40
41
gdb.printing.add_builtin_pretty_printer (
'mpx_bound128'
,
42
'^__gdb_builtin_type_bound128'
,
43
MpxBound128Printer)
gdb.printer.bound_registers.MpxBound128Printer.__init__
def __init__(self, val)
Definition:
bound_registers.py:29
gdb.printing
Definition:
printing.py:1
gdb.printer.bound_registers.MpxBound128Printer.to_string
def to_string(self)
Definition:
bound_registers.py:32
gdb.printer.bound_registers.MpxBound128Printer.val
val
Definition:
bound_registers.py:30
gdb.printer.bound_registers.MpxBound128Printer
Definition:
bound_registers.py:26
Generated by
1.8.14