From: Andreas H. <AHE...@de...> - 2002-08-13 09:35:48
|
"MONTGOMERY,BOB (HP-FtCollins,ex1)" <bob...@hp...> Sent by: lkc...@li... 08/12/02 10:32 PM > The current CVS version of lkcdutils still will not compile > on my IA64 system. I can fix that by adding a kludge to > the top of klib.h as shown in the patch below. But I'm not > sure that's the right way to fix it... It definitely isn't the right way to fix it. NEVER EVER include kernel header files into a user application. The worst thing is to define __KERNEL__ for a user application. Not even highly kernel dependent programs like those in modutils do such strange things! For the lcrash version in the current cvs I have removed those kernel header dependencies. (Possibly not good enough, because it doesn't compile on your system.) The only header "type.h" you should include is "sys/types.h", which itself includes "bits/types.h". Which type definitions from "asm-ia64/types.h" are missing? (Possibly they shouldn't be used at all in lkcdutils/lcrash.) What error messages do you get when not including "asm/types.h"? (I compiled the ia64-stuff on a i386 and s390/x system without compile errors. But I can't verify the ia64 backend because I've lack of an ia64 system and/or an ia64 dump.) > I see that there have been lots of other changes since the > 4.1 version of lcrash, so I'll see how it works. I was > hoping to use the new lcrash on an existing dump, but the > cvs version appears to have a version check that prevents > it from working on IA64 4.1 dumps. That's right. The dump file format has changed for the new lkcd/lcrash version. This was necessary because central structs like kl_dump_header_t, kl_dump_header_asm_t of all platforms, kl_page_header_t were not portable. Those structs contained pointers, long values and were not packed. Hence those structs were of different shape and length depending on the platform you compiled lkcd/lcrash. The new lcrash version should be able to handle dumps of all platforms. Hence the change of the dump file format. Generally spoken, you should use a current lcrash version only with dumps generated by a current lkcd version. BTW, this dependency applies to former lcrash/lkcd versions, too. To be able to read even the lkcd 4.1 dump format, Michael Holzheu spent some work to convert at least the dump_header_t of dumps generated with lkcd-4.1. But this work was not done for arch ia64. (See file libklib/kl_dump_4_1.c) Regards, Andreas -- Linux for eServer Development Tel : +49-7031-16-4640 Notes mail : Andreas Herrmann/GERMANY/IBM@IBMDE email : ahe...@de... |