add missing F_GETOWNER_UIDS flag to bits/fcntl.h
fcntl.h: O_SEARCH was missing for powerpc put some macros that do not differ between architectures in the main header and remove from bits. restructure mips header so it has the same structure as the others.
add O_EXEC open mode the linux O_PATH mode provides the necessary semantics for both the O_SEARCH and O_EXEC modes defined and required by POSIX 2008.
add O_PATH/O_SEARCH support to fcntl.h I'm not 100% sure that Linux's O_PATH meets the POSIX requirements for O_SEARCH, but it seems very close if not perfect. and old kernels ignore it, so O_SEARCH will still work as desired as long as the caller has read permissions to the directory.
proper error handling for fcntl F_GETOWN on modern kernels on old kernels, there's no way to detect errors; we must assume negative syscall return values are pgrp ids. but if the F_GETOWN_EX fcntl works, we can get a reliable answer.
move F_DUPFD_CLOEXEC out of bits fcntl values 1024 and up are universal, arch-independent. later I'll add some of the other linux-specific ones for notify, leases, pipe size, etc. here too.
add F_SETSIG and F_GETSIG (linux specific) to fcntl.h F_* is in the reserved namespace so no feature test is needed
fix fcntl O_* flags for arm no idea why these 4 are permuted and the rest are standard/generic
initial commit of the arm port this port assumes eabi calling conventions, eabi linux syscall convention, and presence of the kernel helpers at 0xffff0f?0 needed for threads support. otherwise it makes very few assumptions, and the code should work even on armv4 without thumb support, as well as on systems with thumb interworking. the bits headers declare this a little endian system, but as far as i can tell the code should work equally well on big endian. some small details are probably broken; so far, testing has been limited to qemu/aboriginal linux.