diff options
author | Calvin Buckley <calvin@cmpct.info> | 2019-07-11 19:42:47 +0300 |
---|---|---|
committer | Zoltan Varga <vargaz@gmail.com> | 2019-07-11 19:42:47 +0300 |
commit | 41469ee55a6db885c1b46c29c454e503c0965f21 (patch) | |
tree | 1719ef62092cc8f735bfc4126486cd409c424195 /configure.ac | |
parent | 37f5ef91bb53b7490b487a19e61fa145d5679adf (diff) |
Misc AIX/PASE tweaks (#15651)
* Partial enablement of alternate stack for AIX/i
It turns out much like macOS, AIX doesn't like to do mprotect/valloc
for the first thread's guard pages, so skip those. It seems mostly
fine except for one or two crashes causes it to grab the wrong IAR
and deadlock dumping memory. As such, leave the code and configure
script override to disable in place, just change the comment and
add support code.
* Use Qp2getifaddrs on PASE
Not sure if proper way to implement. Reuses getifaddrs code as much
as possible, since it's merely a name change based on the docs, due
to it being namespaced in case AIX gets it or something.
I'm not sure how many of these codepaths still work properly;
one had a questionable order of ifdef.
This will eventually prepare for CoreFX NetworkInterface, so test
it here.
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac index b2e2875d09b..58093b21750 100644 --- a/configure.ac +++ b/configure.ac @@ -525,7 +525,9 @@ case "$host" in with_gc=sgen need_link_unlink=yes use_sigposix=yes - dnl the valloc call to alloc the guard page bombs out, even with extending the data area + dnl Similar limitation to macOS about the first thread and the + dnl guard page, except sometimes the runtime hangs. Disable for + dnl now until cause can be determined or it seems OK enough. with_sigaltstack=no dnl use pthread TLS, __thread has issues with the compiler flags we use with_tls=pthread @@ -3338,6 +3340,7 @@ if test x$host_win32 = xno; then AC_CHECK_DECL(F_DUPFD_CLOEXEC, [AC_DEFINE(HAVE_F_DUPFD_CLOEXEC, 1, [F_DUPFD_CLOEXEC])], [], [[#include <fcntl.h>]]) # AC_CHECK_FUNC(getifaddrs, [AC_DEFINE(HAVE_GETIFADDRS, 1, [getifaddrs])]) # already done above + AC_CHECK_FUNC(Qp2getifaddrs, [AC_DEFINE(HAVE_QP2GETIFADDRS, 1, [Qp2getifaddrs])]) AC_CHECK_FUNC(lseek64, [AC_DEFINE(HAVE_LSEEK64, 1, [lseek64])]) AC_CHECK_FUNC(mmap64, [AC_DEFINE(HAVE_MMAP64, 1, [mmap64])]) |