Message ID | 20240203031408.137939-1-thiago.bauermann@linaro.org |
---|---|
State | New |
Headers | show |
Series | Fix disabling of year 2038 support on 32-bit hosts by default | expand |
Hello Luis, Luis Machado <luis.machado@arm.com> writes: > cc-ing binutils@ as well. > > On 2/3/24 03:14, Thiago Jung Bauermann wrote: >> 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. > > Ouch. That's unfortunate. That was an annoying bug to chase. Thanks for chasing it > (again). No problem. It was much easier the second time around, of course. >> 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 >> > > Approved-By: Luis Machado <luis.machado@arm.com> Thanks! Since this is a patch for the repository top-level, is your approval sufficient to commit the patch, or should I have approval from a binutils maintainer as well?
Luis Machado <luis.machado@arm.com> writes: > On 2/3/24 03:14, Thiago Jung Bauermann wrote: >> 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 >> > > Approved-By: Luis Machado <luis.machado@arm.com> I forgot to ask: is it ok to commit this patch to the GDB 14 branch as well?
>>>>> "Thiago" == Thiago Jung Bauermann <thiago.bauermann@linaro.org> writes: >> Approved-By: Luis Machado <luis.machado@arm.com> Thiago> I forgot to ask: is it ok to commit this patch to the GDB 14 branch as well? Sure. Thank you. Tom
Hi Thiago, On Sat, Feb 03, 2024 at 01:39:15PM -0300, Thiago Jung Bauermann wrote: > 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. Thanks, this was also why the debian-i386-gdb builder was failing, which is fixed with this patch! I had been scratching my head for some time where this failure was coming from (it started when upgrading debian). https://builder.sourceware.org/buildbot/#/builders/105/builds/5890 Cheers, Mark
Tom Tromey <tom@tromey.com> writes: >>>>>> "Thiago" == Thiago Jung Bauermann <thiago.bauermann@linaro.org> writes: > >>> Approved-By: Luis Machado <luis.machado@arm.com> > > Thiago> I forgot to ask: is it ok to commit this patch to the GDB 14 branch as well? > > Sure. Thank you. Actually, it turns out that gdb-14-branch was created before the problem was introduced, so this patch isn't needed in the branch.
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