Messages in this thread Patch in this message | | | From | Jan Kiszka <> | Subject | [PATCH v4 04/13] scripts/gdb: Add get_target_endianness helper | Date | Mon, 21 Jan 2013 18:06:11 +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 2f6eafb..44daa29c 100644 --- a/scripts/gdb/utils.py +++ b/scripts/gdb/utils.py @@ -56,3 +56,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
| |