On Monday 31 August 2009 07:48:33 liqin.chen@xxxxxxxxxxxxx wrote: > Arnd Bergmann <arnd@xxxxxxxx> 写于 2009-08-27 22:00:37: > > > > > I understand your problem here, and I think it would be good > > to have second opinion from someone else here. The four > > #defines you mention are roughly in reverse order of importance. > > > > I think you really need to remove __ARCH_WANT_SYSCALL_DEPRECATED > > and get that working. Please tell us if some system call is > > giving you problems and we can find a solution together. > > > > Removing __ARCH_WANT_SYSCALL_OFF_T should not be too hard, because > > glibc uses the loff_t versions by default anyway. I have not tried > > it though, so it may be more complicated than I thought. > > > > in __ARCH_WANT_SYSCALL_DEPRECATED, > asm-generic/unistd.h haven't define __NR_ipc and __NR__llseek > which used in glibc. __NR_ipc definitely should not be defined, it is a multiplexer for other system calls that have their own number, e.g. msgctl and semop. Look at e.g. how parisc does it in glibc. I'm not sure what the problem with __NR_llseek could be, AFAICT it is defined in asm-generic/unistd.h because you take the default __BITSPERLONG=32 definition. You should however not see __NR_lseek, which is used only on 64 bit systems these days. > Now we have maintained 3 sets of syscall API code use for glibc. > 1: Old syscall interface, which linux/score system work well. Yes, and I guess this will continue to work, but it will never work with upstream kernels. > 2: New syscall interface, define all 4 macro __ARCH_WANT_SYSCALL_XXX, > linux/score system work now, but we still debug the glibc code. > 3: New syscall interface, without define __ARCH_WANT_SYSCALL_DEPRECATED > and __ARCH_WANT_SYSCALL_OFF_T, linux/score system couldn't work. > because glibc have many place need to fix. Do you have a patch against the glibc git tree for score so I can look at what needs to be done? None of the changes should be specific to score after all, ideally it should all work without any glibc changes, though I realize that we are not there yet. Arnd <>< -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html