re PR libgcj/16204 (File I/O fails on files >= 2^31 bytes (2GB))
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. From-SVN: r84733
This commit is contained in:
parent
018479fbad
commit
b845ed9ff8
5 changed files with 50 additions and 1 deletions
|
@ -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.
|
||||
|
|
|
@ -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)\"" \
|
||||
|
|
|
@ -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 \
|
||||
|
|
36
libjava/testsuite/libjava.lang/LargeFile.java
Normal file
36
libjava/testsuite/libjava.lang/LargeFile.java
Normal file
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
1
libjava/testsuite/libjava.lang/LargeFile.out
Normal file
1
libjava/testsuite/libjava.lang/LargeFile.out
Normal file
|
@ -0,0 +1 @@
|
|||
OK
|
Loading…
Add table
Reference in a new issue