File crash-sial-fix-bitfield.diff of Package crash
Date: Tue, 21 Oct 2008 14:11:35 +0100
From: Hedi Berriche <hedi@sgi.com>
To: crash-utility@redhat.com
Cc: Olaf Weber <olaf@sgi.com>
Subject: [Crash-utility] [PATCH] SIAL extension: bitfield handling fixup
This is a patch from Olaf Weber that fixes a bug in the SIAL extension when
dealing with bitfields.
Cheers,
Hedi.
Signed-off-by: Olaf Weber <olaf@sgi.com>
Tested-by: Hedi Berriche <hedi@sgi.com>
Acked-by: Bernhard Walle <bwalle@suse.de>
---
extensions/libsial/sial_type.c | 3 ---
extensions/sial.c | 2 +-
2 files changed, 1 insertion(+), 4 deletions(-)
--- a/extensions/libsial/sial_type.c
+++ b/extensions/libsial/sial_type.c
@@ -278,9 +278,6 @@ get_bit_value(ull val, int nbits, int bo
int dosign=0;
int vnbits=size*8;
-
- val = API_GET_UINT64(&val);
-
/* first get the value_t */
if (nbits >= 32) {
int upper_bits = nbits - 32;
--- a/extensions/sial.c
+++ b/extensions/sial.c
@@ -363,7 +363,7 @@ int midx;
sial_member_soffset(m, TYPE_FIELD_BITPOS(type, midx)/8);
sial_member_ssize(m, TYPE_FIELD_TYPE(type, midx)->length);
sial_member_snbits(m, TYPE_FIELD_BITSIZE(type, midx));
- sial_member_sfbit(m, TYPE_FIELD_BITSIZE(type, midx));
+ sial_member_sfbit(m, TYPE_FIELD_BITPOS(type, midx)%8);
sial_member_sname(m, TYPE_FIELD_NAME(type, midx));
LASTNUM=midx+1;
return drilldowntype(TYPE_FIELD_TYPE(type, midx), tm);