https://issues.dlang.org/show_bug.cgi?id=17596
--- Comment #8 from Cy Schubert <c...@freebsd.org> --- Sorry for not replying sooner, way too many projects on the go here. Here is how kib supported older apps prior to inode64: https://svnweb.freebsd.org/base?view=revision&revision=318736 Forward compatibility: https://svnweb.freebsd.org/base?view=revision&revision=320278 Stat.c, below, relies on versioned symbols (see https://svnweb.freebsd.org/base/head/lib/libprocstat/Symbol.map?r1=318736&r2=318735&pathrev=318736) int stat(const char *path, struct stat *sb) { struct freebsd11_stat stat11; int rv; if (__getosreldate() >= INO64_FIRST) return (__sys_fstatat(AT_FDCWD, path, sb, 0)); rv = syscall(SYS_freebsd11_stat, path, &stat11); if (rv == 0) __stat11_to_stat(&stat11, sb); return (rv); } IMO implementing it in this way would require architectural changes to D's implementation of some syscalls, similar to how Perl might interface with the O/S. Discussing this with the maintainer of the ldc port, the short term solution might be for he and I to patch the ports, however that would be a fragile solution as depending on the options used at FreeBSD build time, stat_t and dirent_t may vary. --