On Tue, Oct 25, 2011 at 11:37 PM, Roberto De Ioris <[email protected]> wrote: > >> Hi all, >> >> In trying to cross-compile uWSGI for an embedded ARM board on an >> Ubuntu 11.10 host, I ran into this error: >> >> [snipped] >> >> static int timerfd_create (clockid_t __clock_id, int __flags) { >> #ifdef __amd64__ >> return syscall(283, __clock_id, __flags); >> #elif defined(__i386__) >> return syscall(322, __clock_id, __flags); >> #endif > > adding a return -1 here shoudl be enough. If you use timer, substitute > them with rbtimer (they do not require kernel help)
This fixes the compiler error, as expected. Thanks! I'm not currently using the timer decorator, but I might want to in the future. It looks like ARM has the correct syscalls for timerfd: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob_plain;f=arch/arm/kernel/calls.S;hb=HEAD (look around /* 350 */) Might it be better to fix this by adding the ARM syscalls? Would a patch along the following lines work? + #elif defined(__arm__) + return syscall(350, __clock_id, __flags); + #elif defined(__arm__) + return syscall(353, __ufd, __flags, __utmr, __otmr); I don't actually know if __arm__ is defined, and I also don't know if the arguments to all syscalls match across platforms (though I hope they would). If this doesn't seem insane, I'd be happy to test it and submit a real patch. Otherwise, I have a patch that adds return -1 as suggested that seems to work, at least on 0.9.9.2. Cheers, Brandon _______________________________________________ uWSGI mailing list [email protected] http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi
