Support large Zip files for JVM/64-bit#23594
Support large Zip files for JVM/64-bit#23594lzhou2025 wants to merge 1 commit intoeclipse-openj9:masterfrom
Conversation
5fc8e1c to
075e85f
Compare
|
I believe all comments are resolved, please reopen if missed. |
|
The commit message would be improved by explicitly stating that this support is not yet complete for 32-bit platforms. |
dde7099 to
39bab11
Compare
|
I believe all comments are resolved, please reopen if missed. |
The changes are to remove the 4GB size limit of Zip files and support LARGE FILE for JVM/64-bit. This PR doesn't support LARGE FILE for JVM/32-bit. Fixes: eclipse-openj9#23441
|
That IDATA is widely used in the zip codes appears because of OMR, intptr_t should be uintptr_t or size_t, because the read() calls of Unix like systems or POSIX are size_t, unsigned. |
Yes, perhaps the OMR API could be improved, but that is unrelated to the concepts involved here. The file format allows for large entries and files, perhaps larger than could exist in memory at any given time. Things could still be made to work if OMR only allowed reading 32kB in a single call (in support of even 32-bit zip files). |
The ZIP format supports up to 4Gb size of each individual uncompressed file. But depending how to decompress it, if trying to allocate that size of memory buffer in 32-bit system, I agree, that will exceed the maximum memory space. |
|
OMR layer doesn't know what size of data is required in applications. Before the zip functions call OMR interfaces, should allocate memory buffers, which is fit to uncompress logic. |
|
ZIP64 & LARGE FILE support in two PRs:
|
The changes are to remove the 4GB size limit of Zip files and support LARGE FILE for JVM/64-bit. This PR doesn't support LARGE FILE for JVM/32-bit.
Fixes: #23441