[PATCH] Fix disabling of year 2038 support on 32-bit hosts by default

Thiago Jung Bauermann thiago.bauermann@linaro.org
Sat Feb 3 16:39:15 GMT 2024


Sorry, I forgot to cc: the binutils mailing list. Done now.

Thiago Jung Bauermann <thiago.bauermann@linaro.org> writes:

> Commit e5f2f7d901ee ("Disable year 2038 support on 32-bit hosts by
> default") fixed a mismatch between 64-bit time_t in GDB and system headers
> and 32-bit time_t in BFD.
>
> However, since commit 862776f26a59 ("Finalized intl-update patches")
> gnulib's year 2038 support has been accidentally re-enabled — causing
> problems for 32-bit hosts again.  The commit split baseargs into
> {h,b}baseargs, but this hasn't been done for the code that handles
> --disable-year2038.
>
> This patch restores the intended behaviour.  With this change, the number
> of unexpected core files goes from 18 to 4.
>
> Tested on armv8l-linux-gnueabihf.
> ---
>  configure    | 3 ++-
>  configure.ac | 3 ++-
>  2 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/configure b/configure
> index 670684d83d15..6466b97f3ec0 100755
> --- a/configure
> +++ b/configure
> @@ -10313,7 +10313,8 @@ hbaseargs="$hbaseargs --disable-option-checking"
>  tbaseargs="$tbaseargs --disable-option-checking"
>  
>  if test "$enable_year2038" = no; then
> -  baseargs="$baseargs --disable-year2038"
> +  bbaseargs="$bbaseargs --disable-year2038"
> +  hbaseargs="$hbaseargs --disable-year2038"
>    tbaseargs="$tbaseargs --disable-year2038"
>  fi
>  
> diff --git a/configure.ac b/configure.ac
> index 88b4800e298f..1300a805fd8d 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -3432,7 +3432,8 @@ hbaseargs="$hbaseargs --disable-option-checking"
>  tbaseargs="$tbaseargs --disable-option-checking"
>  
>  if test "$enable_year2038" = no; then
> -  baseargs="$baseargs --disable-year2038"
> +  bbaseargs="$bbaseargs --disable-year2038"
> +  hbaseargs="$hbaseargs --disable-year2038"
>    tbaseargs="$tbaseargs --disable-year2038"
>  fi
>  


-- 
Thiago


More information about the Binutils mailing list