In previous versions I used the linux32/dmd with the -m64 switch
in order to generate 64-bit code. But this does not work anymore:
$ linux/bin32/dmd
linux/bin32/dmd: /lib/libc.so.6: version `GLIBC_2.28' not found
(required by linux/bin32/dmd)
The reason for presence of these symbol versions are memcpy and
fcntl:
$ nm --with-symbol-versions -D linux/bin64/dmd|grep GLIBC_2.14
U memcpy@GLIBC_2.14
$ nm --with-symbol-versions -D linux/bin32/dmd|grep GLIBC_2.28
U fcntl@GLIBC_2.28
Is it possible to build the compiler and the tools with more
"backward compatible" glibc version numers like
memcpy@GLIBC_2.2.5 and fcntl@GLIBC_2.2.5? IIRC this is
accomplished by using
asm (".symver memcpy, memcpy@GLIBC_2.2.5");
asm (".symver fcntl, fcntl@GLIBC_2.2.5");
in the source code.