On 2007/04/12 13:31, Christian Weisgerber wrote: > Josh Grosse <[EMAIL PROTECTED]> wrote: > > > Originally submitted in January. Now, with: > > > > ONLY_FOR_ARCHS= amd64 i386 armish > > > > as it had been confirmed to run on those platforms, and would not run > > on sparc64, nor on vax. > > It also dies with an alignment error on alpha (in regress).
this fixes sparc64. --- CPP/myWindows/myGetNumberOfProcessors.cpp.orig Fri Apr 13 19:28:46 2007 +++ CPP/myWindows/myGetNumberOfProcessors.cpp Fri Apr 13 19:27:56 2007 @@ -7,6 +7,9 @@ #elif defined(__linux__) || defined(__CYGWIN__) || defined(sun) #include <unistd.h> #endif + int + sysctl(int *name, u_int namelen, void *oldp, size_t *oldlenp, void *newp, + size_t newlen); namespace NWindows { @@ -14,16 +17,16 @@ namespace NWindows { #if defined (__NetBSD__) || defined(__OpenBSD__) int GetNumberOfProcessors() { - int mib[2]; - size_t value[2]; + int mib[2], value; + size_t len; int nbcpu = 1; mib[0] = CTL_HW; mib[1] = HW_NCPU; - value[1] = sizeof(size_t); - if (sysctl(mib, 2, value, value+1, NULL, 0) >= 0) - if (value[0] > nbcpu) - nbcpu = value[0]; + len = sizeof(value); + if (sysctl(mib, 2, &value, &len, NULL, 0) >= 0) + if (value > nbcpu) + nbcpu = value; return nbcpu; } #elif defined (__FreeBSD__)