From: Peter Tatrai <[email protected]> When SDKMACHINE is set to "i686", nativesdk-ninja is compiled as a 32-bit binary. Without large file support (LFS), ninja's internal stat() call uses a 32-bit struct stat, which results in EOVERFLOW on filesystems that report inode numbers larger than 2^32 (e.g. container overlay filesystems).
Add -D_FILE_OFFSET_BITS=64 to CXXFLAGS for nativesdk builds to enable LFS, ensuring stat() uses 64-bit types regardless of host word size. Signed-off-by: Peter Tatrai <[email protected]> --- meta/recipes-devtools/ninja/ninja_1.13.2.bb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/meta/recipes-devtools/ninja/ninja_1.13.2.bb b/meta/recipes-devtools/ninja/ninja_1.13.2.bb index e750c78c46..4fd048efa6 100644 --- a/meta/recipes-devtools/ninja/ninja_1.13.2.bb +++ b/meta/recipes-devtools/ninja/ninja_1.13.2.bb @@ -30,6 +30,11 @@ do_install() { install -D -m 0755 ${S}/ninja ${D}${bindir}/ninja } +# Enable large file support to avoid EOVERFLOW when stat() is called on files +# with large inode numbers (e.g. on overlay filesystems). This is critical when +# building nativesdk for a 32-bit SDKMACHINE (e.g. i686). +CXXFLAGS:append:class-nativesdk = " -D_FILE_OFFSET_BITS=64" + BBCLASSEXTEND = "native nativesdk" CVE_STATUS[CVE-2021-4336] = "cpe-incorrect: This is a different Ninja" -- 2.39.5
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#237071): https://lists.openembedded.org/g/openembedded-core/message/237071 Mute This Topic: https://lists.openembedded.org/mt/119326878/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
