Re: sparc implementation

From: Vincentius Robby (vincentius_at_umich_dot_edu)
Date: Thu Sep 04 2008 - 11:10:27 PDT

  • Next message: Paul H. Hargrove: "Re: sparc implementation"
    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
    >
    >
    >
    >
    

  • Next message: Paul H. Hargrove: "Re: sparc implementation"