diff -Naur dom0cut-0.1.0.orig/xendump/ElfCore.py dom0cut-0.1.0/xendump/ElfCore.py --- dom0cut-0.1.0.orig/xendump/ElfCore.py 2006-10-18 18:40:29.000000000 +0900 +++ dom0cut-0.1.0/xendump/ElfCore.py 2007-01-05 18:08:51.000000000 +0900 @@ -27,7 +27,7 @@ n_namesz = len(name) + 1 n_descsz = len(desc) - outstr.write(struct.pack("LLL", n_namesz, n_descsz, n_type)) + outstr.write(struct.pack("=LLL", n_namesz, n_descsz, n_type)) outstr.write(name + '\0') outstr.seek(roundup(outstr.pos, 4)) outstr.write(desc) diff -Naur dom0cut-0.1.0.orig/xendump/PageTable.py dom0cut-0.1.0/xendump/PageTable.py --- dom0cut-0.1.0.orig/xendump/PageTable.py 2006-10-18 18:29:11.000000000 +0900 +++ dom0cut-0.1.0/xendump/PageTable.py 2007-01-05 18:08:51.000000000 +0900 @@ -90,7 +90,7 @@ def __read_pt(self, mfn, level): '''return pagetable''' - pt = struct.unpack( "L" * 1024, self.dump.read_page(mfn) ) + pt = struct.unpack( "=L" * 1024, self.dump.read_page(mfn) ) if level == 1: shift = 22 diff -Naur dom0cut-0.1.0.orig/xendump/Register.py dom0cut-0.1.0/xendump/Register.py --- dom0cut-0.1.0.orig/xendump/Register.py 2006-08-28 18:59:26.000000000 +0900 +++ dom0cut-0.1.0/xendump/Register.py 2007-01-05 18:08:51.000000000 +0900 @@ -114,7 +114,7 @@ 'ds', 'es', 'fs', 'gs') # from: $(XEN)/xen/include/public/arch-x86_64.h - self.xenfmt = 'QQQQQQQQQQQQQQQLLQHHBBBBQQQQQQQ' + self.xenfmt = '=QQQQQQQQQQQQQQQLLQHHBBBBQQQQQQQ' self.xenregs = ( 'r15', 'r14', 'r13', 'r12', 'rbp', 'rbx', 'r11', 'r10', diff -Naur dom0cut-0.1.0.orig/xendump/XenCore.py dom0cut-0.1.0/xendump/XenCore.py --- dom0cut-0.1.0.orig/xendump/XenCore.py 2006-10-18 18:41:33.000000000 +0900 +++ dom0cut-0.1.0/xendump/XenCore.py 2007-01-05 18:08:51.000000000 +0900 @@ -8,7 +8,7 @@ import struct CORE_MAGIC = 0xF00FEBEDL -HEADER_FORMAT = "LLLLLL" +HEADER_FORMAT = "=LLLLLL" class XenCore(CoreDump.CoreDump): diff -Naur dom0cut-0.1.0.orig/xendump/XenImage.py dom0cut-0.1.0/xendump/XenImage.py --- dom0cut-0.1.0.orig/xendump/XenImage.py 2006-10-18 18:33:04.000000000 +0900 +++ dom0cut-0.1.0/xendump/XenImage.py 2007-01-05 18:08:51.000000000 +0900 @@ -49,7 +49,7 @@ def get_xen_online_cpus(self): '''return list of on-line cpu id''' online_cpus = [] - cpu_online_map_t = 'L' # XXX x86_32 specific + cpu_online_map_t = '=L' # XXX x86_32 specific cpu_online_map = self.dump.read_struct(self.pt.v2m(self.st['cpu_online_map']), cpu_online_map_t)[0] for i in range(self.arch.max_cpu): @@ -111,7 +111,7 @@ def get_domain_id(self, domainp): """get domain ID from domain pointer""" domain_domain_id_offset = self.dwarf.calc_struct_member_offset('domain', 'domain_id') - domain_id = self.dump.read_struct(self.pt.v2m(domainp + domain_domain_id_offset), 'L')[0] + domain_id = self.dump.read_struct(self.pt.v2m(domainp + domain_domain_id_offset), '=L')[0] return domain_id @@ -162,7 +162,7 @@ ctxts = [] for vcpu in vcpus: processor = self.dump.read_struct(self.pt.v2m(vcpu + processor_offset), self.arch.ptr_format)[0] - state = self.dump.read_struct(self.pt.v2m(vcpu + state_offset), 'L')[0] + state = self.dump.read_struct(self.pt.v2m(vcpu + state_offset), '=L')[0] context = XenContext.XenContext(self.arch.name, self.dwarf, context=self.pt.load_data(vcpu + ctxt_offset, ctxt_size)) if state == RUNSTATE_running: reg = self.get_xen_crash_note_regs(processor)