From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dragonfly.birch.relay.mailchannels.net (dragonfly.birch.relay.mailchannels.net [23.83.209.51]) by sourceware.org (Postfix) with ESMTPS id F356B385840D for ; Thu, 1 Jun 2023 16:40:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org F356B385840D Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=gotplt.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gotplt.org X-Sender-Id: dreamhost|x-authsender|siddhesh@gotplt.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 287EF427F0; Thu, 1 Jun 2023 16:40:01 +0000 (UTC) Received: from pdx1-sub0-mail-a202.dreamhost.com (unknown [127.0.0.6]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id C30904270F; Thu, 1 Jun 2023 16:40:00 +0000 (UTC) ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1685637600; a=rsa-sha256; cv=none; b=DW869esoBt6cKEjhhFzjkGdC8BsPkoEtTH4hzXMcU1S96kV7i9eyq8D6rjGECdp7G7uYLq o+spBu+5GBlVIN2kYXa4dklP9EbpMYw1N+2PVjbsYCoAr8vEOSdIJXywWsGyorjOkWm6H+ U97mrJIrVv+BTRhYSoma6u6l2Tf4a3zSiJIU7+bHYjIcgO3ai2VKVArfgytImvm7v1Wi1K 45VX26EjpLByRgXr+WVhr8wkD72M+X3gvPh6IYQjcm7O7TihqRFVPm0HuFLwUQiU6ZqwCv DNELtXpdT3lxlLqU7HfpOaCxzEHK0Bd7cCLcHvluBi9JO7oVKWD7shAcF1PLnA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=mailchannels.net; s=arc-2022; t=1685637600; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=ZsuQjPNH+ygnTQ3hp2wtnCKn9eeTqn0XcI1c5O8DhCs=; b=LsRF3+ktD9k/BYxItDtUp1knjlN2xPgovEmBSZP9HNa2HztVU//0Yt64NDjIoxc6QgKxav HQ6/+ePyuJh/5ATw0yXllQGUTELCOe3PA71uMT16XkRkFhuGWT1O+GQuky9gNCwdrfE5uV ferwWa7h7GP2J7Wo4hctaIMVo2ss3oUIT5RGJ9Fjz1FmG4xjP+UR7ju7zJ6EGYXaR4P3GH MN4iOHDx0n7/UKcSERL+4Z4u1FdK1FcJrRbAQ8xZFfpx/5/7YRDwqPQdsI6SV3dbw1rLsC cMQP5ILv5eKj2JVpsLgbofeEhqIlLjozcbo1gXx9x1LnOkXIUoQqgGLbbXN0sA== ARC-Authentication-Results: i=1; rspamd-58dcc7d645-vzvsg; auth=pass smtp.auth=dreamhost smtp.mailfrom=siddhesh@gotplt.org X-Sender-Id: dreamhost|x-authsender|siddhesh@gotplt.org X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|siddhesh@gotplt.org X-MailChannels-Auth-Id: dreamhost X-Little-Wide-Eyed: 7d600ba54cf1a5fb_1685637601037_2339181479 X-MC-Loop-Signature: 1685637601037:4211061571 X-MC-Ingress-Time: 1685637601037 Received: from pdx1-sub0-mail-a202.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384) by 100.115.252.243 (trex/6.8.1); Thu, 01 Jun 2023 16:40:01 +0000 Received: from [192.168.0.182] (bras-vprn-toroon4834w-lp130-02-142-113-138-85.dsl.bell.ca [142.113.138.85]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: siddhesh@gotplt.org) by pdx1-sub0-mail-a202.dreamhost.com (Postfix) with ESMTPSA id 4QXBgh2SFVzL8; Thu, 1 Jun 2023 09:40:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gotplt.org; s=dreamhost; t=1685637600; bh=ZsuQjPNH+ygnTQ3hp2wtnCKn9eeTqn0XcI1c5O8DhCs=; h=Date:Subject:From:To:Content-Type:Content-Transfer-Encoding; b=aQbJn+/rB+Wfzz8TAWAvJryLyjcISOr1B1yG1ujqAKQurV9kfDVuu/M+J/PfJp2zF FVAmkKnuGBI4uu1sVRcG7CrjkEgFkbAZJLEG5mVKm+PphZANYGX9qqsjZUHvinZOT2 rNLIKZsTc1PNW3kVIXAWobdysX2m2VZ3vJ7UdRNWXDKwWJ+FG7M+WHi86VED9MDb+d H4jdZRJRCtAoeWocglR2hRhgpE4cPCRhjjxDQ2Omh2OITlgDamOULirbSohW5v7LXk p8FPRBd8ubIOD2CFMHXXaCXNX4E5MHnj0xx/97nCGh93D3rN6h0/PfsmGmoxP9WdYz Pv9IW/f9ecQqQ== Message-ID: <11572135-4687-6784-b0e1-3b47eb98032b@gotplt.org> Date: Thu, 1 Jun 2023 12:39:59 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.0 Subject: Re: [PATCH v4 08/15] tests: replace write by xwrite Content-Language: en-US From: Siddhesh Poyarekar To: =?UTF-8?B?RnLDqWTDqXJpYyBCw6lyYXQ=?= , libc-alpha@sourceware.org References: <20230428122142.928135-1-fberat@redhat.com> <20230428122142.928135-9-fberat@redhat.com> <5bd5d291-5c0f-fe92-22db-cbc170eba445@gotplt.org> In-Reply-To: <5bd5d291-5c0f-fe92-22db-cbc170eba445@gotplt.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-3035.9 required=5.0 tests=BAYES_00,BODY_8BITS,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,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 List-Id: Reviewed-by: Siddhesh Poyarekar Some tests need to be ported to test-driver.c but that could become a separate exercise. Thanks, Sid On 2023-05-24 21:16, Siddhesh Poyarekar wrote: > > > On 2023-04-28 08:21, Frédéric Bérat wrote: >> Using write without cheks leads to warn unused result when __wur is >> enabled. >> --- >>   dirent/tst-fdopendir.c        |  4 +++- >>   io/tst-faccessat.c            |  3 ++- >>   io/tst-fchmodat.c             |  3 ++- >>   io/tst-fchownat.c             |  3 ++- >>   io/tst-fstatat.c              |  3 ++- >>   io/tst-futimesat.c            |  3 ++- >>   io/tst-linkat.c               |  3 ++- >>   io/tst-openat.c               |  3 ++- >>   io/tst-renameat.c             |  3 ++- >>   io/tst-symlinkat.c            |  3 ++- >>   io/tst-unlinkat.c             |  3 ++- >>   libio/bug-ungetc.c            |  4 +++- >>   libio/bug-ungetc3.c           |  4 +++- >>   libio/bug-ungetc4.c           |  4 +++- >>   libio/bug-wfflush.c           |  4 +++- >>   libio/bug-wsetpos.c           |  4 +++- >>   nptl/tst-stackguard1.c        |  4 +++- >>   nptl/tst-tls3.c               |  2 ++ >>   nptl/tst-tls3mod.c            |  5 +++-- >>   rt/tst-cpuclock2.c            |  4 +++- >>   rt/tst-cputimer1.c            |  4 +++- >>   rt/tst-cputimer2.c            |  4 +++- >>   rt/tst-cputimer3.c            |  4 +++- >>   support/test-container.c      |  8 ++++---- >>   sysdeps/pthread/tst-cond18.c  |  4 +++- >>   sysdeps/pthread/tst-flock1.c  |  3 ++- >>   sysdeps/pthread/tst-flock2.c  |  3 ++- >>   sysdeps/pthread/tst-key1.c    | 11 ++++++----- >>   sysdeps/pthread/tst-signal1.c |  3 ++- >>   sysdeps/pthread/tst-signal2.c |  3 ++- >>   sysdeps/pthread/tst-timer.c   |  3 ++- >>   time/tst-cpuclock1.c          |  4 +++- >>   32 files changed, 84 insertions(+), 39 deletions(-) >> >> diff --git a/dirent/tst-fdopendir.c b/dirent/tst-fdopendir.c >> index 6321af1daa..2c9520574d 100644 >> --- a/dirent/tst-fdopendir.c >> +++ b/dirent/tst-fdopendir.c > > The test needs to be ported to support.h, that's probably true for other > tests in here too I'm afraid.  The change otherwise looks OK, so it just > needs an additional patch that ports the tests to support.h. > > Thanks, > Sid > >> @@ -7,6 +7,8 @@ >>   #include >>   #include >> +#include >> + >>   #ifndef O_NOATIME >>   # define O_NOATIME    0 >>   #endif >> @@ -22,7 +24,7 @@ do_test (void) >>         return 1; >>       } >> -  write (fd, "hello", 5); >> +  xwrite (fd, "hello", 5); >>     close (fd); >>     struct stat64 st; >> diff --git a/io/tst-faccessat.c b/io/tst-faccessat.c >> index 7bdeed008c..b90954e318 100644 >> --- a/io/tst-faccessat.c >> +++ b/io/tst-faccessat.c >> @@ -8,6 +8,7 @@ >>   #include >>   #include >> +#include >>   static void prepare (void); >>   #define PREPARE(argc, argv) prepare () >> @@ -96,7 +97,7 @@ do_test (void) >>         puts ("file creation failed"); >>         return 1; >>       } >> -  write (fd, "hello", 5); >> +  xwrite (fd, "hello", 5); >>     puts ("file created"); >>     /* Before closing the file, try using this file descriptor to open >> diff --git a/io/tst-fchmodat.c b/io/tst-fchmodat.c >> index 7d4a8717ff..83003e2f21 100644 >> --- a/io/tst-fchmodat.c >> +++ b/io/tst-fchmodat.c >> @@ -8,6 +8,7 @@ >>   #include >>   #include >> +#include >>   static void prepare (void); >>   #define PREPARE(argc, argv) prepare () >> @@ -98,7 +99,7 @@ do_test (void) >>         puts ("file creation failed"); >>         return 1; >>       } >> -  write (fd, "hello", 5); >> +  xwrite (fd, "hello", 5); >>     puts ("file created"); >>     struct stat64 st1; >> diff --git a/io/tst-fchownat.c b/io/tst-fchownat.c >> index e8adf6229f..c0b87cda8f 100644 >> --- a/io/tst-fchownat.c >> +++ b/io/tst-fchownat.c >> @@ -6,6 +6,7 @@ >>   #include >>   #include >> +#include >>   static void prepare (void); >>   #define PREPARE(argc, argv) prepare () >> @@ -106,7 +107,7 @@ do_test (void) >>         puts ("file creation failed"); >>         return 1; >>       } >> -  write (fd, "hello", 5); >> +  xwrite (fd, "hello", 5); >>     puts ("file created"); >>     struct stat64 st1; >> diff --git a/io/tst-fstatat.c b/io/tst-fstatat.c >> index 4766bb2e71..6a60024b63 100644 >> --- a/io/tst-fstatat.c >> +++ b/io/tst-fstatat.c >> @@ -6,6 +6,7 @@ >>   #include >>   #include >> +#include >>   static void prepare (void); >>   #define PREPARE(argc, argv) prepare () >> @@ -94,7 +95,7 @@ do_test (void) >>         puts ("file creation failed"); >>         return 1; >>       } >> -  write (fd, "hello", 5); >> +  xwrite (fd, "hello", 5); >>     puts ("file created"); >>     struct stat64 st1; >> diff --git a/io/tst-futimesat.c b/io/tst-futimesat.c >> index 3d41721f42..b7ef386e06 100644 >> --- a/io/tst-futimesat.c >> +++ b/io/tst-futimesat.c >> @@ -28,6 +28,7 @@ >>   #include >>   #include >> +#include >>   #ifndef struct_stat >>   # define struct_stat struct stat64 >> @@ -114,7 +115,7 @@ do_test (void) >>         puts ("file creation failed"); >>         return 1; >>       } >> -  write (fd, "hello", 5); >> +  xwrite (fd, "hello", 5); >>     puts ("file created"); >>     struct_stat st1; >> diff --git a/io/tst-linkat.c b/io/tst-linkat.c >> index 97445b7954..6b22a01c88 100644 >> --- a/io/tst-linkat.c >> +++ b/io/tst-linkat.c >> @@ -6,6 +6,7 @@ >>   #include >>   #include >> +#include >>   static void prepare (void); >>   #define PREPARE(argc, argv) prepare () >> @@ -94,7 +95,7 @@ do_test (void) >>         puts ("file creation failed"); >>         return 1; >>       } >> -  write (fd, "hello", 5); >> +  xwrite (fd, "hello", 5); >>     puts ("file created"); >>     struct stat64 st1; >> diff --git a/io/tst-openat.c b/io/tst-openat.c >> index 741b8d0ad2..2ce89e3db1 100644 >> --- a/io/tst-openat.c >> +++ b/io/tst-openat.c >> @@ -6,6 +6,7 @@ >>   #include >>   #include >> +#include >>   static void prepare (void); >>   #define PREPARE(argc, argv) prepare () >> @@ -94,7 +95,7 @@ do_test (void) >>         puts ("file creation failed"); >>         return 1; >>       } >> -  write (fd, "hello", 5); >> +  xwrite (fd, "hello", 5); >>     /* Before closing the file, try using this file descriptor to open >>        another file.  This must fail.  */ >> diff --git a/io/tst-renameat.c b/io/tst-renameat.c >> index 435302b52b..0b9da5fd6d 100644 >> --- a/io/tst-renameat.c >> +++ b/io/tst-renameat.c >> @@ -6,6 +6,7 @@ >>   #include >>   #include >> +#include >>   static void prepare (void); >>   #define PREPARE(argc, argv) prepare () >> @@ -94,7 +95,7 @@ do_test (void) >>         puts ("file creation failed"); >>         return 1; >>       } >> -  write (fd, "hello", 5); >> +  xwrite (fd, "hello", 5); >>     puts ("file created"); >>     struct stat64 st1; >> diff --git a/io/tst-symlinkat.c b/io/tst-symlinkat.c >> index 214a8e348e..4a34994df7 100644 >> --- a/io/tst-symlinkat.c >> +++ b/io/tst-symlinkat.c >> @@ -6,6 +6,7 @@ >>   #include >>   #include >> +#include >>   static void prepare (void); >>   #define PREPARE(argc, argv) prepare () >> @@ -94,7 +95,7 @@ do_test (void) >>         puts ("file creation failed"); >>         return 1; >>       } >> -  write (fd, "hello", 5); >> +  xwrite (fd, "hello", 5); >>     puts ("file created"); >>     struct stat64 st1; >> diff --git a/io/tst-unlinkat.c b/io/tst-unlinkat.c >> index e21d56f9f7..21a2dbaf57 100644 >> --- a/io/tst-unlinkat.c >> +++ b/io/tst-unlinkat.c >> @@ -6,6 +6,7 @@ >>   #include >>   #include >> +#include >>   static void prepare (void); >>   #define PREPARE(argc, argv) prepare () >> @@ -94,7 +95,7 @@ do_test (void) >>         puts ("file creation failed"); >>         return 1; >>       } >> -  write (fd, "hello", 5); >> +  xwrite (fd, "hello", 5); >>     close (fd); >>     puts ("file created"); >> diff --git a/libio/bug-ungetc.c b/libio/bug-ungetc.c >> index 51940b68f5..4ea2d14ed6 100644 >> --- a/libio/bug-ungetc.c >> +++ b/libio/bug-ungetc.c >> @@ -2,6 +2,8 @@ >>   #include >> +#include >> + >>   static void do_prepare (void); >>   #define PREPARE(argc, argv) do_prepare () >>   static int do_test (void); >> @@ -20,7 +22,7 @@ do_prepare (void) >>         printf ("cannot create temporary file: %m\n"); >>         exit (1); >>       } >> -  write (fd, pattern, sizeof (pattern)); >> +  xwrite (fd, pattern, sizeof (pattern)); >>     close (fd); >>   } >> diff --git a/libio/bug-ungetc3.c b/libio/bug-ungetc3.c >> index 0c83c1161e..6100d7a936 100644 >> --- a/libio/bug-ungetc3.c >> +++ b/libio/bug-ungetc3.c >> @@ -2,6 +2,8 @@ >>   #include >> +#include >> + >>   static void do_prepare (void); >>   #define PREPARE(argc, argv) do_prepare () >>   static int do_test (void); >> @@ -20,7 +22,7 @@ do_prepare (void) >>         printf ("cannot create temporary file: %m\n"); >>         exit (1); >>       } >> -  write (fd, pattern, sizeof (pattern)); >> +  xwrite (fd, pattern, sizeof (pattern)); >>     close (fd); >>   } >> diff --git a/libio/bug-ungetc4.c b/libio/bug-ungetc4.c >> index 0bd02a570d..8a05def686 100644 >> --- a/libio/bug-ungetc4.c >> +++ b/libio/bug-ungetc4.c >> @@ -18,6 +18,8 @@ >>   #include >> +#include >> + >>   static void do_prepare (void); >>   #define PREPARE(argc, argv) do_prepare () >>   static int do_test (void); >> @@ -36,7 +38,7 @@ do_prepare (void) >>         printf ("cannot create temporary file: %m\n"); >>         exit (1); >>       } >> -  write (fd, pattern, sizeof (pattern) - 1); >> +  xwrite (fd, pattern, sizeof (pattern) - 1); >>     close (fd); >>   } >> diff --git a/libio/bug-wfflush.c b/libio/bug-wfflush.c >> index a8fd61e997..d1b9d8e9de 100644 >> --- a/libio/bug-wfflush.c >> +++ b/libio/bug-wfflush.c >> @@ -3,6 +3,8 @@ >>   #include >>   #include >> +#include >> + >>   static void do_prepare (void); >>   #define PREPARE(argc, argv) do_prepare () >>   static int do_test (void); >> @@ -20,7 +22,7 @@ do_prepare (void) >>         printf ("cannot create temporary file: %m\n"); >>         exit (1); >>       } >> -  write (fd, "1!", 2); >> +  xwrite (fd, "1!", 2); >>     close (fd); >>   } >> diff --git a/libio/bug-wsetpos.c b/libio/bug-wsetpos.c >> index ccb22a4b62..0fc373ba49 100644 >> --- a/libio/bug-wsetpos.c >> +++ b/libio/bug-wsetpos.c >> @@ -4,6 +4,8 @@ >>   #include >>   #include >> +#include >> + >>   static void do_prepare (void); >>   #define PREPARE(argc, argv) do_prepare () >>   static int do_test (void); >> @@ -22,7 +24,7 @@ do_prepare (void) >>         printf ("cannot create temporary file: %m\n"); >>         exit (1); >>       } >> -  write (fd, pattern, sizeof (pattern)); >> +  xwrite (fd, pattern, sizeof (pattern)); >>     close (fd); >>   } >> diff --git a/nptl/tst-stackguard1.c b/nptl/tst-stackguard1.c >> index b9cf6844de..4ac57157e9 100644 >> --- a/nptl/tst-stackguard1.c >> +++ b/nptl/tst-stackguard1.c >> @@ -27,6 +27,8 @@ >>   #include >>   #include >> +#include >> + >>   static const char *command; >>   static bool child; >>   static uintptr_t stack_chk_guard_copy; >> @@ -96,7 +98,7 @@ do_test (void) >>       else if (ret != NULL) >>         return 1; >> -      write (2, &stack_chk_guard_copy, sizeof (stack_chk_guard_copy)); >> +      xwrite (2, &stack_chk_guard_copy, sizeof (stack_chk_guard_copy)); >>         return 0; >>       } >> diff --git a/nptl/tst-tls3.c b/nptl/tst-tls3.c >> index b1a40c624a..33d94c8cc5 100644 >> --- a/nptl/tst-tls3.c >> +++ b/nptl/tst-tls3.c >> @@ -26,6 +26,8 @@ >>   #include >>   #include >> +#include >> + >>   #define THE_SIG SIGUSR1 >>   /* The stack size can be overriden.  With a sufficiently large stack >> diff --git a/nptl/tst-tls3mod.c b/nptl/tst-tls3mod.c >> index c6e8910b1e..345a48e1c7 100644 >> --- a/nptl/tst-tls3mod.c >> +++ b/nptl/tst-tls3mod.c >> @@ -25,6 +25,7 @@ >>   #include >>   #include >> +#include >>   extern pthread_barrier_t b; >> @@ -43,7 +44,7 @@ handler (int sig) >>   { >>     if (sig != THE_SIG) >>       { >> -      write (STDOUT_FILENO, "wrong signal\n", 13); >> +      xwrite (STDOUT_FILENO, "wrong signal\n", 13); >>         _exit (1); >>       } >> @@ -51,7 +52,7 @@ handler (int sig) >>     if (sem_post (&s) != 0) >>       { >> -      write (STDOUT_FILENO, "sem_post failed\n", 16); >> +      xwrite (STDOUT_FILENO, "sem_post failed\n", 16); >>         _exit (1); >>       } >>   } >> diff --git a/rt/tst-cpuclock2.c b/rt/tst-cpuclock2.c >> index e4584d8791..8afd34ed9c 100644 >> --- a/rt/tst-cpuclock2.c >> +++ b/rt/tst-cpuclock2.c >> @@ -37,6 +37,8 @@ do_test () >>   #include >>   #include >> +#include >> + >>   static pthread_barrier_t barrier; >>   /* This function is intended to rack up both user and system time.  */ >> @@ -55,7 +57,7 @@ chew_cpu (void *arg) >>         for (int i = 0; i < 100; ++i) >>       for (size_t j = 0; j < sizeof buf; ++j) >>         buf[j] = 0xbb; >> -      write (nullfd, (char *) buf, sizeof buf); >> +      xwrite (nullfd, (char *) buf, sizeof buf); >>         close (nullfd); >>       } >> diff --git a/rt/tst-cputimer1.c b/rt/tst-cputimer1.c >> index 8f5dd76cf2..18d8b195a2 100644 >> --- a/rt/tst-cputimer1.c >> +++ b/rt/tst-cputimer1.c >> @@ -11,6 +11,8 @@ >>   #include >>   #include >> +#include >> + >>   #define TEST_CLOCK CLOCK_PROCESS_CPUTIME_ID >>   #define TEST_CLOCK_MISSING(clock) \ >>     (setup_test () ? "process CPU clock timer support" : NULL) >> @@ -29,7 +31,7 @@ chew_cpu (void *arg) >>         for (int i = 0; i < 100; ++i) >>       for (size_t j = 0; j < sizeof buf; ++j) >>         buf[j] = 0xbb; >> -      write (nullfd, (char *) buf, sizeof buf); >> +      xwrite (nullfd, (char *) buf, sizeof buf); >>         close (nullfd); >>       } >> diff --git a/rt/tst-cputimer2.c b/rt/tst-cputimer2.c >> index 397d7998c0..a5700d4bac 100644 >> --- a/rt/tst-cputimer2.c >> +++ b/rt/tst-cputimer2.c >> @@ -12,6 +12,8 @@ >>   #include >>   #include >> +#include >> + >>   static clockid_t worker_thread_clock; >>   #define TEST_CLOCK worker_thread_clock >> @@ -32,7 +34,7 @@ chew_cpu (void *arg) >>         for (int i = 0; i < 100; ++i) >>       for (size_t j = 0; j < sizeof buf; ++j) >>         buf[j] = 0xbb; >> -      write (nullfd, (char *) buf, sizeof buf); >> +      xwrite (nullfd, (char *) buf, sizeof buf); >>         close (nullfd); >>       } >> diff --git a/rt/tst-cputimer3.c b/rt/tst-cputimer3.c >> index 056766a377..786de93a02 100644 >> --- a/rt/tst-cputimer3.c >> +++ b/rt/tst-cputimer3.c >> @@ -13,6 +13,8 @@ >>   #include >>   #include >> +#include >> + >>   static clockid_t child_clock; >>   #define TEST_CLOCK child_clock >> @@ -33,7 +35,7 @@ chew_cpu (void) >>         for (int i = 0; i < 100; ++i) >>       for (size_t j = 0; j < sizeof buf; ++j) >>         buf[j] = 0xbb; >> -      write (nullfd, (char *) buf, sizeof buf); >> +      xwrite (nullfd, (char *) buf, sizeof buf); >>         close (nullfd); >>         if (getppid () == 1) >>       _exit (2); >> diff --git a/support/test-container.c b/support/test-container.c >> index e68f16eecf..d4ca41fe7c 100644 >> --- a/support/test-container.c >> +++ b/support/test-container.c >> @@ -1186,7 +1186,7 @@ main (int argc, char **argv) >>         int status; >>         /* Send the child's "outside" pid to it.  */ >> -      write (pipes[1], &child, sizeof(child)); >> +      xwrite (pipes[1], &child, sizeof(child)); >>         close (pipes[0]); >>         close (pipes[1]); >> @@ -1255,7 +1255,7 @@ main (int argc, char **argv) >>         sprintf (tmp, "%lld %lld 1\n", >>              (long long) (be_su ? 0 : original_uid), (long long) >> original_uid); >> -      write (UMAP, tmp, strlen (tmp)); >> +      xwrite (UMAP, tmp, strlen (tmp)); >>         xclose (UMAP); >>         /* We must disable setgroups () before we can map our groups, >> else we >> @@ -1264,7 +1264,7 @@ main (int argc, char **argv) >>         if (GMAP >= 0) >>       { >>         /* We support kernels old enough to not have this.  */ >> -      write (GMAP, "deny\n", 5); >> +      xwrite (GMAP, "deny\n", 5); >>         xclose (GMAP); >>       } >> @@ -1276,7 +1276,7 @@ main (int argc, char **argv) >>         sprintf (tmp, "%lld %lld 1\n", >>              (long long) (be_su ? 0 : original_gid), (long long) >> original_gid); >> -      write (GMAP, tmp, strlen (tmp)); >> +      xwrite (GMAP, tmp, strlen (tmp)); >>         xclose (GMAP); >>       } >> diff --git a/sysdeps/pthread/tst-cond18.c b/sysdeps/pthread/tst-cond18.c >> index edac4fa4ff..ffae356c04 100644 >> --- a/sysdeps/pthread/tst-cond18.c >> +++ b/sysdeps/pthread/tst-cond18.c >> @@ -24,6 +24,8 @@ >>   #include >>   #include >> +#include >> + >>   pthread_cond_t cv = PTHREAD_COND_INITIALIZER; >>   pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER; >>   bool exiting; >> @@ -40,7 +42,7 @@ tf (void *id) >>         while (!exiting) >>       { >>         if ((spins++ % 1000) == 0) >> -        write (fd, ".", 1); >> +        xwrite (fd, ".", 1); >>         pthread_mutex_unlock (&lock); >>         pthread_mutex_lock (&lock); >> diff --git a/sysdeps/pthread/tst-flock1.c b/sysdeps/pthread/tst-flock1.c >> index 7eef9070ab..9de148afd3 100644 >> --- a/sysdeps/pthread/tst-flock1.c >> +++ b/sysdeps/pthread/tst-flock1.c >> @@ -21,6 +21,7 @@ >>   #include >>   #include >> +#include >>   static pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER; >> @@ -56,7 +57,7 @@ do_test (void) >>     unlink (tmp); >> -  write (fd, "foobar xyzzy", 12); >> +  xwrite (fd, "foobar xyzzy", 12); >>     if (flock (fd, LOCK_EX | LOCK_NB) != 0) >>       { >> diff --git a/sysdeps/pthread/tst-flock2.c b/sysdeps/pthread/tst-flock2.c >> index 8762e93b52..952b79e5db 100644 >> --- a/sysdeps/pthread/tst-flock2.c >> +++ b/sysdeps/pthread/tst-flock2.c >> @@ -24,6 +24,7 @@ >>   #include >>   #include >> +#include >>   static pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER; >>   static pthread_mutex_t lock2 = PTHREAD_MUTEX_INITIALIZER; >> @@ -70,7 +71,7 @@ do_test (void) >>     int i; >>     for (i = 0; i < 20; ++i) >> -    write (fd, "foobar xyzzy", 12); >> +    xwrite (fd, "foobar xyzzy", 12); >>     pthread_barrier_t *b; >>     b = mmap (NULL, sizeof (pthread_barrier_t), PROT_READ | PROT_WRITE, >> diff --git a/sysdeps/pthread/tst-key1.c b/sysdeps/pthread/tst-key1.c >> index 933edafef8..60245c4e47 100644 >> --- a/sysdeps/pthread/tst-key1.c >> +++ b/sysdeps/pthread/tst-key1.c >> @@ -21,6 +21,7 @@ >>   #include >>   #include >> +#include >>   static int do_test (void); >> @@ -51,7 +52,7 @@ do_test (void) >>       if (pthread_setspecific (keys[i], (const void *) (i + 100l)) != 0) >>         { >> -        write (2, "setspecific failed\n", 19); >> +        xwrite (2, "setspecific failed\n", 19); >>           _exit (1); >>         } >>         } >> @@ -60,13 +61,13 @@ do_test (void) >>       { >>         if (pthread_getspecific (keys[i]) != (void *) (i + 100l)) >>       { >> -      write (2, "getspecific failed\n", 19); >> +      xwrite (2, "getspecific failed\n", 19); >>         _exit (1); >>       } >>         if (pthread_key_delete (keys[i]) != 0) >>       { >> -      write (2, "key_delete failed\n", 18); >> +      xwrite (2, "key_delete failed\n", 18); >>         _exit (1); >>       } >>       } >> @@ -74,13 +75,13 @@ do_test (void) >>     /* Now it must be once again possible to allocate keys.  */ >>     if (pthread_key_create (&keys[0], NULL) != 0) >>       { >> -      write (2, "2nd key_create failed\n", 22); >> +      xwrite (2, "2nd key_create failed\n", 22); >>         _exit (1); >>       } >>     if (pthread_key_delete (keys[0]) != 0) >>       { >> -      write (2, "2nd key_delete failed\n", 22); >> +      xwrite (2, "2nd key_delete failed\n", 22); >>         _exit (1); >>       } >> diff --git a/sysdeps/pthread/tst-signal1.c >> b/sysdeps/pthread/tst-signal1.c >> index d1073e8459..d1082027ca 100644 >> --- a/sysdeps/pthread/tst-signal1.c >> +++ b/sysdeps/pthread/tst-signal1.c >> @@ -25,6 +25,7 @@ >>   #include >>   #include >> +#include >>   static sigset_t ss; >>   static pthread_barrier_t *b; >> @@ -105,7 +106,7 @@ do_test (void) >>     int i; >>     for (i = 0; i < 20; ++i) >> -    write (fd, "foobar xyzzy", 12); >> +    xwrite (fd, "foobar xyzzy", 12); >>     b = mmap (NULL, sizeof (pthread_barrier_t), PROT_READ | PROT_WRITE, >>           MAP_SHARED, fd, 0); >> diff --git a/sysdeps/pthread/tst-signal2.c >> b/sysdeps/pthread/tst-signal2.c >> index dfe7d9f64a..15b7747877 100644 >> --- a/sysdeps/pthread/tst-signal2.c >> +++ b/sysdeps/pthread/tst-signal2.c >> @@ -25,6 +25,7 @@ >>   #include >>   #include >> +#include >>   static sigset_t ss; >>   static pthread_barrier_t *b; >> @@ -111,7 +112,7 @@ do_test (void) >>     int i; >>     for (i = 0; i < 20; ++i) >> -    write (fd, "foobar xyzzy", 12); >> +    xwrite (fd, "foobar xyzzy", 12); >>     b = mmap (NULL, sizeof (pthread_barrier_t), PROT_READ | PROT_WRITE, >>           MAP_SHARED, fd, 0); >> diff --git a/sysdeps/pthread/tst-timer.c b/sysdeps/pthread/tst-timer.c >> index 47472ab8e1..4cfe0b67dc 100644 >> --- a/sysdeps/pthread/tst-timer.c >> +++ b/sysdeps/pthread/tst-timer.c >> @@ -24,6 +24,7 @@ >>   #include >>   #include >> +#include >>   static void >>   notify_func1 (union sigval sigval) >> @@ -44,7 +45,7 @@ signal_func (int sig) >>   { >>     static const char text[] = "signal_func\n"; >>     signal (sig, signal_func); >> -  write (STDOUT_FILENO, text, sizeof text - 1); >> +  xwrite (STDOUT_FILENO, text, sizeof text - 1); >>   } >>   static void >> diff --git a/time/tst-cpuclock1.c b/time/tst-cpuclock1.c >> index 6f2e70a58a..6a793e06df 100644 >> --- a/time/tst-cpuclock1.c >> +++ b/time/tst-cpuclock1.c >> @@ -27,6 +27,8 @@ >>   #include >>   #include >> +#include >> + >>   /* This function is intended to rack up both user and system time.  */ >>   static void >>   chew_cpu (void) >> @@ -41,7 +43,7 @@ chew_cpu (void) >>         for (int i = 0; i < 100; ++i) >>       for (size_t j = 0; j < sizeof buf; ++j) >>         buf[j] = 0xbb; >> -      write (nullfd, (char *) buf, sizeof buf); >> +      xwrite (nullfd, (char *) buf, sizeof buf); >>         close (nullfd); >>         if (getppid () == 1) >>       _exit (2); >