Disable year 2038 support on 32-bit hosts by default
authorLuis Machado <luis.machado@arm.com>
Mon, 25 Jul 2022 23:17:38 +0000 (00:17 +0100)
committerLuis Machado <luis.machado@arm.com>
Wed, 10 Aug 2022 10:17:53 +0000 (11:17 +0100)
commite5f2f7d901ee735224b3a657c193f88c7ad79a07
tree843d472a7166c9b8cd3a14e27735f85c6f892c46
parentd7abcbcea5ddd40a3bf28758b62f35933c59f996
Disable year 2038 support on 32-bit hosts by default

With a recent import of gnulib, code has been pulled that tests and enables
64-bit time_t by default on 32-bit hosts that support it.

Although gdb can use the gnulib support, bfd doesn't use gnulib and currently
doesn't do these checks.

As a consequence, if we have a 32-bit host that supports 64-bit time_t, we'll
have a mismatch between gdb's notion of time_t and bfd's notion of time_t.

This will lead to mismatches in the struct stat size, leading to memory
corruption and crashes.

This patch disables the year 2038 check for now, which makes things work
reliably again.

I'd consider this a temporary fix until we have proper bfd checks for the year
2038, if it makes sense.  64-bit hosts seems to be more common these days, so
I'm not sure how important it is to have this support enabled and how soon
we want to enable it.

Thoughts?
configure
configure.ac