diff options
-rw-r--r-- | libjava/ChangeLog | 9 | ||||
-rw-r--r-- | libjava/Makefile.am | 2 | ||||
-rw-r--r-- | libjava/Makefile.in | 3 | ||||
-rw-r--r-- | libjava/testsuite/libjava.lang/LargeFile.java | 36 | ||||
-rw-r--r-- | libjava/testsuite/libjava.lang/LargeFile.out | 1 |
5 files changed, 50 insertions, 1 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 516a34d..7b36105 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,12 @@ +2004-07-14 Bryce McKinlay <mckinlay@redhat.com> + + PR libgcj/16204 + * Makefile.am (AM_CXXFLAGS): Add -D_FILE_OFFSET_BITS=64 to enable + large file support. + * Makefile.in: Rebuilt. + * testsuite/libjava.lang/LargeFile.java: New test case. + * testsuite/libjava.lang/LargeFile.out: New file. + 2004-07-14 Jerry Quinn <jlquinn@optonline.net> * java/beans/EventHandler.java: Remove debugging statements. diff --git a/libjava/Makefile.am b/libjava/Makefile.am index fb77561..7e5f6af 100644 --- a/libjava/Makefile.am +++ b/libjava/Makefile.am @@ -111,6 +111,8 @@ AM_CXXFLAGS = -fno-rtti -fnon-call-exceptions $(THREADCXXFLAGS) \ -fdollars-in-identifiers \ ## Detect bugs in the verifier implementation, and maybe other places. -Wswitch-enum \ +## Some systems, including Linux, need this to enable > 2GB file support. + -D_FILE_OFFSET_BITS=64 \ @LIBGCJ_CXXFLAGS@ @X_CFLAGS@ $(WARNINGS) -D_GNU_SOURCE \ -DPREFIX="\"$(prefix)\"" -DLIBDIR="\"$(libdir)\"" \ -DBOOT_CLASS_PATH="\"$(jardir)/$(jar_DATA)\"" \ diff --git a/libjava/Makefile.in b/libjava/Makefile.in index d9c8a5f..f6da908 100644 --- a/libjava/Makefile.in +++ b/libjava/Makefile.in @@ -215,6 +215,7 @@ WARNINGS = -Wextra -Wall AM_CXXFLAGS = -fno-rtti -fnon-call-exceptions $(THREADCXXFLAGS) \ -fdollars-in-identifiers \ -Wswitch-enum \ + -D_FILE_OFFSET_BITS=64 \ @LIBGCJ_CXXFLAGS@ @X_CFLAGS@ $(WARNINGS) -D_GNU_SOURCE \ -DPREFIX="\"$(prefix)\"" -DLIBDIR="\"$(libdir)\"" \ -DBOOT_CLASS_PATH="\"$(jardir)/$(jar_DATA)\"" \ @@ -3076,7 +3077,7 @@ libgcj-test.spec.in libgcj.pc.in libgcj.spec.in DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) -TAR = tar +TAR = gtar GZIP_ENV = --best DIST_SUBDIRS = @DIRLTDL@ testsuite gcj include @DIRLTDL@ gcj include DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \ diff --git a/libjava/testsuite/libjava.lang/LargeFile.java b/libjava/testsuite/libjava.lang/LargeFile.java new file mode 100644 index 0000000..1bb8aec --- /dev/null +++ b/libjava/testsuite/libjava.lang/LargeFile.java @@ -0,0 +1,36 @@ +/* Test to ensure files >= 2^31 bytes are supported. */ + +import java.io.*; + +public class LargeFile +{ + public static void main(String[] args) throws IOException + { + File file = new File("LargeFile.tmp"); + + try + { + RandomAccessFile rfile = new RandomAccessFile(file, "rw"); + + long pos = (long) Math.pow(2, 31); + + rfile.seek(pos); + rfile.write('O'); + rfile.write('K'); + rfile.close(); + + // Re-open, read byte back using FileInputStream and clean up. + + FileInputStream fis = new FileInputStream(file); + fis.skip(pos); + System.out.print((char) fis.read()); + System.out.println((char) fis.read()); + fis.close(); + } + finally + { + if (file.exists()) + file.delete(); + } + } +} diff --git a/libjava/testsuite/libjava.lang/LargeFile.out b/libjava/testsuite/libjava.lang/LargeFile.out new file mode 100644 index 0000000..d86bac9 --- /dev/null +++ b/libjava/testsuite/libjava.lang/LargeFile.out @@ -0,0 +1 @@ +OK |