# HG changeset patch # User stuefe # Date 1496300364 -7200 # Node ID df90da0c10aa6dd006b50f9f6ed3e6c9079526f8 # Parent ae7b350fabcb055619b4a1c4630c3542a1e7cd76 8181207: 8177809 breaks AIX 5.3, 6.1 builds Reviewed-by: vtewari, simonis, clanger diff -r ae7b350fabcb -r df90da0c10aa jdk/src/java.base/unix/native/libjava/UnixFileSystem_md.c --- a/jdk/src/java.base/unix/native/libjava/UnixFileSystem_md.c Thu Jun 01 11:10:22 2017 +0800 +++ b/jdk/src/java.base/unix/native/libjava/UnixFileSystem_md.c Thu Jun 01 08:59:24 2017 +0200 @@ -229,12 +229,15 @@ WITH_FIELD_PLATFORM_STRING(env, file, ids.path, path) { struct stat64 sb; if (stat64(path, &sb) == 0) { -#ifndef MACOSX +#if defined(_AIX) + rv = (jlong)sb.st_mtime * 1000; + rv += (jlong)sb.st_mtime_n / 1000000; +#elif defined(MACOSX) + rv = (jlong)sb.st_mtimespec.tv_sec * 1000; + rv += (jlong)sb.st_mtimespec.tv_nsec / 1000000; +#else rv = (jlong)sb.st_mtim.tv_sec * 1000; rv += (jlong)sb.st_mtim.tv_nsec / 1000000; -#else - rv = (jlong)sb.st_mtimespec.tv_sec * 1000; - rv += (jlong)sb.st_mtimespec.tv_nsec / 1000000; #endif } } END_PLATFORM_STRING(env, path); @@ -419,14 +422,16 @@ struct timeval tv[2]; /* Preserve access time */ -#ifndef MACOSX +#if defined(_AIX) + tv[0].tv_sec = sb.st_atime; + tv[0].tv_usec = sb.st_atime_n / 1000; +#elif defined(MACOSX) + tv[0].tv_sec = sb.st_atimespec.tv_sec; + tv[0].tv_usec = sb.st_atimespec.tv_nsec / 1000; +#else tv[0].tv_sec = sb.st_atim.tv_sec; tv[0].tv_usec = sb.st_atim.tv_nsec / 1000; -#else - tv[0].tv_sec = sb.st_atimespec.tv_sec; - tv[0].tv_usec = sb.st_atimespec.tv_nsec / 1000; #endif - /* Change last-modified time */ tv[1].tv_sec = time / 1000; tv[1].tv_usec = (time % 1000) * 1000;