From patchwork Mon Jun 12 15:18:17 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Frederic Berat X-Patchwork-Id: 1793957 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=L/Qe9xo5; dkim-atps=neutral Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4QfwMB2YYDz20QH for ; Tue, 13 Jun 2023 01:19:02 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 621A43856944 for ; Mon, 12 Jun 2023 15:19:00 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 621A43856944 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1686583140; bh=cjXsrU8ZuTGPTWxNci9rOWM9ScONVFrczvJtkKAs15k=; h=To:Cc:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=L/Qe9xo5nNEXHQm3oEMHLkudAUBnEG266Hjd0bhU3pssSl6ZxHuPqgW9OwpFGc1by G2JUo1tNHCnT8RbxP2P1LHA1iQbLqd2ynceYiyQlsbGH1xz0/6ZEenEeUjrCZlM5I+ GTOxM8oRdHhbHttOGokCd/xRl+gUkR4wxIQ3zbvE= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id 1638F3858C74 for ; Mon, 12 Jun 2023 15:18:34 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1638F3858C74 Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-148-OHp5ghXnOL-EOuk-14vb3g-1; Mon, 12 Jun 2023 11:18:30 -0400 X-MC-Unique: OHp5ghXnOL-EOuk-14vb3g-1 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com [10.11.54.1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id E65C08028B2; Mon, 12 Jun 2023 15:18:29 +0000 (UTC) Received: from Nymeria-redhat.redhat.com (unknown [10.39.192.6]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 3B11840C20F4; Mon, 12 Jun 2023 15:18:29 +0000 (UTC) To: libc-alpha@sourceware.org Cc: siddhesh@gotplt.org, fberat@redhat.com Subject: [PATCH v7 0/4] Fix warn unused result Date: Mon, 12 Jun 2023 17:18:17 +0200 Message-Id: <20230612151821.199003-1-fberat@redhat.com> In-Reply-To: <20230418121130.844302-1-fberat@redhat.com> References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-6.4 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, 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-Patchwork-Original-From: =?utf-8?q?Fr=C3=A9d=C3=A9ric_B=C3=A9rat_via_Libc-alpha?= From: Frederic Berat Reply-To: =?utf-8?b?RnLDqWTDqXJpYyBCw6lyYXQ=?= Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" Hello, Enabling _FORTIFY_SOURCE on Glibc itself implies that some function get the __wur macro enabed. This leads to build failures when -Werror is set. I went for multiple patches for these fixes, a big one that cover the tests, and then separate one for the other ones, assuming they may need to get a closer look at. While most of the changes look trivial, decision I made on how to fix them may be open to debate, e.g. the additional checks may lead to failures while they weren't earlier, some other have no impact while it may be useful to have one. Feedback is therefore highly appreciated. Fred. Changes since v1: - "tests: fix warn unused result" has been split into several sub-patches. New x-variant of functions have been created when necessary. - "inet/rcmd.c" is removed has it has been merged upstream. - catgets/gencat.c: - introduced a static write_all routine, that mimics support/xwrite - fixed review findings (declaration of array_size where defined) - locale/programs/locarchive.c: untouched (I forgot it) - malloc/{memusage.c,memusagestat.c}: introduced write_all/read_all functions - nptl_db/thread_dbP.h: fixed missing white space. - sunrpc/netname.c: fixed missing whitespace, and "return 0;" indent. - sysdeps/pthread/eintr.c: Added comment on why the if statement is used. Changes since v2: - Rebased on master - catgets/gencat.c: Don't use errno if write returns 0. - locale/programs/locarchive.c: Freeing normalized_codeset before returning. - malloc/{memusage.c,memusagestat.c}: Don't use errno if write returns 0. - tests: replace read by xread: - Add missing xunistd.h includes - Add libsupport to tst-fini1mod.so - tests: replace fread by xfread: - Fixed xfread prototype - Add missing xstdio.h include Changes since v3: - Rebased on master Changes since v4: gencat/memusage*: - Mark strings for translation with gettext. - Fixed typo in (ret == 0) case nptl_db/thread_dbP.h: Wrapped line since it exceeded 79 characters tests: - Properly use xasprintf in all cases in posix/tst-execlp2.c - Added more fail case in xsystem - Clarify why some system calls should not use xsystem - Removed extra curly brackets Added a patch to move {read,write}_all functions to a dedicated header Changes since v5: tests: - Fixed missing headers in {nptl,elf}/tst-stackguard1.c - Fixed date in copyrights - Removed unnecessary check after xasprintf call - Rebasing patches - Actually replace functions with their x variant as described Adding copyright to unistd_ext.h Changes since v6: - Rebased on master - Fixed ordering in support/Makefile - Add a comment in "tests: replace read by xread" commit message that explicits why some read call is removed. - Revert unexpected read call change of behavior in sysdeps/pthread/tst-cancel{20,21}.c - Fixed copyrights dates in headers --- Frédéric Bérat (4): tests: replace read by xread tests: replace system by xsystem tests: replace fread by xfread tests: replace fgets by xfgets assert/test-assert-perr.c | 8 ++++--- assert/test-assert.c | 8 ++++--- dirent/tst-fdopendir.c | 3 ++- elf/tst-stackguard1.c | 5 ++++- libio/bug-fseek.c | 7 +++--- libio/bug-mmap-fflush.c | 7 ++++-- nptl/tst-cancel7.c | 3 ++- nptl/tst-cleanup4.c | 4 +++- nptl/tst-stackguard1.c | 4 +++- nss/tst-nss-db-endpwent.c | 3 ++- stdio-common/bug12.c | 12 ++++++----- stdio-common/bug3.c | 4 +++- stdio-common/bug4.c | 4 +++- stdio-common/test_rdwr.c | 11 ++++------ stdio-common/tst-cookie.c | 5 ++++- stdio-common/tst-fmemopen3.c | 4 +++- support/Makefile | 4 ++++ support/test-container.c | 3 ++- support/xfgets.c | 32 ++++++++++++++++++++++++++++ support/xfread.c | 39 ++++++++++++++++++++++++++++++++++ support/xread.c | 36 +++++++++++++++++++++++++++++++ support/xstdio.h | 2 ++ support/xstdlib.h | 31 +++++++++++++++++++++++++++ support/xsystem.c | 37 ++++++++++++++++++++++++++++++++ support/xunistd.h | 3 +++ sysdeps/pthread/Makefile | 2 +- sysdeps/pthread/tst-cancel11.c | 4 +++- sysdeps/pthread/tst-cancel20.c | 2 -- sysdeps/pthread/tst-cancel21.c | 2 -- sysdeps/pthread/tst-cancel6.c | 3 ++- sysdeps/pthread/tst-fini1mod.c | 4 +++- 31 files changed, 254 insertions(+), 42 deletions(-) create mode 100644 support/xfgets.c create mode 100644 support/xfread.c create mode 100644 support/xread.c create mode 100644 support/xstdlib.h create mode 100644 support/xsystem.c