-1ca80e4e0cf460575752a0c157ca52c184f4b982
+aab44549221cb29434fe2feccaf1174af54dd79d
The first line of this file holds the git revision number of the last
merge done from the dlang/druntime repository.
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;
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");
}
alias __jmp_buf = __riscv_jmp_buf[1];
}
+ else version (S390)
+ {
+ struct __s390_jmp_buf
+ {
+ c_long[10] __gregs;
+ c_long[4] __fpregs;
+ }
+ alias __jmp_buf = __s390_jmp_buf[1];
+ }
else version (SystemZ)
{
struct __s390_jmp_buf
}
static assert(stat_t.sizeof == 144);
}
+ else version (S390)
+ {
+ private
+ {
+ alias __dev_t = ulong;
+ alias __ino_t = c_ulong;
+ alias __ino64_t = ulong;
+ alias __mode_t = uint;
+ alias __nlink_t = uint;
+ alias __uid_t = uint;
+ alias __gid_t = uint;
+ alias __off_t = c_long;
+ alias __off64_t = long;
+ alias __blksize_t = c_long;
+ alias __blkcnt_t = c_long;
+ alias __blkcnt64_t = long;
+ alias __timespec = timespec;
+ alias __time_t = time_t;
+ }
+ struct stat_t
+ {
+ __dev_t st_dev;
+ uint __pad1;
+ static if (!__USE_FILE_OFFSET64)
+ __ino_t st_ino;
+ else
+ __ino_t __st_ino;
+ __mode_t st_mode;
+ __nlink_t st_nlink;
+ __uid_t st_uid;
+ __gid_t st_gid;
+ __dev_t st_rdev;
+ uint __pad2;
+ static if (!__USE_FILE_OFFSET64)
+ __off_t st_size;
+ else
+ __off64_t st_size;
+ __blksize_t st_blksize;
+ static if (!__USE_FILE_OFFSET64)
+ __blkcnt_t st_blocks;
+ else
+ __blkcnt64_t st_blocks;
+ static if (__USE_XOPEN2K8)
+ {
+ __timespec st_atim;
+ __timespec st_mtim;
+ __timespec st_ctim;
+ extern(D)
+ {
+ @property ref time_t st_atime() { return st_atim.tv_sec; }
+ @property ref time_t st_mtime() { return st_mtim.tv_sec; }
+ @property ref time_t st_ctime() { return st_ctim.tv_sec; }
+ }
+ }
+ else
+ {
+ __time_t st_atime;
+ c_ulong st_atimensec;
+ __time_t st_mtime;
+ c_ulong st_mtimensec;
+ __time_t st_ctime;
+ c_ulong st_ctimensec;
+ }
+ static if (!__USE_FILE_OFFSET64)
+ {
+ c_ulong __glibc_reserved4;
+ c_ulong __glibc_reserved5;
+ }
+ else
+ __ino64_t st_ino;
+ }
+ static if (__USE_FILE_OFFSET64)
+ static assert(stat_t.sizeof == 104);
+ else
+ static assert(stat_t.sizeof == 88);
+ }
else version (SystemZ)
{
private
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;
alias greg_t = c_ulong;
alias gregset_t = greg_t[NGREG];
}
- else version (SystemZ)
+ else version (IBMZ_Any)
{
public import core.sys.posix.signal : sigset_t;
version (RISCV32) version = RISCV_Any;
version (RISCV64) version = RISCV_Any;
+version (S390) version = IBMZ_Any;
+version (SystemZ) version = IBMZ_Any;
version (CRuntime_Glibc) enum SharedELF = true;
else version (CRuntime_Musl) enum SharedELF = true;
enum TLS_DTV_OFFSET = 0x8000;
else version (MIPS64)
enum TLS_DTV_OFFSET = 0x8000;
-else version (SystemZ)
+else version (IBMZ_Any)
enum TLS_DTV_OFFSET = 0x0;
else
static assert( false, "Platform not supported." );
if (mod == 0)
return null;
- version (Solaris)
+ version (GNU_EMUTLS)
+ return null; // Handled in scanTLSRanges().
+ else
{
- static if (!OS_Have_Dlpi_Tls_Modid)
- mod -= 1;
- }
+ version (Solaris)
+ {
+ static if (!OS_Have_Dlpi_Tls_Modid)
+ mod -= 1;
+ }
- // base offset
- auto ti = tls_index(mod, 0);
- version (SystemZ)
- {
- auto idx = cast(void *)__tls_get_addr_internal(&ti)
- + cast(ulong)__builtin_thread_pointer();
- return idx[0 .. sz];
+ // base offset
+ auto ti = tls_index(mod, 0);
+ version (IBMZ_Any)
+ {
+ auto idx = cast(void *)__tls_get_addr_internal(&ti)
+ + cast(ulong)__builtin_thread_pointer();
+ return idx[0 .. sz];
+ }
+ else
+ return (__tls_get_addr(&ti)-TLS_DTV_OFFSET)[0 .. sz];
}
- else
- return (__tls_get_addr(&ti)-TLS_DTV_OFFSET)[0 .. sz];
}
-b5e9661a089b6514e01fa5195c0f2bc9cc06eddd
+3dc363783ea7b1e82336983486a14f3f44bbeadd
The first line of this file holds the git revision number of the last
merge done from the dlang/phobos repository.
version (MIPS64) version = MIPS_Any;
version (AArch64) version = ARM_Any;
version (ARM) version = ARM_Any;
+version (S390) version = IBMZ_Any;
version (SPARC) version = SPARC_Any;
version (SPARC64) version = SPARC_Any;
+version (SystemZ) version = IBMZ_Any;
version (RISCV32) version = RISCV_Any;
version (RISCV64) version = RISCV_Any;
| inexactException,
}
}
- else version (SystemZ)
+ else version (IBMZ_Any)
{
enum : ExceptionMask
{
{
alias ControlState = ulong;
}
- else version (SystemZ)
+ else version (IBMZ_Any)
{
alias ControlState = uint;
}