From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ot1-x331.google.com (mail-ot1-x331.google.com [IPv6:2607:f8b0:4864:20::331]) by sourceware.org (Postfix) with ESMTPS id C0EF03858D1E for ; Mon, 18 Apr 2022 16:18:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C0EF03858D1E Received: by mail-ot1-x331.google.com with SMTP id l9-20020a056830268900b006054381dd35so3976256otu.4 for ; Mon, 18 Apr 2022 09:18:22 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=wIEbArY4kUdGBFBGCPiMmMNzVB4/BOhFR7F/0Opxv4g=; b=0ph/kmpYdR22IzAk8GYrLeYyXtUxowxjzLZIpr52idiYO5Z4aTz4BzhOPmSuS1cnEG nGCZyypWgF+ZsYVDhp15UsGueVRgMpqHws8ycsS9qzWdNeZNYdZ8facZOMOPxIjKUaOC k1LMe5QHfN+ldmDAKrrC1v5gSxZjZ2I3x4DYZ9L+A9OnRwF2rruuxC9YB9DvA7PXpLtD y07lmd4WCm01MaOEmJ3Q7iRXuOfH8fk97GCVFRpXHWiR1xn2dU/TeFfz3rNj71Zfb58x M60anY6Fz6edMJBM3BJsaB7UqWiyIZp54f6UNXpIg3jz+79FdEMnIoKUf+6a6Sf/35cv GKqw== X-Gm-Message-State: AOAM533G/APBQLB3f+R8Wrj+FWr++6OJcCJIU9yNgzuOyBF6IE52M1rW VuMaqwC/p4SVZJ4YqPcX2Qp78poqcfLexw== X-Google-Smtp-Source: ABdhPJwnNqtLLYqzCRPvcHnXsf+43SyTK41AUS0hGZ5lHXtIvVMg+BKEibuJz1B7LqVXEU6kfXgKPg== X-Received: by 2002:a9d:67d4:0:b0:5b2:2644:7696 with SMTP id c20-20020a9d67d4000000b005b226447696mr4458013otn.322.1650298701719; Mon, 18 Apr 2022 09:18:21 -0700 (PDT) Received: from birita.. ([2804:431:c7ca:c9d0:566e:62b0:471b:674d]) by smtp.gmail.com with ESMTPSA id p18-20020a056830131200b00605518ec640sm292390otq.23.2022.04.18.09.18.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 Apr 2022 09:18:21 -0700 (PDT) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: =Joshua Kinard Subject: [COMMITTED 2.34, 2.35] mips: Fix mips64n32 64 bit time_t stat support (BZ#29069) Date: Mon, 18 Apr 2022 13:18:16 -0300 Message-Id: <20220418161816.3924900-1-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.32.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-12.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, 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.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) 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: Mon, 18 Apr 2022 16:18:24 -0000 From: =Joshua Kinard Add missing support initially added by 4e8521333bea6e89fcef1020 (which missed n32 stat). (cherry picked from commit 78fb88827362fbd2cc8aa32892ae5b015106e25c) --- NEWS | 2 + .../unix/sysv/linux/mips/bits/struct_stat.h | 38 +++++++++++-------- 2 files changed, 25 insertions(+), 15 deletions(-) diff --git a/NEWS b/NEWS index 55aea241d5..edb1be4e00 100644 --- a/NEWS +++ b/NEWS @@ -95,6 +95,8 @@ The following bugs are resolved with this release: [28953] nss: Protect against errno changes in function lookup [29029] nptl: poll() spuriously returns EINTR during thread cancellation and with cancellation disabled + [29069] libc: fstatat64_time64_statx wrapper broken on MIPS N32 with + -D_FILE_OFFSET_BITS=64 and -D_TIME_BITS=64 Version 2.34 diff --git a/sysdeps/unix/sysv/linux/mips/bits/struct_stat.h b/sysdeps/unix/sysv/linux/mips/bits/struct_stat.h index ab9f474cbc..ed5b1bc00b 100644 --- a/sysdeps/unix/sysv/linux/mips/bits/struct_stat.h +++ b/sysdeps/unix/sysv/linux/mips/bits/struct_stat.h @@ -131,27 +131,30 @@ struct stat64 struct stat { +# ifdef __USE_TIME_BITS64 +# include +# else __dev_t st_dev; int st_pad1[3]; /* Reserved for st_dev expansion */ -# ifndef __USE_FILE_OFFSET64 +# ifndef __USE_FILE_OFFSET64 __ino_t st_ino; -# else +# else __ino64_t st_ino; -# endif +# endif __mode_t st_mode; __nlink_t st_nlink; __uid_t st_uid; __gid_t st_gid; __dev_t st_rdev; -# if !defined __USE_FILE_OFFSET64 +# if !defined __USE_FILE_OFFSET64 unsigned int st_pad2[2]; /* Reserved for st_rdev expansion */ __off_t st_size; int st_pad3; -# else +# else unsigned int st_pad2[3]; /* Reserved for st_rdev expansion */ __off64_t st_size; -# endif -# ifdef __USE_XOPEN2K8 +# endif +# ifdef __USE_XOPEN2K8 /* Nanosecond resolution timestamps are stored in a format equivalent to 'struct timespec'. This is the type used whenever possible but the Unix namespace rules do not allow the @@ -161,30 +164,34 @@ struct stat struct timespec st_atim; /* Time of last access. */ struct timespec st_mtim; /* Time of last modification. */ struct timespec st_ctim; /* Time of last status change. */ -# define st_atime st_atim.tv_sec /* Backward compatibility. */ -# define st_mtime st_mtim.tv_sec -# define st_ctime st_ctim.tv_sec -# else +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else __time_t st_atime; /* Time of last access. */ unsigned long int st_atimensec; /* Nscecs of last access. */ __time_t st_mtime; /* Time of last modification. */ unsigned long int st_mtimensec; /* Nsecs of last modification. */ __time_t st_ctime; /* Time of last status change. */ unsigned long int st_ctimensec; /* Nsecs of last status change. */ -# endif +# endif __blksize_t st_blksize; unsigned int st_pad4; -# ifndef __USE_FILE_OFFSET64 +# ifndef __USE_FILE_OFFSET64 __blkcnt_t st_blocks; -# else +# else __blkcnt64_t st_blocks; -# endif +# endif int st_pad5[14]; +# endif }; #ifdef __USE_LARGEFILE64 struct stat64 { +# ifdef __USE_TIME_BITS64 +# include +# else __dev_t st_dev; unsigned int st_pad1[3]; /* Reserved for st_dev expansion */ __ino64_t st_ino; @@ -217,6 +224,7 @@ struct stat64 unsigned int st_pad3; __blkcnt64_t st_blocks; int st_pad4[14]; +# endif /* __USE_TIME_BITS64 */ }; #endif -- 2.32.0