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);
openSUSE Build Service is sponsored by