From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.5 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_LOW,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 29379 invoked from network); 31 May 2023 10:06:13 -0000 Received: from second.openwall.net (193.110.157.125) by inbox.vuxu.org with ESMTPUTF8; 31 May 2023 10:06:13 -0000 Received: (qmail 17954 invoked by uid 550); 31 May 2023 10:05:47 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com Received: (qmail 17799 invoked from network); 31 May 2023 10:05:45 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inria.fr; s=dc; h=from:to:subject:date:message-id:in-reply-to:references: mime-version:content-transfer-encoding; bh=gpNd2xe5vZB/AhH8oJOLYZ9/wyqSDTmgSq56ENehEVE=; b=qmPhIjuEYok4ytAmpjnhKiqnUzGTxxGJ1zNgY/J+uagVUXM8xYol1Cdp PDpuQ1onUt9c4nGhg4cAaTLjsW9mHlRYEjlch+kp3HJRkGQtv+woI/JsS tpRqhUNmpnIHQjWLpGUR4VevwDJHk2LNQcLf8l5DRfLZFoViCQYT1DiWl A=; Authentication-Results: mail3-relais-sop.national.inria.fr; dkim=none (message not signed) header.i=none; spf=SoftFail smtp.mailfrom=Jens.Gustedt@inria.fr; dmarc=fail (p=none dis=none) d=inria.fr X-IronPort-AV: E=Sophos;i="6.00,205,1681164000"; d="scan'208";a="57434662" From: Jens Gustedt To: musl@lists.openwall.com Date: Wed, 31 May 2023 12:05:16 +0200 Message-Id: <0620da4a3eaadc604c8e7696d81f5c44dfcac6fb.1685527375.git.Jens.Gustedt@inria.fr> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [musl] [C23 new stdlib 2/3] C23: add the memalignment function The name is reserved, so we don't need to protect it via a feature macro or a weak symbol. --- include/stdlib.h | 2 ++ src/stdlib/memalignment.c | 8 ++++++++ 2 files changed, 10 insertions(+) create mode 100644 src/stdlib/memalignment.c diff --git a/include/stdlib.h b/include/stdlib.h index 2f46e6aa..10bdf7f8 100644 --- a/include/stdlib.h +++ b/include/stdlib.h @@ -180,6 +180,8 @@ typedef int once_flag; void call_once(once_flag *, void (*)(void)); #endif +size_t memalignment(const void *); + #ifdef __cplusplus } #endif diff --git a/src/stdlib/memalignment.c b/src/stdlib/memalignment.c new file mode 100644 index 00000000..0f87c71b --- /dev/null +++ b/src/stdlib/memalignment.c @@ -0,0 +1,8 @@ +#include +#include + +size_t memalignment(const void *p) +{ + uintptr_t bits = (uintptr_t)p; + return (bits^(bits-1))&bits; +} -- 2.34.1