Age | Commit message (Collapse) | Author |
|
Up until NDK release 14 Android SDK included a separate set of C header
files for each supported platform. NDK 14 introduced a new set of those
headers (they are NOT the same as the old ones) which unifies support
for all of the platforms so that bug fixes are available for all the
API levels without having to backport etc. With NDK 15 the unified headers
become the default ones (including when creating standalone toolchains)
and with NDK 16 (in beta currently) the old per-platform headers are removed.
Unfortunately, the new headers introduce breaking changes which made it
impossible to build Mono with NDK configured to use them. This commit makes
a handful of changes to Mono which make it build with unified headers.
|
|
Also reverts the changes done to support/map.c. This is a generated file which
shouldn't be changed directly. An alternate fix for the problem in map.c on
Windows was to make sure L_SET et al are defined in mph.h which was already
done for Solaris.
|
|
|
|
* Add OpenFlags.O_CLOEXEC and OpenFlags.O_PATH
* Add AtFlags for AT_* values
* Add fdopendir, mkdtemp, futimens
* Add readv, writev, preadv, pwritev
* Add *at methods: openat, renameat, fchmodat, fstatat, utimensat,
mkdirat, mknodat, mkfifoat, faccessat, fchownat, linkat, readlinkat,
symlinkat, unlinkat
* Add constants AT_FDCWD, UTIME_NOW, UTIME_OMIT
|
|
In support/fcntl.c - every time fcntl() was called, it would first map the
cmd from mono's version of it to the system header file version of it.
The only time this wasn't happening was in Mono_Posix_Syscall_fcntl_lock()
and now it does it there too. This seems to resolve Bug 2014 on both
64-bit linux and on Mac OS X (64-bit).
|
|
* support/fcntl.c: Use Mono_Posix_{From,To}Flock() for flock conversion.
* support/Makefile.am: Include <time.h> in map.c.
* support/map.c, support/map.h: Flush; adds Flock, Timespec support.
svn path=/trunk/mono/; revision=115916
|
|
stdio.c, stdlib.c, string.c, sys-mman.c, sys-sendfile.c, sys-stat.c,
sys-statvfs.c, sys-time.c, sys-xattr.c syslog.c, time.c, unistd.c,
utime.c: Remove structure definitions, and use the
create-native-map generated definitions within map.h. Update function
prototypes to match current map.h declarations.
* map.c, map.h: Flush (current create-native-map output).
* mph.h: Don't include "map-icalls.h"; "icalls" are now in map.h.
* create-native-map.exe: Added; cached version of create-native-map.exe
used to update map.c, map.h. (create-native-map.exe source within
mono-tools/create-native-map.)
* Makefile.am: Added update-create-native-map target to update
create-native-map.exe using pkg-config & the create-native-map.pc package.
Use create-native-map.exe to generate map.* files instead of make-map.exe.
* sys-statvfs.c: Add Mono_Posix_ToStatvfs, Mono_Posix_FromStatvfs exports.
svn path=/trunk/mono/; revision=66946
|
|
MonoPosixHelper (the support directory).
* support/Makefile.am: Add sys-sendfile.c to the build.
* support/dirent.c, support/fcntl.c, support/unistd.c: Remove compile-time
checks for -64 apis (pread64, etc.), as they're superfluous. GLibc
#defines the functions to the appropriate -64 counterpart when necessary,
and Darwin is intrinsically large-file-aware, so manual checking on my
part is redundant and unnecessary.
* support/grp.c: Add checks for non-portable functions getgrnam_r,
getgrgid_r.
* support/pwd.c: Add checks for non-portable functions getpwnam_r,
getpwuid_r.
* support/mph.h: Clean up macro handling for type overflow checking.
svn path=/trunk/mono/; revision=35828
|
|
compile on Darwin.
svn path=/trunk/mono/; revision=35725
|
|
* support/.cvsignore: Ignore generated files.
* support/Makefile.am: Add new INCLUDE directives (for glib headers),
source; bump library version (so we don't clobber previous versions of
libMonoPosixHelper.so).
* support/dirent.c: New file; <dirent.h> wrapper functions
* support/errno.c: New file; <errno.h> wrapper functions
* support/fcntl.c: New file; <fcntl.h> wrapper functions
* support/grp.c: New file; <grp.h> wrapper functions
* support/map.c: Updated macro mapping functions (more enums mapped, more
error checking, etc.).
* support/map.h: Updated macro mapping functions
* support/old-map.c: Previous map.c implementation, for backward compatibility
* support/old-map.h: Previous map.h implementation, for backward compatibility
* support/mph.h: New file; Utility types, macros
* support/pwd.c: New file; <pwd.h> wrapper functions
* support/stdio.c: New file; <stdio.h> wrapper functions
* support/stdlib.c: New file; <stdlib.h> wrapper functions
* support/sys-mman.c: New file; <sys/mman.h> wrapper functions
* support/sys-mount.c: New file; <sys/mount.h> wrapper functions
* support/sys-sendfile.c: New file; <sys/sendfile.h> wrapper functions
* support/sys-stat.c: New file; <sys/stat.h> wrapper functions
* support/sys-wait.c: New file; <sys/wait.h> wrapper functions
* support/time.c: New file; <time.h> wrapper functions
* support/unistd.c: New file; <unistd.h> wrapper functions
svn path=/trunk/mono/; revision=35689
|