Index: classlib/modules/luni/src/main/native/luni/unix/OSFileSystemLinux32.c =================================================================== --- classlib/modules/luni/src/main/native/luni/unix/OSFileSystemLinux32.c (revision 991106) +++ classlib/modules/luni/src/main/native/luni/unix/OSFileSystemLinux32.c (working copy) @@ -352,7 +352,8 @@ (JNIEnv *env, jobject thiz, jlong fd) { struct stat statbuf; - if (fstat(fd - FD_BIAS, &statbuf) < 0) { + // cast long handler to int to avoid potential problems + if (fstat((int)fd - FD_BIAS, &statbuf) < 0) { return -1; } return (jlong)statbuf.st_size; Index: classlib/modules/luni/src/main/native/luni/unix/OSMemoryLinux32.c =================================================================== --- classlib/modules/luni/src/main/native/luni/unix/OSMemoryLinux32.c (revision 991106) +++ classlib/modules/luni/src/main/native/luni/unix/OSMemoryLinux32.c (working copy) @@ -181,7 +181,7 @@ return -1; } - mapAddress = mmap(0, (size_t)(size&0x7fffffff), prot, flags, fd-FD_BIAS, (off_t)(alignment&0x7fffffff)); + mapAddress = mmap(0, (size_t)(size&0x7fffffff), prot, flags, (int)fd-FD_BIAS, (off_t)(alignment&0x7fffffff)); if (mapAddress == MAP_FAILED) { hyerror_set_last_error(errno, HYPORT_ERROR_OPFAILED);