Messages in this thread Patch in this message |  | | From | Jan Kiszka <> | Subject | [PATCH v5 08/20] scripts/gdb: Add get_target_endianness helper | Date | Tue, 29 Jan 2013 13:37:51 +0100 |
| |
Parse the target endianness from the output of "show endian" and cache the result to return it via the new helper get_target_endiannes. We will need it for reading integers from buffers that contain target memory.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> --- scripts/gdb/utils.py | 17 +++++++++++++++++ 1 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/scripts/gdb/utils.py b/scripts/gdb/utils.py index 13f903a..1c7cb42 100644 --- a/scripts/gdb/utils.py +++ b/scripts/gdb/utils.py @@ -77,3 +77,20 @@ class ContainerOf(gdb.Function): elementname.string()) ContainerOf() + + +BIG_ENDIAN = 0 +LITTLE_ENDIAN = 1 +target_endianness = None + +def get_target_endianness(): + global target_endianness + if target_endianness == None: + endian = gdb.execute("show endian", False, True) + if endian.find("little endian") >= 0: + target_endianness = LITTLE_ENDIAN + elif endian.find("big endian") >= 0: + target_endianness = BIG_ENDIAN + else: + raise gdb.GdgError("unknown endianness '%s'" % endian) + return target_endianness -- 1.7.3.4
|  |