mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 21:09:03 +02:00

Multilib builds specify several loaders which will end up embedded in some binaries or script files. To support reproducible builds, we must ensure the loaders are always in deterministic order. [YOCTO #2655] [YOCTO #12478] [YOCTO #12480] (From OE-Core rev: 3f839c0cdfe253677ebee47838fe476a0939e0aa) Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Improve the fix and rebase it to 2.28 Here is the log of lib32-glibc [log.do_compile] |Adjust ldd script |ldd "/lib64/ld-linux-x86-64.so.2 /lib/ld-linux.so.2 /lib/ld-linux.so.2 /lib64/ld-linux-x86-64.so.2" -> "/lib/ld-linux.so.2 /lib64/ld-linux-x86-64.so.2" [log.do_compile] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
21 lines
788 B
C++
21 lines
788 B
C++
inherit linuxloader
|
|
|
|
GLIBC_GETLOADER = "${@get_linuxloader(d)}"
|
|
|
|
def glibc_dl_info(d):
|
|
infos = {'ldconfig':set(), 'lddrewrite':set()}
|
|
|
|
loaders = all_multilib_tune_values(d, "GLIBC_GETLOADER").split()
|
|
for loader in loaders:
|
|
infos['ldconfig'].add('{"' + loader + '",' + "FLAG_ELF_LIBC6" + ' }')
|
|
infos['lddrewrite'].add(loader)
|
|
|
|
infos['ldconfig'] = ','.join(sorted(infos['ldconfig']))
|
|
infos['lddrewrite'] = ' '.join(sorted(infos['lddrewrite']))
|
|
return infos
|
|
|
|
EGLIBC_KNOWN_INTERPRETER_NAMES = "${@glibc_dl_info(d)['ldconfig']}"
|
|
RTLDLIST = "${@glibc_dl_info(d)['lddrewrite']}"
|
|
RTLDLIST_class-nativesdk = "${base_libdir}/${@bb.utils.contains('SDK_ARCH', 'x86_64', 'ld-linux-x86-64.so.2', 'ld-linux.so.2', d)}"
|
|
glibc_dl_info[vardepsexclude] = "OVERRIDES"
|