* [Buildroot] [PATCH] package/uclibc: fix missing m_tim issue
@ 2024-08-03 6:24 Waldemar Brodkorb
2024-08-03 9:52 ` Thomas Petazzoni via buildroot
0 siblings, 1 reply; 4+ messages in thread
From: Waldemar Brodkorb @ 2024-08-03 6:24 UTC (permalink / raw)
To: buildroot
Patch from upstream to fix missing m_tim issue.
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
---
...are-st_mtim-if-defined-__USE_XOPEN2K.patch | 205 ++++++++++++++++++
1 file changed, 205 insertions(+)
create mode 100644 package/uclibc/0003-bits-stat.h-Declare-st_mtim-if-defined-__USE_XOPEN2K.patch
diff --git a/package/uclibc/0003-bits-stat.h-Declare-st_mtim-if-defined-__USE_XOPEN2K.patch b/package/uclibc/0003-bits-stat.h-Declare-st_mtim-if-defined-__USE_XOPEN2K.patch
new file mode 100644
index 0000000000..9b1003a036
--- /dev/null
+++ b/package/uclibc/0003-bits-stat.h-Declare-st_mtim-if-defined-__USE_XOPEN2K.patch
@@ -0,0 +1,205 @@
+From d0c8c185b439187b12644457bb2aa0326f25aaf7 Mon Sep 17 00:00:00 2001
+From: J.Neuschäfer <j.neuschaefer@gmx.net>
+Date: Sat, 27 Jul 2024 18:47:09 +0200
+Subject: [PATCH] bits/stat.h: Declare st_mtim if defined(__USE_XOPEN2K8),
+ everywhere
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+While building software that sets _POSIX_C_SOURCE=200809L and uses
+stat.st_mtim for ARM, it was noticed that st_mtim was not defined.
+
+This seems to be because common/bits/stat.h was picked up, which does
+not take __USE_XOPEN2K8 as a reason to enable st_mtim and related
+fields. This appears to be an oversight, and porting the check from
+common-generic/bits/stat.h to other architectures does indeed fix the
+build issue.
+
+This patch is based on commit 50bd6d06e ("Fix memory corruption due to
+struct stat field").
+
+Signed-off-by: J. Neuschäfer <j.neuschaefer@gmx.net>
+Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
+Upstream: https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/commit/?id=d0c8c185b439187b12644457bb2aa0326f25aaf7
+---
+ libc/sysdeps/linux/alpha/bits/stat.h | 2 +-
+ libc/sysdeps/linux/common/bits/stat.h | 4 ++--
+ libc/sysdeps/linux/frv/bits/stat.h | 4 ++--
+ libc/sysdeps/linux/ia64/bits/stat.h | 4 ++--
+ libc/sysdeps/linux/m68k/bits/stat.h | 4 ++--
+ libc/sysdeps/linux/mips/bits/stat.h | 4 ++--
+ libc/sysdeps/linux/nds32/bits/stat.h | 4 ++--
+ libc/sysdeps/linux/powerpc/bits/stat.h | 4 ++--
+ 8 files changed, 15 insertions(+), 15 deletions(-)
+
+diff --git a/libc/sysdeps/linux/alpha/bits/stat.h b/libc/sysdeps/linux/alpha/bits/stat.h
+index 88bc6617d..f2dca250d 100644
+--- a/libc/sysdeps/linux/alpha/bits/stat.h
++++ b/libc/sysdeps/linux/alpha/bits/stat.h
+@@ -40,7 +40,7 @@
+
+ Use neat tidy anonymous unions and structures when possible. */
+
+-#ifdef __USE_MISC
++#if defined(__USE_MISC) || defined(__USE_XOPEN2K8)
+ # if __GNUC_PREREQ(3,3)
+ # define __ST_TIME(X) \
+ __extension__ union { \
+diff --git a/libc/sysdeps/linux/common/bits/stat.h b/libc/sysdeps/linux/common/bits/stat.h
+index 07c09f50a..fc76cc3e7 100644
+--- a/libc/sysdeps/linux/common/bits/stat.h
++++ b/libc/sysdeps/linux/common/bits/stat.h
+@@ -61,7 +61,7 @@ struct stat
+ #else
+ __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
+ #endif
+-#ifdef __USE_MISC
++#if defined(__USE_MISC) || defined(__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
+@@ -107,7 +107,7 @@ struct stat64
+ __blksize_t st_blksize; /* Optimal block size for I/O. */
+
+ __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
+-#ifdef __USE_MISC
++#if defined(__USE_MISC) || defined(__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
+diff --git a/libc/sysdeps/linux/frv/bits/stat.h b/libc/sysdeps/linux/frv/bits/stat.h
+index 381d207f2..18321c080 100644
+--- a/libc/sysdeps/linux/frv/bits/stat.h
++++ b/libc/sysdeps/linux/frv/bits/stat.h
+@@ -70,7 +70,7 @@ struct stat
+ __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
+ #endif
+
+-#ifdef __USE_MISC
++#if defined(__USE_MISC) || defined(__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
+@@ -117,7 +117,7 @@ struct stat64
+ __blksize_t st_blksize; /* Optimal block size for I/O. */
+
+ __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
+-#ifdef __USE_MISC
++#if defined(__USE_MISC) || defined(__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
+diff --git a/libc/sysdeps/linux/ia64/bits/stat.h b/libc/sysdeps/linux/ia64/bits/stat.h
+index 6723166e7..2b70b8cf8 100644
+--- a/libc/sysdeps/linux/ia64/bits/stat.h
++++ b/libc/sysdeps/linux/ia64/bits/stat.h
+@@ -38,7 +38,7 @@ struct stat
+ int pad0;
+ __dev_t st_rdev; /* Device number, if device. */
+ __off_t st_size; /* Size of file, in bytes. */
+-#ifdef __USE_MISC
++#if defined(__USE_MISC) || defined(__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
+@@ -77,7 +77,7 @@ struct stat64
+ int pad0;
+ __dev_t st_rdev; /* Device number, if device. */
+ __off_t st_size; /* Size of file, in bytes. */
+-#ifdef __USE_MISC
++#if defined(__USE_MISC) || defined(__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
+diff --git a/libc/sysdeps/linux/m68k/bits/stat.h b/libc/sysdeps/linux/m68k/bits/stat.h
+index 7b9c3d144..70da1b384 100644
+--- a/libc/sysdeps/linux/m68k/bits/stat.h
++++ b/libc/sysdeps/linux/m68k/bits/stat.h
+@@ -60,7 +60,7 @@ struct stat
+ #else
+ __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
+ #endif
+-#ifdef __USE_MISC
++#if defined(__USE_MISC) || defined(__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
+@@ -106,7 +106,7 @@ struct stat64
+ __blksize_t st_blksize; /* Optimal block size for I/O. */
+
+ __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
+-#ifdef __USE_MISC
++#if defined(__USE_MISC) || defined(__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
+diff --git a/libc/sysdeps/linux/mips/bits/stat.h b/libc/sysdeps/linux/mips/bits/stat.h
+index 539fa33d2..bad2a0244 100644
+--- a/libc/sysdeps/linux/mips/bits/stat.h
++++ b/libc/sysdeps/linux/mips/bits/stat.h
+@@ -60,7 +60,7 @@ struct stat
+ long int st_pad2[2];
+ __off64_t st_size; /* Size of file, in bytes. */
+ #endif
+-#ifdef __USE_MISC
++#if defined(__USE_MISC) || defined(__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
+@@ -103,7 +103,7 @@ struct stat {
+ unsigned int st_rdev; /* Device number, if device. */
+ int st_pad2[3];
+ __off_t st_size; /* Size of file, in bytes. */
+-#ifdef __USE_MISC
++#if defined(__USE_MISC) || defined(__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
+diff --git a/libc/sysdeps/linux/nds32/bits/stat.h b/libc/sysdeps/linux/nds32/bits/stat.h
+index c4e09e0f2..5272751f4 100644
+--- a/libc/sysdeps/linux/nds32/bits/stat.h
++++ b/libc/sysdeps/linux/nds32/bits/stat.h
+@@ -64,7 +64,7 @@ struct stat
+ #else
+ __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
+ #endif
+-#ifdef __USE_MISC
++#if defined(__USE_MISC) || defined(__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
+@@ -110,7 +110,7 @@ struct stat64
+ __blksize_t st_blksize; /* Optimal block size for I/O. */
+
+ __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
+-#ifdef __USE_MISC
++#if defined(__USE_MISC) || defined(__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
+diff --git a/libc/sysdeps/linux/powerpc/bits/stat.h b/libc/sysdeps/linux/powerpc/bits/stat.h
+index 7494586b5..ce2ebf896 100644
+--- a/libc/sysdeps/linux/powerpc/bits/stat.h
++++ b/libc/sysdeps/linux/powerpc/bits/stat.h
+@@ -59,7 +59,7 @@ struct stat
+ # else
+ __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
+ # endif
+-#ifdef __USE_MISC
++#if defined(__USE_MISC) || defined(__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
+@@ -99,7 +99,7 @@ struct stat64
+ __off64_t st_size; /* Size of file, in bytes. */
+ __blksize_t st_blksize; /* Optimal block size for I/O. */
+ __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
+-#ifdef __USE_MISC
++#if defined(__USE_MISC) || defined(__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
+--
+2.30.2
+
--
2.30.2
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [Buildroot] [PATCH] package/uclibc: fix missing m_tim issue
2024-08-03 6:24 [Buildroot] [PATCH] package/uclibc: fix missing m_tim issue Waldemar Brodkorb
@ 2024-08-03 9:52 ` Thomas Petazzoni via buildroot
2024-08-03 11:05 ` Waldemar Brodkorb
0 siblings, 1 reply; 4+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-08-03 9:52 UTC (permalink / raw)
To: Waldemar Brodkorb; +Cc: buildroot
Hello Waldemar,
On Sat, 3 Aug 2024 08:24:09 +0200
Waldemar Brodkorb <wbx@openadk.org> wrote:
> Patch from upstream to fix missing m_tim issue.
>
> Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
> ---
> ...are-st_mtim-if-defined-__USE_XOPEN2K.patch | 205 ++++++++++++++++++
> 1 file changed, 205 insertions(+)
> create mode 100644 package/uclibc/0003-bits-stat.h-Declare-st_mtim-if-defined-__USE_XOPEN2K.patch
I believe this potentially fixes some autobuilder build issues. Do you
have some references to those build failures, perhaps?
Thanks,
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Buildroot] [PATCH] package/uclibc: fix missing m_tim issue
2024-08-03 9:52 ` Thomas Petazzoni via buildroot
@ 2024-08-03 11:05 ` Waldemar Brodkorb
2024-08-04 23:20 ` J. Neuschäfer via buildroot
0 siblings, 1 reply; 4+ messages in thread
From: Waldemar Brodkorb @ 2024-08-03 11:05 UTC (permalink / raw)
To: Thomas Petazzoni; +Cc: J. Neuschäfer, buildroot
Hi Thomas,
Thomas Petazzoni wrote,
> Hello Waldemar,
>
> On Sat, 3 Aug 2024 08:24:09 +0200
> Waldemar Brodkorb <wbx@openadk.org> wrote:
>
> > Patch from upstream to fix missing m_tim issue.
> >
> > Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
> > ---
> > ...are-st_mtim-if-defined-__USE_XOPEN2K.patch | 205 ++++++++++++++++++
> > 1 file changed, 205 insertions(+)
> > create mode 100644 package/uclibc/0003-bits-stat.h-Declare-st_mtim-if-defined-__USE_XOPEN2K.patch
>
> I believe this potentially fixes some autobuilder build issues. Do you
> have some references to those build failures, perhaps?
I actually do not remember the build failure.
Was it tipidee?
@J.: What was the autobuild failures you were getting w/o the patch?
best regards
Waldemar
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Buildroot] [PATCH] package/uclibc: fix missing m_tim issue
2024-08-03 11:05 ` Waldemar Brodkorb
@ 2024-08-04 23:20 ` J. Neuschäfer via buildroot
0 siblings, 0 replies; 4+ messages in thread
From: J. Neuschäfer via buildroot @ 2024-08-04 23:20 UTC (permalink / raw)
To: Waldemar Brodkorb; +Cc: J. Neuschäfer, Thomas Petazzoni, buildroot
On Sat, Aug 03, 2024 at 01:05:42PM +0200, Waldemar Brodkorb wrote:
> Hi Thomas,
> Thomas Petazzoni wrote,
>
> > Hello Waldemar,
> >
> > On Sat, 3 Aug 2024 08:24:09 +0200
> > Waldemar Brodkorb <wbx@openadk.org> wrote:
> >
> > > Patch from upstream to fix missing m_tim issue.
> > >
> > > Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
> > > ---
> > > ...are-st_mtim-if-defined-__USE_XOPEN2K.patch | 205 ++++++++++++++++++
> > > 1 file changed, 205 insertions(+)
> > > create mode 100644 package/uclibc/0003-bits-stat.h-Declare-st_mtim-if-defined-__USE_XOPEN2K.patch
> >
> > I believe this potentially fixes some autobuilder build issues. Do you
> > have some references to those build failures, perhaps?
>
> I actually do not remember the build failure.
> Was it tipidee?
>
> @J.: What was the autobuild failures you were getting w/o the patch?
tipidee, indeed. Here:
http://autobuild.buildroot.org/results/f07d6d6ae2331f9972974093c0503b9d3c6b914a/build-end.log
And someone else reported a similar issue with s6dns.
-- jn
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-08-04 23:20 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-03 6:24 [Buildroot] [PATCH] package/uclibc: fix missing m_tim issue Waldemar Brodkorb
2024-08-03 9:52 ` Thomas Petazzoni via buildroot
2024-08-03 11:05 ` Waldemar Brodkorb
2024-08-04 23:20 ` J. Neuschäfer via buildroot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox