From nobody Thu Jan 18 20:14:25 2024 X-Original-To: dev-commits-ports-all@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 4TGDVT7367z56tJm; Thu, 18 Jan 2024 20:14:25 +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 4TGDVT6Vtsz4Xfk; Thu, 18 Jan 2024 20:14:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1705608865; 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=qoXqw+xz7qKwQ63qTr0FgMMFIjrVZ44LuaO3hSf5tWU=; b=p+SNver8negdCwQ12iblsBiiqU7nZuSBZIgHidkXmhqksSPvBCRoIF9Ngv28JLX7wRiyIZ 5sST+yDy9lTe1gjBehMv/9D+D5KiO5YwcTEyHUpzEk0WO/xukv5Z5VWaVG73YvvBxF32Wt tSko6Ku2LzaZb2biAVMnf7QUDPySCl/9HsxfhXkUJNXlu4zUkC2t//RAEWJTFVEDkR4c1N N0eN+3gwfAi8HxNrFRss61xL9oYGti2HMRZvGYg9tX04KDzuqMr/EIbZQXLbzlO0p79wxe X6v7m3OfKAUy4p3WFYk42QSuJW35Bi9YGyCNnw0LGngR6RqUYg4UYSZ+ZqMQfA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1705608865; 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=qoXqw+xz7qKwQ63qTr0FgMMFIjrVZ44LuaO3hSf5tWU=; b=erDxtQIeLlkQlQf7pbRRTz36RmgRMz6RKW1H0WBAdXzyUzZ/2sdDLpOyWrSTCu4t8x3S6y zCihunVHAp/Fkvv3DqaqcwdUeFT4MEomoq0D4SmY8eV9wojfjKqa5rXFfGdMZkVs6kssQq mR4EKV3W5m0qPq1noO81FdnMe3D+qAZj8twNl29rOvnT+DUZCt4/Q/CLVqtc6x2/BbpeP5 v1OVnEeplOxD1xPnQCr9c0Q1qX/IP7qBBxuyOB8k6qT+/l07bkJYTy1pr+qDcqWgt9ahZu 3yjUNhuC+N/5HBPovuQPCTWnq+IBStij6jeV1v6Cu5UQn+X4IfuHswOCjf8F6g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1705608865; a=rsa-sha256; cv=none; b=lQ2+HwTPdlgdb+z33tn/U+s67l15HqcPuX5Jej38Y7V/SsIoH1dhFt+1Rbe/zp1Jem751R DA2Q6LwpfhgvDEA9/gfGxWqA2o9YBRv9Ri3L4VcdDTFVdqkJ6e89G+gPjV4nQG92XAdjvt tip5G43TLFmO9rQOplnVxndo9BcW5tCZgGZQDT1bfvIS+zbE35Joo/8XZOnQU1BFvm7ynh VwJVXaxdM9ymxhkDPCP86MOQXlF76pg24b/HXtvLDt9ax97pgvoALCfeZTJoHBRzScrPLO B1xM228S7k0p3k+c0E2/q+dbaJn/g8O7xC9yYN4gVLlTHZeW9RoDK5SDJ+mNCQ== 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 4TGDVT5Z0lzLwj; Thu, 18 Jan 2024 20:14:25 +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 40IKEPI4067666; Thu, 18 Jan 2024 20:14:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 40IKEPn4067663; Thu, 18 Jan 2024 20:14:25 GMT (envelope-from git) Date: Thu, 18 Jan 2024 20:14:25 GMT Message-Id: <202401182014.40IKEPn4067663@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Olivier Cochard Subject: git: 0592024317ab - main - features: Add support to enable sanitizers List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-all@freebsd.org X-BeenThere: dev-commits-ports-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olivier X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0592024317abf61f3b824e4413ca301386c20d80 Auto-Submitted: auto-generated The branch main has been updated by olivier: URL: https://cgit.FreeBSD.org/ports/commit/?id=0592024317abf61f3b824e4413ca301386c20d80 commit 0592024317abf61f3b824e4413ca301386c20d80 Author: Olivier Cochard AuthorDate: 2024-01-18 20:07:45 +0000 Commit: Olivier Cochard CommitDate: 2024-01-18 20:13:43 +0000 features: Add support to enable sanitizers Can be activated/deactivated globally via WITH_SANITIZE Can be activated individualy via WITH_SANITIZE_PORTS Each port can individually mark itself as not supporting the feature via SANITIZE_UNSAFE= Approved by: bapt, arrowd Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D43497 --- Mk/Features/sanitize.mk | 27 +++++++++++++++++++++++++++ Mk/bsd.port.mk | 2 +- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/Mk/Features/sanitize.mk b/Mk/Features/sanitize.mk new file mode 100644 index 000000000000..6d2e3019705e --- /dev/null +++ b/Mk/Features/sanitize.mk @@ -0,0 +1,27 @@ +# Sanitize Support +# +# Variables that can be used: +# +# WITH_SANITIZE Enable for all ports. +# Sanitizer exits for each bug detected, so it is not +# advisable to enable it globally. +# WITH_SANITIZE_PORTS Enable for specified category/port-name +# SANITIZE_FLAGS Comma-separated list of sanitizers to be enabled +# Default: address +# + +.if !defined(_SANITIZE_MK_INCLUDED) +_SANITIZE_MK_INCLUDED= yes +SANITIZE_Include_MAINTAINER= portmgr@FreeBSD.org + +. if !defined(SANITIZE_UNSAFE) + SANITIZE_FLAGS?= address +. if defined(_INCLUDE_USES_MESON_MK) + MESON_ARGS+= -Db_sanitize=${SANITIZE_FLAGS} +. else + CFLAGS+= -fsanitize=${SANITIZE_FLAGS} + CXXFLAGS+= -fsanitize=${SANITIZE_FLAGS} + LDFLAGS+= -fsanitize=${SANITIZE_FLAGS} +. endif +. endif +.endif diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk index 203b78749fd7..f9eb4aebcb6a 100644 --- a/Mk/bsd.port.mk +++ b/Mk/bsd.port.mk @@ -1016,7 +1016,7 @@ LC_ALL= C # These need to be absolute since we don't know how deep in the ports # tree we are and thus can't go relative. They can, of course, be overridden # by individual Makefiles or local system make configuration. -_LIST_OF_WITH_FEATURES= debug lto ssp pie relro bind_now +_LIST_OF_WITH_FEATURES= bind_now debug lto pie relro sanitize ssp _DEFAULT_WITH_FEATURES= ssp PORTSDIR?= /usr/ports LOCALBASE?= /usr/local