From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-yb1-xb32.google.com (mail-yb1-xb32.google.com [IPv6:2607:f8b0:4864:20::b32]) by sourceware.org (Postfix) with ESMTPS id C1C273857B97 for ; Wed, 22 Jun 2022 23:30:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C1C273857B97 Received: by mail-yb1-xb32.google.com with SMTP id 125so91346ybc.10 for ; Wed, 22 Jun 2022 16:30:39 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=NUe2r91TE6U1KI5XDM9pgUxEt0wjOXnblHkdQxfrvmQ=; b=hOyGSBcEz20YlpNc31YSK+MMgZSpB738xp/mUbBrMRcgRpNstb+c6fYdsQ9lgIxCOi sr02FRvPJjy3nD0CIv+gZ01wr4KN9pi7WlZ5Vjhhwunc6cIwtfdOW6eAOOzyRyTD7y4S aULK13Mw3Zq6pFoxCAo9rrX/8jBu0RK8Zzfe54SCwlNqjdV87mZMzoudgLHbT2egZ8/+ 6ZqmijLhnalPkNnzxfQ2iz7iNqnxwdcMta4YtNU8uFijCuAZ1XTATmA1prbZusNLoAji 8cicEYT2AtBgPEmfqIsP7Je/j/Wh6GcmteE93QQqlDEaQCsHkasP1RQZak1YkEzc9/ub WYhw== X-Gm-Message-State: AJIora+lmr2kBDGo1CV+U/yVt8eY0OyBh6ecozd3cleNnqjPR9VjdR1n tSXETHf1QEwmCVVVG1WjLjvMMfhBMSU9MWGunCSV3/eGqXs= X-Google-Smtp-Source: AGRyM1uFYobgSpM5vRh+l7YxtXyx2VBJ1N3SvN6d4BqvjfSYT/KtTILD7dYugkcXtBZmWNhJ86SK3Q+yOx6J5vn0eGY= X-Received: by 2002:a25:b806:0:b0:663:d35d:8b8a with SMTP id v6-20020a25b806000000b00663d35d8b8amr6653246ybj.69.1655940638972; Wed, 22 Jun 2022 16:30:38 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Noah Goldstein Date: Wed, 22 Jun 2022 16:30:28 -0700 Message-ID: Subject: Re: [PATCH v2] stdlib: Remove attr_write from mbstows if dst is NULL [BZ: 29265] To: Mark Wielaard Cc: Siddhesh Poyarekar , GNU C Library Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-8.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE 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: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Jun 2022 23:30:41 -0000 On Wed, Jun 22, 2022 at 4:16 PM Mark Wielaard wrote: > > Hi Noah, > > On Wed, Jun 22, 2022 at 03:38:02PM -0700, Noah Goldstein wrote: > > Seems the issue is the extra __always_inline: > > > > ``` > > diff --git a/stdlib/bits/stdlib.h b/stdlib/bits/stdlib.h > > index d9c2d822a5..de1c3b20f0 100644 > > --- a/stdlib/bits/stdlib.h > > +++ b/stdlib/bits/stdlib.h > > @@ -96,10 +96,10 @@ extern size_t __mbstowcs_chk (wchar_t *__restrict __dst, > > const char *__restrict __src, > > size_t __len, size_t __dstlen) __THROW > > __attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2)); > > -extern size_t __REDIRECT_NTH (__mbstowcs_chk_nulldst, > > +extern size_t __REDIRECT_NTH (__mbstowcs_nulldst, > > (wchar_t *__restrict __dst, > > const char *__restrict __src, > > - size_t __len), mbstowcs_chk) > > + size_t __len), mbstowcs) > > __attr_access ((__read_only__, 2)); > > extern size_t __REDIRECT_NTH (__mbstowcs_alias, > > (wchar_t *__restrict __dst, > > @@ -113,12 +113,12 @@ extern size_t __REDIRECT_NTH (__mbstowcs_chk_warn, > > __warnattr ("mbstowcs called with dst buffer smaller than len " > > "* sizeof (wchar_t)"); > > > > -__always_inline __fortify_function size_t > > +__fortify_function size_t > > __NTH (mbstowcs (wchar_t *__restrict __dst, const char *__restrict __src, > > size_t __len)) > > { > > if (__builtin_constant_p (__dst == NULL) && __dst == NULL) > > - return __mbstowcs_chk_nulldst (__dst, __src, __len); > > + return __mbstowcs_nulldst (__dst, __src, __len); > > else > > return __glibc_fortify_n (mbstowcs, __len, sizeof (wchar_t), > > __glibc_objsize (__dst), __dst, __src, __len); > > ``` > > > > can you try this. I am totally unable to reproduce this but its obviously a bug. > > That works (modulo tab/space) > > Summary of test results: > 5067 PASS > 76 UNSUPPORTED > 18 XFAIL > 4 XPASS > > Thanks! > > > What build flags are you using? Whatever I have is insufficient. > > Nothing. Really just: > ../glibc/configure --prefix=/usr && make -j8 && make check -j8 Ahh, I generally use `make xcheck`. Although I had no issue running the tests individually. :/ Will post a proper patch with inline fixes. > > This is a fairly standard Fedora 35 install. > glibc 2.34. > gcc 11.3.1 > binutils 2.37 > > Cheers, > > Mark >