mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-07-17 16:47:13 +00:00
56c550a48e
lftp 4.9.3 bundles gnulib sources that fail to build with the OpenEmbedded clang + lld toolchain. Carry a single patch with the gnulib compatibility fixes: 1. Single-argument static_assert (lib/dirent.in.h, lib/uchar.in.h) is a C++17 feature; clang in its default C++14 mode rejects it with "static_assert with no message is a C++17 extension". Add a message. Reported upstream: https://github.com/lavv17/lftp/issues/766 2. lib/stdlib.in.h pre-includes <string> to pre-instantiate std::strtoull before the "#define strtoull rpl_strtoull" macro fires, but guarded the workaround with "&& !defined __clang__" so it never triggered under clang + libstdc++, rewriting std::strtoull to the non-existent std::rpl_strtoull. Extend the guard to cover clang. 3. After gnulib split md5.c/sha1.c into primary + -stream.c files, both define GL_OPENSSL_INLINE to _GL_EXTERN_INLINE before including the header, so with the OpenSSL md5/sha1 backends both translation units emit out-of-line wrapper copies and lld fails with duplicate symbol errors. Drop the override from the -stream.c files. Consolidates the three previously separate patches into one; verified by building lftp for qemux86-64 with clang + lld (the duplicate-symbol link failure reproduces without the patch and is resolved with it). Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>