Actually after reading the syscall.h a little deeper i believe that everything in the code detects if something isnt already set in the include files for some reason and tries to set the values if they are missing. The reason for the kick out during compile on arm platforms is due to the fact the __NR_migrate_pages is not set or doesnt exist.
 
Does anyone know if __NR_migrate_pages for arm exists and just isnt in the "unistd.h" file?
 
#if !defined(__NR_mbind) || !defined(__NR_set_mempolicy) || \
    !defined(__NR_get_mempolicy) || !defined(__NR_migrate_pages) || \
    !defined(__NR_move_pages)
 
 
-------- Original Message --------
Subject: RE: Arm System Calls Numactl
From: <webwillow@thewebwillow.com>
Date: Sun, October 23, 2011 7:05 am
To: webwillow@thewebwillow.com
Cc: arjanv@redhat.com, jkeating@redhat.com, "linuxarmcross"
<cross-distro@lists.linaro.org>, "fedoraarm"
<arm@lists.fedoraproject.org>, "Gordan Bobic" <gordan@bobich.net>,
nhorman@redhat.com

I think i mave have found it for the arm side after a little research.
 
information is found in the file "arch/arm/include/asm/unistd.h<kernel source>" or "/usr/include/asm/unistd.h"
 
from this i derived the possible following information to put in numactl for arm and wonder why they do this as the code already includes #include <asm/unistd.h> and #include <unistd.h> anyway.
 
#elif defined(__ARM_EABI__)
#define __NR_SYSCALL_BASE       0x900000
#define __NR_sched_setaffinity          (__NR_SYSCALL_BASE+241)
#define __NR_sched_getaffinity          (__NR_SYSCALL_BASE+242)
#define __NR_mbind                      (__NR_SYSCALL_BASE+319)
#define __NR_get_mempolicy              (__NR_SYSCALL_BASE+320)
#define __NR_set_mempolicy              (__NR_SYSCALL_BASE+321)
#define __NR_move_pages                 (__NR_SYSCALL_BASE+344) 
 
-------- Original Message --------
Subject: Arm System Calls Numactl
From: <webwillow@thewebwillow.com>
Date: Sat, October 22, 2011 6:31 pm
To: "linuxarmcross" <cross-distro@lists.linaro.org>, "fedoraarm"
<arm@lists.fedoraproject.org>, "Gordan Bobic" <gordan@bobich.net>,
nhorman@redhat.com
Cc: arjanv@redhat.com, jkeating@redhat.com

While working with getting numactl to compile for arm, i hit a roadblock where someone might be able to direct me to the correct information.
 
in systemcalls.c on numactl, it sets various settings for system calls based on arch.
 
Can anyone point me in the in a direction for finding the following settings for ARM
 
<I Do believe that i found some ifo where the offset begins at 0×00900000>
 
#elif defined(__i386__)
#define __NR_mbind 274
#define __NR_get_mempolicy 275
#define __NR_set_mempolicy 276
#define __NR_migrate_pages 294
#define __NR_move_pages 317
#elif defined(__powerpc__)
#define __NR_mbind 259
#define __NR_get_mempolicy 260
#define __NR_set_mempolicy 261
#define __NR_migrate_pages 258
/* FIXME: powerpc is missing move pages!!!
#define __NR_move_pages xxx
*/
#elif defined(__mips__)
#if _MIPS_SIM == _ABIO32
/*
 * Linux o32 style syscalls are in the range from 4000 to 4999.
 */
#define __NR_Linux 4000
#define __NR_mbind (__NR_Linux + 268)
#define __NR_get_mempolicy (__NR_Linux + 269)
#define __NR_set_mempolicy (__NR_Linux + 270)
#define __NR_migrate_pages (__NR_Linux + 287)
#endif