Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
install-qa-check.d/10large-file-support: issue warnings for 32bit ELF…
…s not using LFS Start issuing QA warnings when ELFs are installed using the old 32bit file interface. These programs can fail out right: * working with large files (more than 2GiB) can return EOVERFLOW * stating files on large filesystems w/64bit inodes can fail too It also can lead to silent corruption that is hard to debug like when one library/app is compiled using 64bit structures and tries to work with another one that uses 32bit (or vice versa). This is because the API in the header utilizes off_t's or structs (like stat) that have off_t's embedded in them. By default, off_t is defined as an off32_t, but when the code is compiled with -D_FILE_OFFSET_BITS=64, it is transparently changed to off64_t. That means while one side was compiled (w/out warnings) expecting 32bit structs, the other was compiled (w/out warnings) expecting 64bit structs. The ABI is different, but C does not support type checking, so no one notices. The only sane way forward is to use LFS everywhere. Closes: https://bugs.gentoo.org/549092 Signed-off-by: Sam James <sam@gentoo.org>
- Loading branch information