From patchwork Tue Jul 22 21:45:40 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Cercueil X-Patchwork-Id: 116800 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 8E0773858D33 for ; Tue, 22 Jul 2025 21:46:23 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8E0773858D33 Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=crapouillou.net header.i=@crapouillou.net header.a=rsa-sha256 header.s=mail header.b=UoW7kVZU X-Original-To: newlib@sourceware.org Delivered-To: newlib@sourceware.org Received: from aposti.net (aposti.net [185.119.170.32]) by sourceware.org (Postfix) with ESMTPS id 7FCEF3858D37 for ; Tue, 22 Jul 2025 21:45:50 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7FCEF3858D37 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=crapouillou.net Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=crapouillou.net ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 7FCEF3858D37 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=185.119.170.32 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1753220750; cv=none; b=UQybptEjSQ/mHtEK8BAAfDxD1p0q1ZQyS+3hqmEtdIIfI+GkpjpIY2njLCn3B/78HI03iKA+Z1J1Ep+EW0oTGzZRTpOWg7LFZso1vDu/T9+P8r3Il3mbbspQH1kLIvB/UrtczcpflguMJ/EyOYt7BOJsnc2IO7pM2AyrdhbBMLg= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1753220750; c=relaxed/simple; bh=/lPc3WcbfbaA31+Mk3QsHgHdBMoaR2vZBVOG5Ftwc/8=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=HV1uax0BQGg+LM8fmxXrqLP3FNnvQKzTHB8lx8TLc4fL4y/IOVKLCqWGGXqnf2s4JoEYbpq5wm1MWq2enjClphzYe3bi1orOAz9F7RSR5fSvMFRCp0Ci8jJqdRdbrkTvjsqyZcwlQmqD1Iq8SygznN9JP4fesP2X5fBTH60+Rso= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7FCEF3858D37 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=crapouillou.net; s=mail; t=1753220748; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=o6d84cvkBOXYnStf8pSyupXrcbU8Ks5nwRIwSLNxUr0=; b=UoW7kVZUsdkxz22wAHPHBvBAmUUugmFrZrqYHBo2Q8U0QKMEhLyyUXqRMXwGdXAVwFrdjY 7tHVLb56IKoqwwKUbmhUdGijbMv3rPjgyJGneFwlatTEoEKZ2gAuCZtxfV9bJXwKACcmka vIUhF/sas7by9FFu79i/EmvPvLtPIUg= From: Paul Cercueil To: newlib@sourceware.org Cc: Paul Cercueil Subject: [PATCH] sys/cdefs.h: Protect parameters to __builtin_is_aligned() Date: Tue, 22 Jul 2025 23:45:40 +0200 Message-ID: <20250722214540.1234541-1-paul@crapouillou.net> MIME-Version: 1.0 X-Spam-Status: No, score=-14.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: newlib@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Newlib mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: newlib-bounces~patchwork=sourceware.org@sourceware.org The macro was not protecting properly its first parameter, which caused it to silently return an invalid value when passing a composed parameter, ie. __builtin_is_aligned(src | dst | len, 32); Signed-off-by: Paul Cercueil --- newlib/libc/include/sys/cdefs.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/newlib/libc/include/sys/cdefs.h b/newlib/libc/include/sys/cdefs.h index d13a92a79..20b3553dc 100644 --- a/newlib/libc/include/sys/cdefs.h +++ b/newlib/libc/include/sys/cdefs.h @@ -736,7 +736,7 @@ /* Provide fallback versions for other compilers (GCC/Clang < 10): */ #if !__has_builtin(__builtin_is_aligned) #define __builtin_is_aligned(x, align) \ - (((__uintptr_t)x & ((align) - 1)) == 0) + (((__uintptr_t)(x) & ((align) - 1)) == 0) #endif #if !__has_builtin(__builtin_align_up) #define __builtin_align_up(x, align) \