From: Damien Miller Date: Fri, 17 Jul 2020 03:15:50 +0000 (+1000) Subject: detect Linux/X32 systems X-Git-Tag: V_8_4_P1~73 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5b56bd0affea7b02b540bdbc4d1d271b0e4fc885;p=thirdparty%2Fopenssh-portable.git detect Linux/X32 systems This is a frankenstein monster of AMD64 instructions/calling conventions but with a 4GB address space. Allegedly deprecated but people still run into it causing weird sandbox failures, e.g. bz#3085 --- diff --git a/configure.ac b/configure.ac index c03db2732..ff7417354 100644 --- a/configure.ac +++ b/configure.ac @@ -522,6 +522,8 @@ SPP_MSG="no" # the --with-solaris-privs option and --with-sandbox=solaris). SOLARIS_PRIVS="no" +AC_CHECK_SIZEOF([size_t]) + # Check for some target-specific stuff case "$host" in *-*-aix*) @@ -864,6 +866,10 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) case "$host" in x86_64-*) seccomp_audit_arch=AUDIT_ARCH_X86_64 + # X32: AMD64 instructions in 32bit address space. + if test "x$ac_cv_sizeof_size_t" = "x4" ; then + seccomp_audit_arch=AUDIT_ARCH_I386 + fi ;; i*86-*) seccomp_audit_arch=AUDIT_ARCH_I386