From 510ceea939b789df3ae14b8fa34e93c20f34ff74 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Thu, 29 Sep 1994 04:26:50 +0000 Subject: [PATCH] * hpread.c (hpread_type_translate): Handle T_UNS_LONG types with lengths other than 32bits (HP C 9.69 represents an "unsigned char" as an T_UNS_LONG with length 8). --- gdb/ChangeLog.hpread | 4 ++++ gdb/hpread.c | 8 +++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog.hpread b/gdb/ChangeLog.hpread index 57116c4e28d..4534bb56aa7 100644 --- a/gdb/ChangeLog.hpread +++ b/gdb/ChangeLog.hpread @@ -1,5 +1,9 @@ Wed Sep 28 00:35:23 1994 Jeff Law (law@snake.cs.utah.edu) + * hpread.c (hpread_type_translate): Handle T_UNS_LONG types with + lengths other than 32bits (HP C 9.69 represents an "unsigned char" + as an T_UNS_LONG with length 8). + * hpread.c (struct hpread_symfile_info): Delete have_module field and accessor macro. Minor indentation fix. (hpread_build_psymtabs, case K_MODULE): Only start a new psymtab diff --git a/gdb/hpread.c b/gdb/hpread.c index 431c945df74..f070d3e6335 100644 --- a/gdb/hpread.c +++ b/gdb/hpread.c @@ -1137,7 +1137,13 @@ hpread_type_translate (typep) case T_LONG: return FT_LONG; case T_UNS_LONG: - return FT_UNSIGNED_LONG; + if (typep.dntti.bitlength <= 8) + return FT_UNSIGNED_CHAR; + if (typep.dntti.bitlength <= 16) + return FT_UNSIGNED_SHORT; + if (typep.dntti.bitlength <= 32) + return FT_UNSIGNED_LONG; + return FT_UNSIGNED_LONG_LONG; case T_UNS_INT: if (typep.dntti.bitlength <= 8) return FT_UNSIGNED_CHAR; -- 2.30.2