--- old/make/linux/makefiles/vm.make 2013-05-24 17:01:40.000000000 -0700 +++ new/make/linux/makefiles/vm.make 2013-05-24 17:01:40.000000000 -0700 @@ -107,6 +107,10 @@ # File specific flags CXXFLAGS += $(CXXFLAGS/BYFILE) +# Large File Support +ifneq ($(LP64), 1) +CXXFLAGS/ostream.o += -D_FILE_OFFSET_BITS=64 +endif # ifneq ($(LP64), 1) ifndef JAVASE_EMBEDDED ifneq (${ARCH},arm) --- old/make/solaris/makefiles/vm.make 2013-05-24 17:01:41.000000000 -0700 +++ new/make/solaris/makefiles/vm.make 2013-05-24 17:01:41.000000000 -0700 @@ -95,6 +95,10 @@ # File specific flags CXXFLAGS += $(CXXFLAGS/BYFILE) +# Large File Support +ifneq ($(LP64), 1) +CXXFLAGS/ostream.o += -D_FILE_OFFSET_BITS=64 +endif # ifneq ($(LP64), 1) # CFLAGS_WARN holds compiler options to suppress/enable warnings. CFLAGS += $(CFLAGS_WARN) --- old/src/os/solaris/vm/os_solaris.inline.hpp 2013-05-24 17:01:42.000000000 -0700 +++ new/src/os/solaris/vm/os_solaris.inline.hpp 2013-05-24 17:01:41.000000000 -0700 @@ -89,7 +89,7 @@ inline struct dirent* os::readdir(DIR* dirp, dirent* dbuf) { assert(dirp != NULL, "just checking"); -#if defined(_LP64) || defined(_GNU_SOURCE) +#if defined(_LP64) || defined(_GNU_SOURCE) || _FILE_OFFSET_BITS==64 dirent* p; int status; @@ -98,9 +98,9 @@ return NULL; } else return p; -#else // defined(_LP64) || defined(_GNU_SOURCE) +#else // defined(_LP64) || defined(_GNU_SOURCE) || _FILE_OFFSET_BITS==64 return ::readdir_r(dirp, dbuf); -#endif // defined(_LP64) || defined(_GNU_SOURCE) +#endif // defined(_LP64) || defined(_GNU_SOURCE) || _FILE_OFFSET_BITS==64 } inline int os::closedir(DIR *dirp) {