From: Vincentius Robby (vincentius_at_umich_dot_edu)
Date: Thu Sep 04 2008 - 11:10:27 PDT
Hello Paul, Thanks for that, seems like I missed it somewhere. For the predefined variables (CRI_*), it appears that it generated this warning: ../../libcr/cr_syscall.c: In function '__cri_ioctl': ../../libcr/cr_syscall.c:169: warning: initialization makes integer from pointer without a cast ../../libcr/cr_syscall.c: In function '__cri_open': ../../libcr/cr_syscall.c:170: warning: initialization makes integer from pointer without a cast .. etc. Is it safe to ignore these? I also encountered another error, which is shown below: ../../libcr/cr_omit.c:57: error: expected declaration specifiers or '...' before 'crsig_ioctl' ../../libcr/cr_omit.c:57: error: expected declaration specifiers or '...' before '__NR_ioctl' ../../libcr/cr_omit.c:58: warning: return type defaults to 'int' ../../libcr/cr_omit.c: In function 'cri_sysicall3': ../../libcr/cr_omit.c:59: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token ../../libcr/cr_omit.c:57: error: parameter name omitted ../../libcr/cr_omit.c:57: error: parameter name omitted ../../libcr/cr_omit.c:57: error: parameter name omitted ../../libcr/cr_omit.c:57: error: parameter name omitted ../../libcr/cr_omit.c:94: error: expected '{' at end of input make[2]: *** [libcr_la-cr_omit.lo] Error 1 Was the cri_sysicall3 intended instead of cri_syscall3? When I changed it, I got the following new errors: make[3]: Entering directory `/opt/blcr-0.7.3_vincent/builddir' ERROR: 'depmod' check FAILED (rc=1) cr_depmod: unresolved in blcr.ko cr_depmod: current_thread_info_reg unresolved in blcr.ko cr_depmod: mem_map_zero unresolved in blcr_vmadump.ko make[3]: *** [_depmod] Error 1 I tried make clean and ran make again with the same results. And even though make ran until that point, on the cri_syscallx functions, am I supposed to use __asm__ instead of __asm? Currently the code in my copy has __asm and so does the glibc code while cr_arch.h of other architectures under BLCR uses __asm__. Thank you. -- Vincentius Robby Quoting "Paul H. Hargrove" <PHHargrove_at_lbl_dot_gov>: > This one is easy. > > Where you have > #define cri_syscall3(type,name,nr,arg1,arg2,arg3) > you should instead change all instanes of "arg" to "type" have > #define cri_syscall3(type,name,nr,type1,type2,type3) > > Otherwise you are expanding > cri_syscall3(int, __cri_ioctl, __NR_ioctl, int, int, void*) > to have a first line like: > int __cri_ioctl(type1 int, type2 int, type3 void*, int *errno_p) > when you want something like: > int __cri_ioctl(int arg1, int arg2, void* arg3, int *errno_p) > > I am guessing that once you have this done, you will find that there > are still problems. Once you can get far enough run the tests, > we'll find out. > > -Paul > > > > -- > Paul H. Hargrove PHHargrove_at_lbl_dot_gov > Future Technologies Group HPC Research Department > Tel: +1-510-495-2352 > Lawrence Berkeley National Laboratory Fax: +1-510-486-6900 > > > >