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.

Reply via email to