From nobody Wed Jul 26 00:00:23 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R9Ytv3yJ6z4pMpM; Wed, 26 Jul 2023 00:00:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4R9Ytv3QXkz45Nb; Wed, 26 Jul 2023 00:00:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690329623; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZOq6N/mZzh+ZrSr5mO8Lm1T6I8p15No3ptCRgOOFuKI=; b=p26Z/0LPciEPopA3ujH/sMewD83BkTehatLETiJ9sLoTr+lKNG6ZipN55zRhKU+B6JBOfl 3+p8zJgSjgIC8h0UbXFaNXqdV7y1y9AX8w5YwXWVC+BtysmganGRojxhQUp6jOva/K1yeA 4htWub7OVOkoiNDnNj/pG5Er14uohCn39+3ry+ynovfrmiJNxOJc1kS3xm1Ym4CekTYmC0 ZL8xOtAwT2yUfGEbAdJzRXxCNPiUY1Yi23LayaYg9AyW683CnL+ahov4fP3kworKG43/Lm zWnfzzZIBTa8go1Am6zkIDinaanpTbgxOtvGcuedexBhLcsnndoEbJxNTIUrWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690329623; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZOq6N/mZzh+ZrSr5mO8Lm1T6I8p15No3ptCRgOOFuKI=; b=fQ4Ohw0J1ST32tWMkWGtYHZ8UI+uobGMw85DYmQvxvjzQlAAMW8ZgHA7aBm8FwMO/Ntojx tE+vaDVVmVvSy8ZD0cl8lxlfNOKB/sxIkYdeYq01SOo+EFWJLBUoKhVHHRIDgo7igqXvvG H8RxCcV8dVjMvum5aBKDLweuWU3EJlTLNfUf32+DGD4NRTpQofuFdpmX4Spuk0JRyD2/Js Q2dLBMgU+fr0T++NsLhEKx5wxYbjkY7Yf6jJPcFLWQDaf251JabJ3yfRiU7awftipnaFpI jLnz7a3r3jONYPt8s1NOEZ1DDv0cH7T+SKOw+jZVlSjgvP/Nvm9q9Dtbig/QaQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690329623; a=rsa-sha256; cv=none; b=B412aINKSzVgGU2b51A80d2X48jAt/4cNfdUbgCjRhL/cMvwRF+hsQHW7mm6halXPSnqPU jB7Bv3rggn+S5boZjWRgC7JkGAv/oROuSV9zKrt96ynlG2Ob/WvORohaRebyBWU38eJn5a 3060wiXFJyZvL0Zsw/r5IR3zHYs5B/6RD5zkYVRcEz1Qsh6QGFXf71508FbM7tHlr4CGBH pQoZcr2rDkZKPXA4gpisgmvnsUdXB9Zp5OQfhplVN4BqDwuT+U0tgtxAbZUQlbHNif7fD/ gjMkPAiuejYVPRXnUaCE+7WCnzvpJ6DfU7N00zWrXg6ShU4/OcLNjQ6B7mA8EQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R9Ytv2LzszLhT; Wed, 26 Jul 2023 00:00:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 36Q00NEu087416; Wed, 26 Jul 2023 00:00:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36Q00N1E087415; Wed, 26 Jul 2023 00:00:23 GMT (envelope-from git) Date: Wed, 26 Jul 2023 00:00:23 GMT Message-Id: <202307260000.36Q00N1E087415@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mike Karels Subject: git: a1b675731301 - main - arm64 lib32: enable building of lib32 on arm64 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: karels X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a1b67573130114257fdd443c4ec9b54fbe2e5843 Auto-Submitted: auto-generated The branch main has been updated by karels: URL: https://cgit.FreeBSD.org/src/commit/?id=a1b67573130114257fdd443c4ec9b54fbe2e5843 commit a1b67573130114257fdd443c4ec9b54fbe2e5843 Author: Mike Karels AuthorDate: 2023-07-25 23:59:52 +0000 Commit: Mike Karels CommitDate: 2023-07-25 23:59:52 +0000 arm64 lib32: enable building of lib32 on arm64 Enable LIB32 option on aarch64, defaulting to YES; it had defaulted to "broken". Add required variables for how to compile lib32 on arm. Use /usr/include/arm for armv7 (32-bit) headers, analogous to /usr/include/i386 on amd64. Omit libomp from lib32; it is not supported on armv7. Reviewed by: jrtc27 Differential Revision: https://reviews.freebsd.org/D40945 --- Makefile.inc1 | 2 ++ Makefile.libcompat | 2 +- lib/Makefile | 2 +- share/mk/bsd.compat.mk | 19 +++++++++++++++++++ share/mk/src.opts.mk | 4 ++-- 5 files changed, 25 insertions(+), 4 deletions(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index 415bc41a6726..53699a454ff6 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -163,6 +163,8 @@ _t= ${TARGET_ARCH}/${TARGET} .if ${TARGET_ARCH} == "amd64" LIBCOMPAT_INCLUDE_DIRS+= i386 +.elif ${TARGET_ARCH} == "aarch64" +LIBCOMPAT_INCLUDE_DIRS+= arm .endif .if ${.MAKE.OS} != "FreeBSD" diff --git a/Makefile.libcompat b/Makefile.libcompat index b21e27105e99..f9fe28e1082b 100644 --- a/Makefile.libcompat +++ b/Makefile.libcompat @@ -4,7 +4,7 @@ __<${_this:T}>__: # Makefile for the compatibility libraries. -# - 32-bit compat libraries on PowerPC, and AMD64. +# - 32-bit compat libraries on some 64-bit architectures .if defined(_LIBCOMPATS) diff --git a/lib/Makefile b/lib/Makefile index 47ff3cec7ebf..310935fdc26e 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -203,7 +203,7 @@ SUBDIR.${MK_PMC}+= libipt SUBDIR.${MK_BHYVE}+= libvmmapi .endif -.if ${MACHINE_ARCH} != "powerpc" +.if ${MACHINE_ARCH} != "powerpc" && ${MACHINE_CPUARCH} != "arm" SUBDIR.${MK_OPENMP}+= libomp .endif .if ${MK_USB} != "no" diff --git a/share/mk/bsd.compat.mk b/share/mk/bsd.compat.mk index cda3efd6cd63..49fbfe3bf8e2 100644 --- a/share/mk/bsd.compat.mk +++ b/share/mk/bsd.compat.mk @@ -63,6 +63,25 @@ LIB32_MACHINE= powerpc LIB32_MACHINE_ARCH= powerpc LIB32WMAKEFLAGS= \ LD="${XLD} -m elf32ppc_fbsd" + +.elif ${COMPAT_ARCH} == "aarch64" +HAS_COMPAT+= 32 +.if empty(LIB32CPUTYPE) +LIB32CPUFLAGS= -march=armv7 +.else +LIB32CPUFLAGS= -mcpu=${LIB32CPUTYPE} +.endif + +LIB32CPUFLAGS+= -m32 +.if ${COMPAT_COMPILER_TYPE} == "gcc" +.else +LIB32CPUFLAGS+= -target armv7-unknown-freebsd${OS_REVISION}-gnueabihf +.endif + +LIB32_MACHINE= arm +LIB32_MACHINE_ARCH= armv7 +LIB32WMAKEFLAGS= \ + LD="${XLD} -m armelf_fbsd" .endif LIB32WMAKEFLAGS+= NM="${XNM}" diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index 0e9b5a052ffc..899d620fb0c1 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -297,8 +297,8 @@ __DEFAULT_YES_OPTIONS+=LLDB .else __DEFAULT_NO_OPTIONS+=LLDB .endif -# LIB32 is supported on amd64 and powerpc64 -.if (${__T} == "amd64" || ${__T} == "powerpc64") +# LIB32 is not supported on all 64-bit architectures. +.if (${__T} == "amd64" || ${__T:Maarch64*} != "" || ${__T} == "powerpc64") __DEFAULT_YES_OPTIONS+=LIB32 .else BROKEN_OPTIONS+=LIB32