[PATCH] Disable year 2038 support on 32-bit hosts by default
Paul Eggert
eggert@cs.ucla.edu
Tue Aug 9 17:02:16 GMT 2022
On 8/9/22 09:29, Eli Zaretskii wrote:
>> Date: Tue, 9 Aug 2022 08:49:53 -0700
>> From: Paul Eggert <eggert@cs.ucla.edu>
>>
>> PPS. I couldn't get a 32-bit version of binutils-gdb to build on Fedora
>> x86-64, even without either of the attached patches.
>
> FTR, I regularly do such builds (on native MS-Windows), both the parts
> used by GDB when I build GDB, and when I build Binutils themselves. I
> never had any trouble (with the caveat that I didn't yet build the
> latest Binutils 3.29).
Oh, I should make it clear that my failure was with bleeding-edge
binutils-gdb, commit f56173071020d3e97c98c550ba6264122e5d861d dated Tue
Aug 9 15:39:02 2022 +0100. My Fedora 36 platform had
gcc-12.1.1-1.fc36.x86_64 and binutils-2.37-27.fc36.x86_64; I configured
with CC='gcc -m32' CXX='gcc -m32' to cause the binutils-gdb build to be
in 32-bit mode.
Hmm, likely that CXX was wrong and I should have used g++ not gcc.
However, switching to g++ doesn't work either; when I configure it this way:
../binutils-gdb/configure CC='gcc -m32' CXX='g++ -m32'
the build still fails as follows, on both Fedora 36 and Ubuntu 22.04.1
LTS (which uses GCC 11.2). So there's still something squirrelly going
on with respect to 32-builds on GNU/Linux, which as I understand it are
the only builds where these year-2038 fixes are relevant.
CXX linux-amd64-ipa.o
../../binutils-gdb/gdbserver/linux-amd64-ipa.cc: In function ‘const
target_desc* get_ipa_tdesc(int)’:
../../binutils-gdb/gdbserver/linux-amd64-ipa.cc:201:14: error:
‘amd64_linux_read_description’ was not declared in this scope; did you
mean ‘i386_linux_read_description’?
201 | return amd64_linux_read_description (X86_XSTATE_SSE_MASK,
true);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
| i386_linux_read_description
../../binutils-gdb/gdbserver/linux-amd64-ipa.cc: In function ‘void
initialize_low_tracepoint()’:
../../binutils-gdb/gdbserver/linux-amd64-ipa.cc:282:3: error:
‘amd64_linux_read_description’ was not declared in this scope; did you
mean ‘i386_linux_read_description’?
282 | amd64_linux_read_description (X86_XSTATE_SSE_MASK, true);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
| i386_linux_read_description
More information about the Binutils
mailing list