mirror of
https://git.yoctoproject.org/poky
synced 2026-03-03 22:09:39 +01:00
Unlike GNU ld, LLD defaults to erroring about undefined version symbols add commandline parameter to sush lld here Fixes | x86_64-yoesdk-linux-ld.lld: error: version script assignment of 'XCRYPT_2.0' to symbol 'crypt_gensalt_r' failed: symbol not defined | x86_64-yoesdk-linux-ld.lld: error: version script assignment of 'XCRYPT_2.0' to symbol 'xcrypt' failed: symbol not defined | x86_64-yoesdk-linux-ld.lld: error: version script assignment of 'XCRYPT_2.0' to symbol 'xcrypt_gensalt' failed: symbol not defined | x86_64-yoesdk-linux-ld.lld: error: version script assignment of 'XCRYPT_2.0' to symbol 'xcrypt_gensalt_r' failed: symbol not defined | x86_64-yoesdk-linux-ld.lld: error: version script assignment of 'XCRYPT_2.0' to symbol 'xcrypt_r' failed: symbol not defined | x86_64-yoesdk-linux-clang: error: linker command failed with exit code 1 (use -v to see invocation) LLD has stricter defaults and strict symbol versioning enforcement. LLD requires that all symbols referenced in version scripts actually exist in the object files being linked Same errors/behavior can be seen with GNU linker as well if we add -Wl,--undefined-version to LDFLAGS GNU linker chooses to be a bit lenient with defaults. Having LLD to lower its barrier does not change the output it produces, it's the same as GNU ld This is known issue seen with other distros e.g. NixOS upstream [1] [1] https://github.com/besser82/libxcrypt/issues/181 (From OE-Core rev: 26a293d639ab88db84137e9df1d608dfa15aba5f) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
29 lines
1.0 KiB
PHP
29 lines
1.0 KiB
PHP
SUMMARY = "Extended cryptographic library (from glibc)"
|
|
DESCRIPTION = "Forked code from glibc libary to extract only crypto part."
|
|
HOMEPAGE = "https://github.com/besser82/libxcrypt"
|
|
SECTION = "libs"
|
|
LICENSE = "LGPL-2.1-only"
|
|
LIC_FILES_CHKSUM = "file://LICENSING;md5=c0a30e2b1502c55a7f37e412cd6c6a4b \
|
|
file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
|
|
"
|
|
|
|
inherit autotools pkgconfig
|
|
|
|
SRC_URI = "git://github.com/besser82/libxcrypt.git;branch=${SRCBRANCH};protocol=https \
|
|
"
|
|
SRCREV = "55ea777e8d567e5e86ffac917c28815ac54cc341"
|
|
SRCBRANCH ?= "master"
|
|
|
|
PROVIDES = "virtual/crypt"
|
|
|
|
BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}"
|
|
TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir} -Wno-error"
|
|
CPPFLAGS:append:class-nativesdk = " -Wno-error"
|
|
|
|
API = "--disable-obsolete-api"
|
|
EXTRA_OECONF += "${API}"
|
|
|
|
BBCLASSEXTEND = "native nativesdk"
|
|
# Needed until https://github.com/besser82/libxcrypt/issues/181 is addressed
|
|
LDFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', '-Wl,--undefined-version', '', d)}"
|