summaryrefslogtreecommitdiff
path: root/libphobos/libdruntime/core/sys/linux/link.d
diff options
context:
space:
mode:
Diffstat (limited to 'libphobos/libdruntime/core/sys/linux/link.d')
-rw-r--r--libphobos/libdruntime/core/sys/linux/link.d9
1 files changed, 7 insertions, 2 deletions
diff --git a/libphobos/libdruntime/core/sys/linux/link.d b/libphobos/libdruntime/core/sys/linux/link.d
index b57b5e5d00f..e242d2b2876 100644
--- a/libphobos/libdruntime/core/sys/linux/link.d
+++ b/libphobos/libdruntime/core/sys/linux/link.d
@@ -18,8 +18,10 @@ version (PPC) version = PPC_Any;
version (PPC64) version = PPC_Any;
version (RISCV32) version = RISCV_Any;
version (RISCV64) version = RISCV_Any;
+version (S390) version = IBMZ_Any;
version (SPARC) version = SPARC_Any;
version (SPARC64) version = SPARC_Any;
+version (SystemZ) version = IBMZ_Any;
version (X86) version = X86_Any;
version (X86_64) version = X86_Any;
@@ -71,11 +73,14 @@ else version (SPARC_Any)
alias __WORDSIZE __ELF_NATIVE_CLASS;
alias uint32_t Elf_Symndx;
}
-else version (SystemZ)
+else version (IBMZ_Any)
{
// http://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/s390/bits/elfclass.h
alias __WORDSIZE __ELF_NATIVE_CLASS;
- alias uint64_t Elf_Symndx;
+ static if (__WORDSIZE == 64)
+ alias uint64_t Elf_Symndx;
+ else
+ alias uint32_t Elf_Symndx;
}
else
static assert(0, "unimplemented");