From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on starla X-Spam-Level: X-Spam-Status: No, score=-0.9 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (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) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 034591F44D for ; Wed, 27 Mar 2024 16:51:15 +0000 (UTC) Authentication-Results: dcvr.yhbt.net; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=S4oggJMa; dkim-atps=neutral Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 55B4B385DC3F for ; Wed, 27 Mar 2024 16:51:14 +0000 (GMT) Received: from mail-pl1-x635.google.com (mail-pl1-x635.google.com [IPv6:2607:f8b0:4864:20::635]) by sourceware.org (Postfix) with ESMTPS id 73975385E446 for ; Wed, 27 Mar 2024 16:45:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 73975385E446 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 73975385E446 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::635 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1711557962; cv=none; b=vBk9MmfcfrvjZRa4dUYJuzaMF/qiVGKIeVj93H0qjyStFi89+phBE3U3m37ntVf6ZXo1tGAEaYfdWCr1+m8KGQ8upWxWEJNIe4w4kRPAw1t0zx0Qw2lZC0ad9gW5hCPn32yaJUC0sV5jZBCe538l7yxQdHmlhyijvhoa65lT+BQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1711557962; c=relaxed/simple; bh=RjHRhGP/pIRZOxjZfNvDZ1XPORsgV8/EYTiLPgAY00U=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=bqwKe6QWTc2g5o6wdqRp7z0uObT5eK6gDuAhyE0CsHMnnGLzTJGVN7c4hepggGLKnYg3Swq/ABeIIrNXjgyl9euXWvR2Ko83cARqDY6f+u3wBvVDqvbiDQMWFrY2hiwDJMbOnZh9E8ZNcni4tRv9a9WnHBY59ikdSUaDW0/3ero= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x635.google.com with SMTP id d9443c01a7336-1df01161b39so187385ad.3 for ; Wed, 27 Mar 2024 09:45:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1711557958; x=1712162758; darn=sourceware.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=oNW9JRi+n1bRpdFaZUcEXP6xRQd7PQT+ja4l492NHQU=; b=S4oggJMa+wsqsmuZL9aybAE3janMVYHFJGX9pIRY4JXMVOMW7TJ4/bx3Y6RCPVixPD d6fmPTfgXd/0qvTebxQOZR2ggJwQ2DtaE4eIaKPpR7SFmdaAXaq8UmCgXnlBwByh8PDW rkS96OU8ezPOz8LYq5xidXBNAzbpZ9C/9qDiCy27Pxy6I/OYKbm3sgOwn98P+SbwAK4N N4vLyCV/SK0jc9ZfLue9PDgAOLsSC2kTsJVxxU6wh4l9J94+P6FuIUtV85AnITqjeTBA 0JI+MiBov7IwmDw6DIUNoocpTHYIxPOL0SKJKkNEJ59sL2BukgcKbWI8xkW7qgY/etNn +oqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711557958; x=1712162758; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=oNW9JRi+n1bRpdFaZUcEXP6xRQd7PQT+ja4l492NHQU=; b=dxdyV5uQtUR9cWKoxpm1yzFx0ulCgCjInpnyszGhIL+R6Ycj8v7/aHYsdJsLYe/et5 nGcAnreo++iOqqD/2RiRuNeSJ8neuXUaUdeTfwXHviKT6v0jNoj1RwOkFA+vC4mLwLzj axH49FhwacjSZ1lEuxCGWxchbD0jPb+N9j1NYNFUijio29NcyTzCjH4qVoUqVYOEjpqV BzxtU8ENwS5gmRX4pAVQVhxGTuAWkFm+v9a9wtwBy6fSIxhOTq9071qimcosCYit3mqD 7RFh0pFgVHDcaTRJz3L44lxlDecCzXLEXDXegO3T14mCwW8P2fa5NImlGbEUPO6R16mW 8K4w== X-Gm-Message-State: AOJu0Yz31e2AnQ4jOF9ADIrtdnlDr+qcdyOwwDFOx8mi8sEl3wwOTJgX zTvp5Zwr6ntbUSTRsfuWUpZaI7u17A+3eOVmUEVqQgZV0Mwe0nu3USHx+//OvADWMPoxY9dEFiB w X-Google-Smtp-Source: AGHT+IFOkc69kOyBEGJpDNA7DaXaob50tM9VDe5y5N3ArME01rxq4nLvOO4QJt9D71+q7A/+mXERpw== X-Received: by 2002:a17:902:7248:b0:1e0:afbb:7a89 with SMTP id c8-20020a170902724800b001e0afbb7a89mr209266pll.22.1711557958094; Wed, 27 Mar 2024 09:45:58 -0700 (PDT) Received: from mandiga.. ([2804:1b3:a7c3:b18e:67c4:6248:3d8a:f386]) by smtp.gmail.com with ESMTPSA id c4-20020a170903234400b001e20578b524sm858593plh.252.2024.03.27.09.45.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Mar 2024 09:45:57 -0700 (PDT) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: Joseph Myers , Florian Weimer , "H . J . Lu" Subject: [PATCH 12/15] math: Fix log10 template for inputs less than 0 Date: Wed, 27 Mar 2024 13:45:24 -0300 Message-Id: <20240327164527.3717523-13-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240327164527.3717523-1-adhemerval.zanella@linaro.org> References: <20240327164527.3717523-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces+e=80x24.org@sourceware.org The template is used by some ABIs for the static build, and it fails to correct set the floating exceptions if the argument is less than 0. Checked on x86_64-linux-gnu. --- math/Makefile | 1 + math/w_log10_template.c | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/math/Makefile b/math/Makefile index 2b2683a9fa..aa57171f77 100644 --- a/math/Makefile +++ b/math/Makefile @@ -370,6 +370,7 @@ $(libm-test-c-narrow-obj): $(objpfx)libm-test%.c: libm-test%.inc \ libm-test-funcs-auto-static = \ acos \ exp10 \ + log10 \ # libm-test-funcs-auto-static libm-test-funcs-noauto-static = \ copysign \ diff --git a/math/w_log10_template.c b/math/w_log10_template.c index aca38d4e1e..cc7b503f01 100644 --- a/math/w_log10_template.c +++ b/math/w_log10_template.c @@ -32,11 +32,19 @@ M_DECL_FUNC (__log10) (FLOAT x) if (__glibc_unlikely (islessequal (x, M_LIT (0.0)))) { if (x == 0) - /* Pole error: log10(0). */ - __set_errno (ERANGE); + { + /* Pole error: log10(0). */ + __feraiseexcept (FE_DIVBYZERO); + __set_errno (ERANGE); + return -INFINITY; + } else - /* Domain error: log10(<0). */ - __set_errno (EDOM); + { + /* Domain error: log10(<0). */ + __feraiseexcept (FE_INVALID); + __set_errno (EDOM); + return NAN; + } } return M_SUF (__ieee754_log10) (x); } -- 2.34.1