LSB include headers lack support for large files
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
lsb |
In Progress
|
Medium
|
Unassigned | ||
Mandriva |
In Progress
|
Medium
|
Bug Description
There is no support for _FILE_OFFSET_
"implicit LFS" support:
http://
The LSB ABI does support the explicit LFS interface, so it would be a matter of
updating the headers to support it as well.
The headers do support _LARGEFILE64_
feature_
_FILE_OFFSET_
Attached testcase fails on 32-bit x86 when built with the LSB SDK, but works
fine when built with system compiler:
$ ./test.sh
[...]
checking for _FILE_OFFSET_BITS value needed for large files... unknown
[...]
=== Testing system build ===
file8G size: 8589934592
=== Testing LSB build ===
file8G: Value too large for defined data type
There are a few choices for me here:
* do not distribute 32-bit binary packages built with LSB, just require people
to build from source if they want to run the application on 32-bit
* switch application to open64/stat64/etc. => not portable, not worth the
complications
* fix the LSB headers so they do the renaming as with _FILE_OFFSET_
system headers
* just use system headers always, and rely only on the link time checks of LSB
(bit risky)
Changed in mandriva: | |
importance: | Unknown → Medium |
status: | Unknown → In Progress |