From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 7814) id BFC403858D28; Sun, 10 Oct 2021 23:34:10 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BFC403858D28 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Fangrui Song To: glibc-cvs@sourceware.org Subject: [glibc/maskray/clang] x86_64: Improve Intel MPX check to reject incomplete Clang support X-Act-Checkin: glibc X-Git-Author: Fangrui Song X-Git-Refname: refs/heads/maskray/clang X-Git-Oldrev: a372520f58b17671bd1da8c65ece3f84dd27d13e X-Git-Newrev: b97388ab52adf4b53a5b40f65321fb40241c2f9b Message-Id: <20211010233410.BFC403858D28@sourceware.org> Date: Sun, 10 Oct 2021 23:34:10 +0000 (GMT) X-BeenThere: glibc-cvs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Glibc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Oct 2021 23:34:10 -0000 https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=b97388ab52adf4b53a5b40f65321fb40241c2f9b commit b97388ab52adf4b53a5b40f65321fb40241c2f9b Author: Fangrui Song Date: Sat Sep 25 23:36:15 2021 -0700 x86_64: Improve Intel MPX check to reject incomplete Clang support LLVM integrated assembler has incomplete MPX support, e.g. bnd is not supported while bndmov is supported: error: invalid instruction mnemonic 'bnd' Improve the configure check so that HAVE_MPX_SUPPORT code can be properly skipped. Diff: --- sysdeps/x86_64/configure | 2 ++ sysdeps/x86_64/configure.ac | 2 ++ 2 files changed, 4 insertions(+) diff --git a/sysdeps/x86_64/configure b/sysdeps/x86_64/configure index 585279f83d..c3145e6030 100755 --- a/sysdeps/x86_64/configure +++ b/sysdeps/x86_64/configure @@ -30,6 +30,8 @@ if ${libc_cv_asm_mpx+:} false; then : else cat > conftest.s <<\EOF bndmov %bnd0,(%rsp) + bnd + jmp *%r11 EOF if { ac_try='${CC-cc} -c $ASFLAGS conftest.s 1>&5' { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 diff --git a/sysdeps/x86_64/configure.ac b/sysdeps/x86_64/configure.ac index 29e14033c0..3c935d66e1 100644 --- a/sysdeps/x86_64/configure.ac +++ b/sysdeps/x86_64/configure.ac @@ -14,6 +14,8 @@ dnl Check whether asm supports Intel MPX AC_CACHE_CHECK(for Intel MPX support, libc_cv_asm_mpx, [dnl cat > conftest.s <<\EOF bndmov %bnd0,(%rsp) + bnd + jmp *%r11 EOF if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then libc_cv_asm_mpx=yes