* Move `raise` code to be behind an autoconf check
This moves the call to `raise` behind a `HAVE_RAISE` autoconf check,
in addition to `__wasm__`. This is intended to help porting to
other platforms that don't support `raise` (e.g. modern game consoles).
* Add autoconf check for `sysconf`
Only try to invoke `sysconf` if the target platform supports it, and
don't warn about unknown page size if `PAGE_SIZE` was defined. Add an
include for `sys/param.h` to increase likelihood of finding `PAGE_SIZE`.
This is intended to help porting to other platforms that don't support
`sysconf` (e.g. modern game consoles) that have a fixed hardware page
size.
* Don't try to use raise & sysconf in a WASI environment
Co-authored-by: Frank Denis <124872+jedisct1@users.noreply.github.com>
ASAN assumes a recent version of the C library has been installed and
may end up intercepting functions that didn't exist if the actual C
library is old.
This apparently works around a bug on OpenSuSE on ARM and PPC when
LTO is enabled.
Still, as documented, LTO shouldn't be used when compiling the library.
Allows static builds to correctly inherit the pthread dependency when
used with pkg-config --static --libs libsodium
AC_SUBST doesn't require explicit values
Regen autoconf
Fixes#800
Using retpoline in userland code that doesn't run arbitrary code is
questionable to start with.
Linux is also getting SPECTRE v2 userspace-to-userspace protection.
In addition, some platforms have a gcc version that advertises
support for retpolines, but the resulting binaries simply don't work
or cannot be linked.
So, do not enable this by default. Let builders choose if they
really want to enable this in their builds.