916730425594 ("elf: Add elf_backend_add_glibc_version_dependency")
introduced adding an extra GLIBC_2.36 version dependency for x86_64. But
on x86_64 GNU/Hurd, there has never been a glibc 2.36 port, and thus the
GLIBC_2.36 version is not defined. The additional version dependency is
thus spurious and produces binaries that cannot be executed:
./test: /lib/x86_64-gnu/libc.so.0.3: version `GLIBC_2.36' not found (required
by ./test)
This change fixes this by adding the version dependency only on x86_64
Linux.
diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c
index 60aa1802552..8cdb0d3eef7 100644
--- a/bfd/elf64-x86-64.c
+++ b/bfd/elf64-x86-64.c
@@ -5694,12 +5694,14 @@ elf_x86_64_add_glibc_version_dependency
i++;
}
+#ifdef __linux__
htab = elf_x86_hash_table (rinfo->info, X86_64_ELF_DATA);
if (htab != NULL && htab->params->mark_plt)
{
version[i] = "GLIBC_2.36";
i++;
}
+#endif
if (i != 0)
_bfd_elf_link_add_glibc_version_dependency (rinfo, version);