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>
|
2004-07-14 Jerry Quinn <jlquinn@optonline.net>
|
||||||
|
|
||||||
* java/beans/EventHandler.java: Remove debugging statements.
|
* java/beans/EventHandler.java: Remove debugging statements.
|
||||||
|
|
|
@ -111,6 +111,8 @@ AM_CXXFLAGS = -fno-rtti -fnon-call-exceptions $(THREADCXXFLAGS) \
|
||||||
-fdollars-in-identifiers \
|
-fdollars-in-identifiers \
|
||||||
## Detect bugs in the verifier implementation, and maybe other places.
|
## Detect bugs in the verifier implementation, and maybe other places.
|
||||||
-Wswitch-enum \
|
-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 \
|
@LIBGCJ_CXXFLAGS@ @X_CFLAGS@ $(WARNINGS) -D_GNU_SOURCE \
|
||||||
-DPREFIX="\"$(prefix)\"" -DLIBDIR="\"$(libdir)\"" \
|
-DPREFIX="\"$(prefix)\"" -DLIBDIR="\"$(libdir)\"" \
|
||||||
-DBOOT_CLASS_PATH="\"$(jardir)/$(jar_DATA)\"" \
|
-DBOOT_CLASS_PATH="\"$(jardir)/$(jar_DATA)\"" \
|
||||||
|
|
|
@ -215,6 +215,7 @@ WARNINGS = -Wextra -Wall
|
||||||
AM_CXXFLAGS = -fno-rtti -fnon-call-exceptions $(THREADCXXFLAGS) \
|
AM_CXXFLAGS = -fno-rtti -fnon-call-exceptions $(THREADCXXFLAGS) \
|
||||||
-fdollars-in-identifiers \
|
-fdollars-in-identifiers \
|
||||||
-Wswitch-enum \
|
-Wswitch-enum \
|
||||||
|
-D_FILE_OFFSET_BITS=64 \
|
||||||
@LIBGCJ_CXXFLAGS@ @X_CFLAGS@ $(WARNINGS) -D_GNU_SOURCE \
|
@LIBGCJ_CXXFLAGS@ @X_CFLAGS@ $(WARNINGS) -D_GNU_SOURCE \
|
||||||
-DPREFIX="\"$(prefix)\"" -DLIBDIR="\"$(libdir)\"" \
|
-DPREFIX="\"$(prefix)\"" -DLIBDIR="\"$(libdir)\"" \
|
||||||
-DBOOT_CLASS_PATH="\"$(jardir)/$(jar_DATA)\"" \
|
-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)
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
TAR = tar
|
TAR = gtar
|
||||||
GZIP_ENV = --best
|
GZIP_ENV = --best
|
||||||
DIST_SUBDIRS = @DIRLTDL@ testsuite gcj include @DIRLTDL@ gcj include
|
DIST_SUBDIRS = @DIRLTDL@ testsuite gcj include @DIRLTDL@ gcj include
|
||||||
DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
|
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