From: Peter Korsgaard <peter@korsgaard.com>
To: Thomas Petazzoni via buildroot <buildroot@buildroot.org>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Subject: Re: [Buildroot] [git commit] docs/manual: add a FAQ entry about Y2038 support
Date: Mon, 02 Oct 2023 10:59:17 +0200 [thread overview]
Message-ID: <87h6n9h02i.fsf@48ers.dk> (raw)
In-Reply-To: <20231001191539.B15DC83F75@busybox.osuosl.org> (Thomas Petazzoni via buildroot's message of "Sun, 1 Oct 2023 21:14:07 +0200")
>>>>> "Thomas" == Thomas Petazzoni via buildroot <buildroot@buildroot.org> writes:
> commit: https://git.buildroot.net/buildroot/commit/?id=f10f47ff2873d2259e4a03060e9cf0fd1b0f05e0
> branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master
> This was reviewed in person by Arnout.
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> ---
> docs/manual/faq-troubleshooting.adoc | 28 ++++++++++++++++++++++++++++
> 1 file changed, 28 insertions(+)
> diff --git a/docs/manual/faq-troubleshooting.adoc b/docs/manual/faq-troubleshooting.adoc
> index b08bf9bc4a..a61276d4c5 100644
> --- a/docs/manual/faq-troubleshooting.adoc
> +++ b/docs/manual/faq-troubleshooting.adoc
> @@ -242,3 +242,31 @@ help reduce the build time:
> * Experiment with top-level parallel build, see
> xref:top-level-parallel-build[].
> +
> +[[faq-2038]]
> +=== How does Buildroot support Y2038?
> +
> +There are multiple situations to consider:
> +
> + * On 64-bit architectures, there is no problem, as +time_t+ has
> + always been 64-bit.
> +
> + * On 32-bit architectures, the situation depends on the C library:
> +
> + ** With _uclibc-ng_, there is no support for 64-bit +time_t+ on
> + 32-bit architectures, so systems using _uclibc-ng_ on 32-bit
> + platforms will not be Y2038 compatible.
> +
> + ** With _musl_, 64-bit +time_t+ has always been used on 32-bit
> + architectures, so systems using _musl_ on 32-bit platforms are
> + Y2038 compatible.
"has always been used" is not really true, it was added in musl 1.2.0:
https://musl.libc.org/time64.html
Maybe we should say "always uses" instead?
> +
> + ** With _glibc_, 64-bit +time_t+ on 32-bit architectures is enabled
> + by the Buildroot option +BR2_TIME_BITS_64+. With this option
> + enabled, systems using _glibc_ on 32-bit platforms are Y2038
> + compatible.
> +
> +Note that the above only comments about the capabilities of the C
> +library. Individual user-space libraries or applications, even when
> +built in a Y2038-compatible setup, can exhibit incorrect behavior if
> +they do not make correct use of the time APIs and types.
We should probably also mention the kernel dependency, E.G. the above is
only correct if using Linux 5.6+ kernel / headers:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=22b17db4ea05561c7c8e4d770f10751e22e339f9
--
Bye, Peter Korsgaard
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
prev parent reply other threads:[~2023-10-02 8:59 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-01 19:14 [Buildroot] [git commit] docs/manual: add a FAQ entry about Y2038 support Thomas Petazzoni via buildroot
2023-10-02 8:59 ` Peter Korsgaard [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87h6n9h02i.fsf@48ers.dk \
--to=peter@korsgaard.com \
--cc=buildroot@buildroot.org \
--cc=thomas.petazzoni@bootlin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.