From patchwork Fri Oct 25 16:49:55 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Romain Naour X-Patchwork-Id: 51309 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id DCBE1D149CE for ; Fri, 25 Oct 2024 16:50:11 +0000 (UTC) Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) by mx.groups.io with SMTP id smtpd.web11.321.1729875008322874570 for ; Fri, 25 Oct 2024 09:50:08 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@smile.fr header.s=google header.b=sx2Z1Q4c; spf=pass (domain: smile.fr, ip: 209.85.221.41, mailfrom: romain.naour@smile.fr) Received: by mail-wr1-f41.google.com with SMTP id ffacd0b85a97d-37d4821e6b4so1415220f8f.3 for ; Fri, 25 Oct 2024 09:50:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=smile.fr; s=google; t=1729875007; x=1730479807; darn=lists.yoctoproject.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=izWXXfvyrdcv7ioV92TF7iDBp1KSzue0zqihTit9pMU=; b=sx2Z1Q4cuTuIN3GI2RSWNNW/cnC9VMnKE/E9FqTGiOtFu/1uk4JCBIzOmA08aJqdGF VpCDcrFthF8HwpTOaFm1n+TVSWbXi6mJu1PQEXalyTCSfIOpi91V11smFTRBSpoXX5PF gCwoaWWM8R7uf22eZopdkWXMIZxQ6pAPeNxCQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729875007; x=1730479807; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=izWXXfvyrdcv7ioV92TF7iDBp1KSzue0zqihTit9pMU=; b=J8Z2wc0S4g9TGV0ZMFxkrv+2k1drEPKWoDXVEFlpVxe7weo3qKe97fE16bNB2f8rFv wZiNXveo5pOgunGLK2so+UDGPwlxKK/SUweJqhPAoAKpGkQD/lw8WMTKPTRzUJyY5Rlw dH1zRtnMnh6mj+i0+XeHSD5NQPEcxf/3cI2YGpeU0p6/+ikvneKR4TQSjG5gYBQEBy2U lD3nWwMMCXYJ07/tpTSoBUTP2cR2/kDqDu7jVDdcAj/Hbl6ZKzYgmXuA+R+a8hj9hw5h 5i81zB+ZxtxlVZCG2ScQkzYPkZqyJuv5poUm4uSN2Wlrre0NQykqnMqFEMPHA5n8x6ce Fx4g== X-Gm-Message-State: AOJu0Yx5YwwBf/iPZhGgxdZEfTIR9qbtdr95Nc5NznJ52M+dwQth2AAw qYbxrjpwomsWJVTCVejDcpjBJHoJlNcNEaBz7DXbqP7Bu9Gxiao3n7HIJmDD+cWIvOMoomZq1cI 9 X-Google-Smtp-Source: AGHT+IHEgIgG5Cbpr03uF9pc1dZ1Mav/65E0ccFCFZLrh7SbswnIKcT/o1qRer2ldQ64EttYfmo4+A== X-Received: by 2002:a5d:614f:0:b0:37d:398f:44f9 with SMTP id ffacd0b85a97d-3806115ae92mr46305f8f.32.1729875006651; Fri, 25 Oct 2024 09:50:06 -0700 (PDT) Received: from P-NTS-Evian.home (2a01cb05949d5800e3ef2d7a4131071f.ipv6.abo.wanadoo.fr. [2a01:cb05:949d:5800:e3ef:2d7a:4131:71f]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-38058b70f25sm1991778f8f.67.2024.10.25.09.50.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 09:50:06 -0700 (PDT) From: Romain Naour To: meta-arm@lists.yoctoproject.org Cc: jon.mason@arm.com, Romain Naour Subject: [PATCH v2 1/8] external-arm-toolchain: remove old sed fixup for libc.so Date: Fri, 25 Oct 2024 18:49:55 +0200 Message-ID: <20241025165002.2794821-1-romain.naour@smile.fr> X-Mailer: git-send-email 2.45.0 MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 25 Oct 2024 16:50:11 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/6227 As reported by Vasyl Vavrychuk [1], /${EAT_LIBDIR}/${EAT_TARGET_SYS} is not present in libc.so in the latest prebuilt toolchains: ARM32: $ cat ./gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/arm-linux-gnueabihf/libc/usr/lib/libc.so OUTPUT_FORMAT(elf32-littlearm) GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED ( /lib/ld-linux-armhf.so.3 ) ) $ cat ./gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/arm-none-linux-gnueabihf/libc/usr/lib/libc.so OUTPUT_FORMAT(elf32-littlearm) GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED ( /lib/ld-linux-armhf.so.3 ) ) $ cat ./arm-gnu-toolchain-12.3.rel1-x86_64-arm-none-linux-gnueabihf/arm-none-linux-gnueabihf/libc/usr/lib/libc.so OUTPUT_FORMAT(elf32-littlearm) GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED ( /lib/ld-linux-armhf.so.3 ) ) $ cat ./arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-linux-gnueabihf/arm-none-linux-gnueabihf/libc/usr/lib/libc.so OUTPUT_FORMAT(elf32-littlearm) GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED ( /lib/ld-linux-armhf.so.3 ) ) Aarch64: $ cat ./gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/libc/usr/lib/libc.so OUTPUT_FORMAT(elf64-littleaarch64) GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED ( /lib/ld-linux-aarch64.so.1 ) ) $ cat ./gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu/libc/usr/lib64/libc.so OUTPUT_FORMAT(elf64-littleaarch64) GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a AS_NEEDED ( /lib/ld-linux-aarch64.so.1 ) ) $ cat ./arm-gnu-toolchain-12.3.rel1-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu/libc/usr/lib64/libc.so OUTPUT_FORMAT(elf64-littleaarch64) GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a AS_NEEDED ( /lib/ld-linux-aarch64.so.1 ) ) $ cat ./arm-gnu-toolchain-13.3.rel1-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu/libc/usr/lib64/libc.so OUTPUT_FORMAT(elf64-littleaarch64) GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a AS_NEEDED ( /lib/ld-linux-aarch64.so.1 ) ) We can safely remove old sed fixup for libc.so. [1] https://lists.yoctoproject.org/g/meta-arm/message/5565 Signed-off-by: Romain Naour --- .../external-arm-toolchain/external-arm-toolchain.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb index 1e8c1116..1095736b 100644 --- a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb +++ b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb @@ -213,13 +213,13 @@ do_install() { rm -rf ${D}${includedir}/rpcsvc/rquota.* if [ -f ${D}${libdir}/libc.so ];then - sed -i -e "s# /${EAT_LIBDIR}/${EAT_TARGET_SYS}# ../../${EAT_LIBDIR}#g" -e "s# /usr/${EAT_LIBDIR}/# /usr/lib/#g" -e "s# /usr/${EAT_LIBDIR}/${EAT_TARGET_SYS}# .#g" -e "s# /${EAT_LIBDIR}/ld-linux# ../../${EAT_LIBDIR}/ld-linux#g" ${D}${libdir}/libc.so + sed -i -e "s# /usr/${EAT_LIBDIR}/# /usr/lib/#g" -e "s# /${EAT_LIBDIR}/ld-linux# ../../${EAT_LIBDIR}/ld-linux#g" ${D}${libdir}/libc.so sed -i -e "s# /${EAT_LIBDIR}/libc.so.6# /lib/libc.so.6#g" ${D}${libdir}/libc.so sed -i -e "s# /lib# ../../lib#g" -e "s# /usr/lib# .#g" ${D}${libdir}/libc.so fi if [ -f ${D}${base_libdir}/libc.so ];then - sed -i -e "s# /${EAT_LIBDIR}/${EAT_TARGET_SYS}# ../../lib#g" -e "s# /usr/${EAT_LIBDIR}/${EAT_TARGET_SYS}# .#g" -e "s# /${EAT_LIBDIR}/# /lib/#g" ${D}${base_libdir}/libc.so + sed -i -e "s# /${EAT_LIBDIR}/# /lib/#g" ${D}${base_libdir}/libc.so if [ -f ${D}${base_libdir}/libc.so.6 ]; then sed -i -e "s# /usr/${EAT_LIBDIR}/libc.so.6# /lib/libc.so.6#g" -e "s# /${EAT_LIBDIR}/libc.so.6# /lib/libc.so.6#g" ${D}${base_libdir}/libc.so.6 fi From patchwork Fri Oct 25 16:49:56 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Romain Naour X-Patchwork-Id: 51313 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 04243D149D4 for ; Fri, 25 Oct 2024 16:50:12 +0000 (UTC) Received: from mail-wr1-f54.google.com (mail-wr1-f54.google.com [209.85.221.54]) by mx.groups.io with SMTP id smtpd.web10.375.1729875008947090995 for ; Fri, 25 Oct 2024 09:50:09 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@smile.fr header.s=google header.b=RiktxbNM; spf=pass (domain: smile.fr, ip: 209.85.221.54, mailfrom: romain.naour@smile.fr) Received: by mail-wr1-f54.google.com with SMTP id ffacd0b85a97d-37d63a79bb6so1457251f8f.0 for ; Fri, 25 Oct 2024 09:50:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=smile.fr; s=google; t=1729875007; x=1730479807; darn=lists.yoctoproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=OmI+WdWdQBcsmoM++RX7QOPqkEmB9Fe+yB3xz6LPvDs=; b=RiktxbNMlR/1uvCZk70TlGUpSc80O4pQwv+3OJoPz/KHbUfM4aeE8FOJEbsJxXOh/f Ez1NZc8W5X50Sp66GA74yOH00kZmTcipsQ08f5P0i61F6a+i4u/BX6VDoEcmiasiDdZk 29Uxikz19OA1lVzqAQJR4N63ARgHOjlgzKOXg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729875007; x=1730479807; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OmI+WdWdQBcsmoM++RX7QOPqkEmB9Fe+yB3xz6LPvDs=; b=cdlO6HbYV45f/hpDrmDVFgs8Hq5mX7FJeberipzIkRnCPrXBRsGVpDKBmG1rfrjuFk WUZJdbx2Fj6Bhf4PG+BbpgKd4QY/ged62SRda/6w46/cK9ujsdLFJBn5561ZfPB/MgEz enCElrNE0+VE78MmDrZTgN4WCC9qniCaxRiIwmFsyZPYx6UlxS5f4mRrIeAtpap5Hlxd +3jI3u1+QxGFQ6ZOTTCYCODdRZvT3vT05A8vWmFSU96JEwg8+U/1dpqlMzyv3IAZ7NSk UcNx26HBRvsIdoti98oW/AHiOUyd98SD3qxVZ7C9PwbtLELNR1Sb+7nNwDxowD5vnVA8 ad3Q== X-Gm-Message-State: AOJu0Yy9UDxgex4Z00uG1wEjtdxtdfLWLUR3EVgyINblllg1LoHUdsMp 6f/Nij6sgm1yJKVAlCUPajibkF2QFLfwDqTiYDg4SSuJqw84DuupTwpCS56cb3w7q2dGlVXZpLa W X-Google-Smtp-Source: AGHT+IHszR4NQ4R+wmJOLnmbGrQHg8wlPmy4YlW3x33miyKLtDztt+7kbFjjtnT7zGmij0UWdyjiNA== X-Received: by 2002:a05:6000:1f06:b0:37d:5173:7a54 with SMTP id ffacd0b85a97d-3806120d083mr34913f8f.52.1729875007264; Fri, 25 Oct 2024 09:50:07 -0700 (PDT) Received: from P-NTS-Evian.home (2a01cb05949d5800e3ef2d7a4131071f.ipv6.abo.wanadoo.fr. [2a01:cb05:949d:5800:e3ef:2d7a:4131:71f]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-38058b70f25sm1991778f8f.67.2024.10.25.09.50.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 09:50:07 -0700 (PDT) From: Romain Naour To: meta-arm@lists.yoctoproject.org Cc: jon.mason@arm.com, Vasyl Vavrychuk , Denys Dmytriyenko , Romain Naour Subject: [PATCH v2 2/8] external-arm-toolchain: wrap base_libdir vs libdir manipulations under usrmerge check Date: Fri, 25 Oct 2024 18:49:56 +0200 Message-ID: <20241025165002.2794821-2-romain.naour@smile.fr> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20241025165002.2794821-1-romain.naour@smile.fr> References: <20241025165002.2794821-1-romain.naour@smile.fr> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 25 Oct 2024 16:50:12 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/6228 From: Vasyl Vavrychuk With `usrmerge` disto feature `base_libdir` and `libdir` are the same, so it does not make sense to: * removing "duplicates" between them * move files from `base_libdir` to `libdir` This fixes build error | mv: '.../tmp/work/cortexa15t2hf-neon-poky-linux-gnueabi/external-arm-toolchain/12.2.Rel1/image/usr/lib/libasan.a' and '.../tmp/work/cortexa15t2hf-neon-poky-linux-gnueabi/external-arm-toolchain/12.2.Rel1/image/usr/lib/libasan.a' are the same file in case of `usrmerge` feature enabled. Signed-off-by: Vasyl Vavrychuk Acked-by: Denys Dmytriyenko Signed-off-by: Romain Naour --- .../external-arm-toolchain.bb | 62 ++++++++++--------- 1 file changed, 32 insertions(+), 30 deletions(-) diff --git a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb index 1095736b..c22fed0e 100644 --- a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb +++ b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb @@ -143,37 +143,39 @@ do_install() { ln -sf ../../lib/libm.so.6 ${D}${libdir}/libm.so ln -sf ../../lib/libc_malloc_debug.so.0 ${D}${libdir}/libc_malloc_debug.so - # remove potential .so duplicates from base_libdir - # for all symlinks created above in libdir - rm -f ${D}${base_libdir}/librt.so - rm -f ${D}${base_libdir}/libcrypt.so - rm -f ${D}${base_libdir}/libresolv.so - rm -f ${D}${base_libdir}/libnss_hesiod.so - rm -f ${D}${base_libdir}/libutil.so - rm -f ${D}${base_libdir}/libBrokenLocale.so - rm -f ${D}${base_libdir}/libpthread.so - rm -f ${D}${base_libdir}/libthread_db.so - rm -f ${D}${base_libdir}/libanl.so - rm -f ${D}${base_libdir}/libdl.so - rm -f ${D}${base_libdir}/libnss_db.so - rm -f ${D}${base_libdir}/libnss_dns.so - rm -f ${D}${base_libdir}/libnss_files.so - rm -f ${D}${base_libdir}/libnss_compat.so - rm -f ${D}${base_libdir}/libm.so - - # Move these completely to ${libdir} and delete duplicates in ${base_libdir} - for lib in asan hwasan atomic gfortran gomp itm lsan sanitizer stdc++ tsan ubsan; do - if [ -e ${D}${base_libdir}/lib${lib}.spec ] ; then - mv ${D}${base_libdir}/lib${lib}.spec ${D}${libdir} - fi - if [ -e ${D}${base_libdir}/lib${lib}.a ] ; then - mv ${D}${base_libdir}/lib${lib}.a ${D}${libdir} - fi - rm -f ${D}${base_libdir}/lib${lib}* - done + if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'false', 'true', d)}; then + # remove potential .so duplicates from base_libdir + # for all symlinks created above in libdir + rm -f ${D}${base_libdir}/librt.so + rm -f ${D}${base_libdir}/libcrypt.so + rm -f ${D}${base_libdir}/libresolv.so + rm -f ${D}${base_libdir}/libnss_hesiod.so + rm -f ${D}${base_libdir}/libutil.so + rm -f ${D}${base_libdir}/libBrokenLocale.so + rm -f ${D}${base_libdir}/libpthread.so + rm -f ${D}${base_libdir}/libthread_db.so + rm -f ${D}${base_libdir}/libanl.so + rm -f ${D}${base_libdir}/libdl.so + rm -f ${D}${base_libdir}/libnss_db.so + rm -f ${D}${base_libdir}/libnss_dns.so + rm -f ${D}${base_libdir}/libnss_files.so + rm -f ${D}${base_libdir}/libnss_compat.so + rm -f ${D}${base_libdir}/libm.so + + # Move these completely to ${libdir} and delete duplicates in ${base_libdir} + for lib in asan hwasan atomic gfortran gomp itm lsan sanitizer stdc++ tsan ubsan; do + if [ -e ${D}${base_libdir}/lib${lib}.spec ] ; then + mv ${D}${base_libdir}/lib${lib}.spec ${D}${libdir} + fi + if [ -e ${D}${base_libdir}/lib${lib}.a ] ; then + mv ${D}${base_libdir}/lib${lib}.a ${D}${libdir} + fi + rm -f ${D}${base_libdir}/lib${lib}* + done - # Clean up duplicate libs that are both in base_libdir and libdir - rm -f ${D}${libdir}/libgcc* + # Clean up duplicate libs that are both in base_libdir and libdir + rm -f ${D}${libdir}/libgcc* + fi # Besides ld-${EAT_VER_LIBC}.so, other libs can have duplicates like lib*-${EAT_VER_LIBC}.so # Only remove them if both are regular files and are identical From patchwork Fri Oct 25 16:49:57 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Romain Naour X-Patchwork-Id: 51311 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id EBB19D149D0 for ; Fri, 25 Oct 2024 16:50:11 +0000 (UTC) Received: from mail-wr1-f47.google.com (mail-wr1-f47.google.com [209.85.221.47]) by mx.groups.io with SMTP id smtpd.web11.322.1729875009605192333 for ; Fri, 25 Oct 2024 09:50:09 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@smile.fr header.s=google header.b=fqPsp1iz; spf=pass (domain: smile.fr, ip: 209.85.221.47, mailfrom: romain.naour@smile.fr) Received: by mail-wr1-f47.google.com with SMTP id ffacd0b85a97d-37d495d217bso1910630f8f.0 for ; Fri, 25 Oct 2024 09:50:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=smile.fr; s=google; t=1729875008; x=1730479808; darn=lists.yoctoproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=49Sk2z4deS1Ncu4Wc8BtdW57y9TMizYakV6LWocWNRM=; b=fqPsp1izWeul1kYpoRO50aXiNgzjAZm5Jl4Y62GMzV1/FxAzEys0dLgyKIsSNi8+Qw pM2VU0jEA4huTHM4k5+kkfVWqhf6WTyhVb8gP0dvvpMj09jjmLd64dOMUaeJYx8Rc9Iv jJcMVMP5MPNES7MQeP/R89gFrvHaaWIMHZAv0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729875008; x=1730479808; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=49Sk2z4deS1Ncu4Wc8BtdW57y9TMizYakV6LWocWNRM=; b=Jn3hXprBjVQyN8P1M8PoeT0FhHZJR3lzPCAa8p2UtmJKZ4MJWbYm0HsWMYWfQn1lNv Zu/jReE14cflKZvHzrEAMYjNQhfJrmC0ypitm7TKKj8eRTlmnCa6X/wv+rsbyBQPkvcm Keu8SicWnRPTwjrqV5dIdV7a6jOeXrwlPqOu5nGl3bRRGfFVi49OHeWs6bcKlM9yGp3m LqpI1cIu9U3raTAOLJYh5KFsIrbIjPdJaOw6Ch60nVFxbsFw11OunU41hyrKraYuFv+/ QjcaGlkxRPSClXTOTxKX81fiC9ktAFBTIYffaG8263q6dYpDEIeNVJpPXeABZNwD1lv/ lbuQ== X-Gm-Message-State: AOJu0YwK/fr+kKTowcm/X18uvBa2CJphOCwwaRLOzcHaOIroNsZaeL0B WGvFKvi6ahkdrZpnMgIPLo+X6hoYMXSacBDUlBIhT89UO8j5m+ctNNwAgMtPc57RgyRZboY9LiV O X-Google-Smtp-Source: AGHT+IF6Gj3oDFOoteCgt1vjTAeiGNXHn2E9tybjkh7UAq6UleVIDUE+XCBsyxN01ToVyO2iWkuX4g== X-Received: by 2002:a05:6000:48:b0:37d:4eeb:7370 with SMTP id ffacd0b85a97d-38061247a93mr42131f8f.56.1729875007884; Fri, 25 Oct 2024 09:50:07 -0700 (PDT) Received: from P-NTS-Evian.home (2a01cb05949d5800e3ef2d7a4131071f.ipv6.abo.wanadoo.fr. [2a01:cb05:949d:5800:e3ef:2d7a:4131:71f]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-38058b70f25sm1991778f8f.67.2024.10.25.09.50.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 09:50:07 -0700 (PDT) From: Romain Naour To: meta-arm@lists.yoctoproject.org Cc: jon.mason@arm.com, Romain Naour , "Parthiban" Subject: [PATCH v2 3/8] external-arm-toolchain: wrap symlink handling under usrmerge check Date: Fri, 25 Oct 2024 18:49:57 +0200 Message-ID: <20241025165002.2794821-3-romain.naour@smile.fr> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20241025165002.2794821-1-romain.naour@smile.fr> References: <20241025165002.2794821-1-romain.naour@smile.fr> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 25 Oct 2024 16:50:11 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/6229 Rework the symlink handling when usermerge is enabled. Indeed, "ln -sf ../../lib/librt.so.1 ${D}${libdir}/librt.so" create a dead link with usermerge... Based on: https://lists.yoctoproject.org/g/meta-arm/message/5765 Signed-off-by: Romain Naour Cc: "Parthiban" --- .../external-arm-toolchain.bb | 49 +++++++++++++------ 1 file changed, 33 insertions(+), 16 deletions(-) diff --git a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb index c22fed0e..cc30f756 100644 --- a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb +++ b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb @@ -126,24 +126,25 @@ do_install() { else cp ${CP_ARGS} ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/lib/${linker_name} ${D}${base_libdir}/ fi - ln -sf ../../lib/librt.so.1 ${D}${libdir}/librt.so - ln -sf ../../lib/libcrypt.so.1 ${D}${libdir}/libcrypt.so - ln -sf ../../lib/libresolv.so.2 ${D}${libdir}/libresolv.so - ln -sf ../../lib/libnss_hesiod.so.2 ${D}${libdir}/libnss_hesiod.so - ln -sf ../../lib/libutil.so.1 ${D}${libdir}/libutil.so - ln -sf ../../lib/libBrokenLocale.so.1 ${D}${libdir}/libBrokenLocale.so - ln -sf ../../lib/libpthread.so.0 ${D}${libdir}/libpthread.so - ln -sf ../../lib/libthread_db.so.1 ${D}${libdir}/libthread_db.so - ln -sf ../../lib/libanl.so.1 ${D}${libdir}/libanl.so - ln -sf ../../lib/libdl.so.2 ${D}${libdir}/libdl.so - ln -sf ../../lib/libnss_db.so.2 ${D}${libdir}/libnss_db.so - ln -sf ../../lib/libnss_dns.so.2 ${D}${libdir}/libnss_dns.so - ln -sf ../../lib/libnss_files.so.2 ${D}${libdir}/libnss_files.so - ln -sf ../../lib/libnss_compat.so.2 ${D}${libdir}/libnss_compat.so - ln -sf ../../lib/libm.so.6 ${D}${libdir}/libm.so - ln -sf ../../lib/libc_malloc_debug.so.0 ${D}${libdir}/libc_malloc_debug.so if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'false', 'true', d)}; then + ln -sf ../../lib/librt.so.1 ${D}${libdir}/librt.so + ln -sf ../../lib/libcrypt.so.1 ${D}${libdir}/libcrypt.so + ln -sf ../../lib/libresolv.so.2 ${D}${libdir}/libresolv.so + ln -sf ../../lib/libnss_hesiod.so.2 ${D}${libdir}/libnss_hesiod.so + ln -sf ../../lib/libutil.so.1 ${D}${libdir}/libutil.so + ln -sf ../../lib/libBrokenLocale.so.1 ${D}${libdir}/libBrokenLocale.so + ln -sf ../../lib/libpthread.so.0 ${D}${libdir}/libpthread.so + ln -sf ../../lib/libthread_db.so.1 ${D}${libdir}/libthread_db.so + ln -sf ../../lib/libanl.so.1 ${D}${libdir}/libanl.so + ln -sf ../../lib/libdl.so.2 ${D}${libdir}/libdl.so + ln -sf ../../lib/libnss_db.so.2 ${D}${libdir}/libnss_db.so + ln -sf ../../lib/libnss_dns.so.2 ${D}${libdir}/libnss_dns.so + ln -sf ../../lib/libnss_files.so.2 ${D}${libdir}/libnss_files.so + ln -sf ../../lib/libnss_compat.so.2 ${D}${libdir}/libnss_compat.so + ln -sf ../../lib/libm.so.6 ${D}${libdir}/libm.so + ln -sf ../../lib/libc_malloc_debug.so.0 ${D}${libdir}/libc_malloc_debug.so + # remove potential .so duplicates from base_libdir # for all symlinks created above in libdir rm -f ${D}${base_libdir}/librt.so @@ -175,6 +176,22 @@ do_install() { # Clean up duplicate libs that are both in base_libdir and libdir rm -f ${D}${libdir}/libgcc* + else + ln -sf libcrypt.so.1 ${D}${libdir}/libcrypt.so + ln -sf libresolv.so.2 ${D}${libdir}/libresolv.so + ln -sf libnss_hesiod.so.2 ${D}${libdir}/libnss_hesiod.so + ln -sf libutil.so.1 ${D}${libdir}/libutil.so + ln -sf libBrokenLocale.so.1 ${D}${libdir}/libBrokenLocale.so + ln -sf libpthread.so.0 ${D}${libdir}/libpthread.so + ln -sf libthread_db.so.1 ${D}${libdir}/libthread_db.so + ln -sf libanl.so.1 ${D}${libdir}/libanl.so + ln -sf libdl.so.2 ${D}${libdir}/libdl.so + ln -sf libnss_db.so.2 ${D}${libdir}/libnss_db.so + ln -sf libnss_dns.so.2 ${D}${libdir}/libnss_dns.so + ln -sf libnss_files.so.2 ${D}${libdir}/libnss_files.so + ln -sf libnss_compat.so.2 ${D}${libdir}/libnss_compat.so + ln -sf libm.so.6 ${D}${libdir}/libm.so + ln -sf libc_malloc_debug.so.0 ${D}${libdir}/libc_malloc_debug.so fi # Besides ld-${EAT_VER_LIBC}.so, other libs can have duplicates like lib*-${EAT_VER_LIBC}.so From patchwork Fri Oct 25 16:49:58 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Romain Naour X-Patchwork-Id: 51308 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id DA3F3D149CD for ; Fri, 25 Oct 2024 16:50:11 +0000 (UTC) Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) by mx.groups.io with SMTP id smtpd.web10.377.1729875010075865476 for ; Fri, 25 Oct 2024 09:50:10 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@smile.fr header.s=google header.b=WZxZHrlm; spf=pass (domain: smile.fr, ip: 209.85.221.41, mailfrom: romain.naour@smile.fr) Received: by mail-wr1-f41.google.com with SMTP id ffacd0b85a97d-37d5aedd177so1382614f8f.1 for ; Fri, 25 Oct 2024 09:50:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=smile.fr; s=google; t=1729875008; x=1730479808; darn=lists.yoctoproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=FgmsGjgD9CTAZLlYLiUUHH8+Li7HRjWyMZ5RvamyZyY=; b=WZxZHrlmtLGdHA1KE9diNudFx9oLIIg6RAkkIlohHNeStKbDffWUUy4S6jA3UhEdou fHxTXqZxjWPXKy5YL6shMWssc96fuU0f6F5BpE6KWwe1IMlBYxm0bnuQzUcazhwdL+Mr B9BVNo2ktXf8RsMTWQOQn7MlM9x3+RFIkfhA8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729875008; x=1730479808; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=FgmsGjgD9CTAZLlYLiUUHH8+Li7HRjWyMZ5RvamyZyY=; b=NkMEe2YAUvwHc4NSOijPTTkchKFGjPJrVRjvWvdDJ6Nv8+eXCQSyrYKTzHtJzwNlas Gnu0qIMB8FSmji/K5HnLoZCGdsUWmv5/pqpxo3n8tSevCCnkb42JnymEMwXhFYy/fWBL HOZluFh1gqHrq2Hp2x3ZX3dYeUAZo7rYN4vDtSBlhKJ99dOzRr8JoCgfO3POb9woFJS0 xsNJrxYf2J0+uLwrxNqvqp1oMdcWoXwignVuSmmzaRtThLNX5tzbpjmUV/wIgEHiIoLv WNkBjp0rv2FHIx+MOgde7xd3l6FD394ayRc+mbEC+AkhXmnnHC0g+rCqGVaIB5s1jXae vFMg== X-Gm-Message-State: AOJu0YwhGIZkrOV3/EevxfwbbcZI+UTlfRIYATD1eWOP8/Hty7K9cDto B/eUppGIbmzy1tW+gvhcoF66ZVbtuiDvRq7tWr3SJmhPwgwnZ0mP7aKG6I7HgnymhfpckVBimIO L X-Google-Smtp-Source: AGHT+IE41iTgB5MMnkuNKCar2OPFfpZ5hlVBRK3bMevAwMlxossaju/9zLCHa32GeGwu4/ptBUVNKw== X-Received: by 2002:adf:cb0c:0:b0:37d:4ebe:1650 with SMTP id ffacd0b85a97d-38061200b50mr35865f8f.46.1729875008464; Fri, 25 Oct 2024 09:50:08 -0700 (PDT) Received: from P-NTS-Evian.home (2a01cb05949d5800e3ef2d7a4131071f.ipv6.abo.wanadoo.fr. [2a01:cb05:949d:5800:e3ef:2d7a:4131:71f]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-38058b70f25sm1991778f8f.67.2024.10.25.09.50.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 09:50:08 -0700 (PDT) From: Romain Naour To: meta-arm@lists.yoctoproject.org Cc: jon.mason@arm.com, Vasyl Vavrychuk , Romain Naour Subject: [PATCH v2 4/8] external-arm-toolchain: in libc.so GNU ld script use base_libdir Date: Fri, 25 Oct 2024 18:49:58 +0200 Message-ID: <20241025165002.2794821-4-romain.naour@smile.fr> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20241025165002.2794821-1-romain.naour@smile.fr> References: <20241025165002.2794821-1-romain.naour@smile.fr> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 25 Oct 2024 16:50:11 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/6230 From: Vasyl Vavrychuk `base_libdir` gets replaced with `/lib` or `/usr/lib` depending on `usrmerge` distro feature. Signed-off-by: Vasyl Vavrychuk Signed-off-by: Romain Naour --- .../external-arm-toolchain/external-arm-toolchain.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb index cc30f756..d73d1727 100644 --- a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb +++ b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb @@ -232,9 +232,9 @@ do_install() { rm -rf ${D}${includedir}/rpcsvc/rquota.* if [ -f ${D}${libdir}/libc.so ];then - sed -i -e "s# /usr/${EAT_LIBDIR}/# /usr/lib/#g" -e "s# /${EAT_LIBDIR}/ld-linux# ../../${EAT_LIBDIR}/ld-linux#g" ${D}${libdir}/libc.so + sed -i -e "s# /usr/${EAT_LIBDIR}/# /usr/lib/#g" -e "s# /${EAT_LIBDIR}/ld-linux# ../../${base_libdir}/ld-linux#g" ${D}${libdir}/libc.so sed -i -e "s# /${EAT_LIBDIR}/libc.so.6# /lib/libc.so.6#g" ${D}${libdir}/libc.so - sed -i -e "s# /lib# ../../lib#g" -e "s# /usr/lib# .#g" ${D}${libdir}/libc.so + sed -i -e "s# /lib# ../../${base_libdir}#g" -e "s# /usr/lib# .#g" ${D}${libdir}/libc.so fi if [ -f ${D}${base_libdir}/libc.so ];then From patchwork Fri Oct 25 16:49:59 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Romain Naour X-Patchwork-Id: 51310 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id DCEF0D149CF for ; Fri, 25 Oct 2024 16:50:11 +0000 (UTC) Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) by mx.groups.io with SMTP id smtpd.web10.379.1729875010921652828 for ; Fri, 25 Oct 2024 09:50:11 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@smile.fr header.s=google header.b=cJWySawL; spf=pass (domain: smile.fr, ip: 209.85.128.46, mailfrom: romain.naour@smile.fr) Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-43155afca99so22808465e9.1 for ; Fri, 25 Oct 2024 09:50:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=smile.fr; s=google; t=1729875009; x=1730479809; darn=lists.yoctoproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=hXfIoX+XCW8D9Gs79OojrALjWeoolgWnO/E22qDRYDQ=; b=cJWySawLeGke+9AVx46j41dt+/8id7Uxt8k2AelYVjLLfM37i8fPfS/kC9OSpi7+S+ EXStUmw4//9xmKHtsGxB9ZWsHDPAj0ZxIwfVXMhcvCOfPEYyG211/trs3c5zsXkQdXdG 2tVLKBdy/xx6mAT9/CRewhLdfHZgwivYE+66Q= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729875009; x=1730479809; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hXfIoX+XCW8D9Gs79OojrALjWeoolgWnO/E22qDRYDQ=; b=vqlPi2rptbSV9Fg6TDECjZb4CA8OO+aNvHqEot6zWYss27w0AA0oxqHwW4rjsO9V2c uUBEbf+3h97gCPco509UVuwbz/MOzCLH4QReofot6hcecwI9iPK3ymrrFjvKGerGa9wr nrJzmhXI3CcIrmg63XagF57ScL3eP3G415tAEr7DMYaTpMC88Ji7I15wVEV9ayelKMkf H9rUZhk9t8lloohVC9TH0c3V7f50xtcrCIgOkUjot6JlVCq143t+f+e401AiKXHC6X4K nhnaNH5U/8neV3Uxd3u867mBmNMqA/Y7HRFFE6jqL9LbseYPX2Djp4xv5PC2yvYzCMxQ Sfjg== X-Gm-Message-State: AOJu0Yw8y47L9dUjbrRE2tzmEI6XdnPJ1V0T8rWOvHabQfhuVlXvJITt z1hqtS0E1Rq/FKTr+CNgtgNaLNtB14ab5Lil7w6jw0yYV8UIy48e7+l6poSSwGJw6NpxRqXg4Oi 3 X-Google-Smtp-Source: AGHT+IFmlQIoTGQOvMmAEfd9+pGgAXiKmgG6qaEyVXj5yeNeB9du1lbqupvORvqsSGXPf+pmNg1LRg== X-Received: by 2002:a5d:6c6a:0:b0:37d:5251:e5ad with SMTP id ffacd0b85a97d-3803abc525cmr5661078f8f.2.1729875009152; Fri, 25 Oct 2024 09:50:09 -0700 (PDT) Received: from P-NTS-Evian.home (2a01cb05949d5800e3ef2d7a4131071f.ipv6.abo.wanadoo.fr. [2a01:cb05:949d:5800:e3ef:2d7a:4131:71f]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-38058b70f25sm1991778f8f.67.2024.10.25.09.50.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 09:50:08 -0700 (PDT) From: Romain Naour To: meta-arm@lists.yoctoproject.org Cc: jon.mason@arm.com, Vasyl Vavrychuk , Denys Dmytriyenko , Romain Naour Subject: [PATCH v2 5/8] external-arm-toolchain: remove ${base_libdir}/libpthread*.so from FILES:${PN} Date: Fri, 25 Oct 2024 18:49:59 +0200 Message-ID: <20241025165002.2794821-5-romain.naour@smile.fr> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20241025165002.2794821-1-romain.naour@smile.fr> References: <20241025165002.2794821-1-romain.naour@smile.fr> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 25 Oct 2024 16:50:11 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/6231 From: Vasyl Vavrychuk When `usrmerge` distro feature is not enabled, then `${base_libdir}` resolves to `/lib` and `/lib/libpthread*.so` does not match any files. But, with `usrmerge` distro feature, `${base_libdir}` is `/usr/lib`, so removed line leads to `/usr/lib/libpthread.so` symlink included in `${PN}` which causes QA check failure. Signed-off-by: Vasyl Vavrychuk Acked-by: Denys Dmytriyenko Signed-off-by: Romain Naour --- .../external-arm-toolchain/external-arm-toolchain.bb | 1 - 1 file changed, 1 deletion(-) diff --git a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb index d73d1727..fee0da89 100644 --- a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb +++ b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb @@ -554,7 +554,6 @@ FILES:${PN} += "\ ${base_libdir}/ld*.so.* \ ${base_libdir}/ld-*.so \ ${base_libdir}/libpthread*.so.* \ - ${base_libdir}/libpthread*.so \ ${base_libdir}/libpthread-*.so \ ${base_libdir}/libresolv*.so.* \ ${base_libdir}/libresolv-*.so \ From patchwork Fri Oct 25 16:50:00 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Romain Naour X-Patchwork-Id: 51312 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 06B5DD149D1 for ; Fri, 25 Oct 2024 16:50:12 +0000 (UTC) Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) by mx.groups.io with SMTP id smtpd.web11.323.1729875011430963484 for ; Fri, 25 Oct 2024 09:50:11 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@smile.fr header.s=google header.b=PMvWcEbT; spf=pass (domain: smile.fr, ip: 209.85.128.50, mailfrom: romain.naour@smile.fr) Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-43155afca99so22808525e9.1 for ; Fri, 25 Oct 2024 09:50:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=smile.fr; s=google; t=1729875010; x=1730479810; darn=lists.yoctoproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=dT9nRYQIfKXpkCK85mdYO8r728bxi7Gx5WzI7MpiCzU=; b=PMvWcEbTEXPWHevTryg8/gq3s1UyoeAxZuN+X2NezVkqbTOHQ+sreLD2tQhR9t15ZX f672EN00YHq+myaWgBYCNFCaH/uifzU0jOjAkKDWEe1+iSFkaXwkBm/kUcvw7G5MoAa7 BIQooMBSqdCIILqHqKIRqp1erL4XsdNOpu3ks= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729875010; x=1730479810; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=dT9nRYQIfKXpkCK85mdYO8r728bxi7Gx5WzI7MpiCzU=; b=omhuip6U/y6SHW7Cxo45gL2ophUmoNwHeD9OVVGKfl5k8hRkuktmzKOgbjGUSlbtRw hDxjdAkPLIHM24DFDCzgdT9XkNHuHqLu4oil/ygrAuGbbOahtEAYtmQUezWGn3usjIvB XDRQo0Tzill8YPUxpKFih5H2REsQcm4h6HfNqTQB8aJKam6xB35JOB5KHjMQ1pMjgfab CryTUQ0ymO3sh2HtwSqkbkj63tkrRxLC0XqIUEJHZCeoryPrFwspcjadWY56Nkf5N0IA R1HU+wDPjjQktGjw3AQoFDcJ89SMp/79M8nLkq1wHVMtkwA1l1WYRwYxdSlBC5jbHg/H w8Xw== X-Gm-Message-State: AOJu0YzmG5mRE5sl3PyNvWsdi0A3EWEKyy29JLPW/n3SmWOCF/LkN3+l 3KXhTuqEGku9fR83vKE8+xvCaqJETS8AXEOXkxXjGihr4eRNF6TL/2vGIXRHH3bhSZyvZ55QPCx O X-Google-Smtp-Source: AGHT+IGw0iwa/C3ahI6izc+4uUH0PLv0kW2NvbLxvMAzFj85/EO2UrSWPoAmud3Pq455UkcugADqLw== X-Received: by 2002:a5d:4b02:0:b0:37c:fbb7:5082 with SMTP id ffacd0b85a97d-38060f37503mr168364f8f.25.1729875009780; Fri, 25 Oct 2024 09:50:09 -0700 (PDT) Received: from P-NTS-Evian.home (2a01cb05949d5800e3ef2d7a4131071f.ipv6.abo.wanadoo.fr. [2a01:cb05:949d:5800:e3ef:2d7a:4131:71f]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-38058b70f25sm1991778f8f.67.2024.10.25.09.50.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 09:50:09 -0700 (PDT) From: Romain Naour To: meta-arm@lists.yoctoproject.org Cc: jon.mason@arm.com, Romain Naour Subject: [PATCH v2 6/8] external-arm-toolchain: override dynamic loader path with usrmerge enabled Date: Fri, 25 Oct 2024 18:50:00 +0200 Message-ID: <20241025165002.2794821-6-romain.naour@smile.fr> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20241025165002.2794821-1-romain.naour@smile.fr> References: <20241025165002.2794821-1-romain.naour@smile.fr> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 25 Oct 2024 16:50:12 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/6232 usrmerge nowaday required by systemd [1] but it broke external-arm-toolchain in several ways... When usrmerge is enabled, /lib is no longer part of SYSROOT_DIRS list while the prebuilt toolchain expect the dynamic loader to be placed in /lib not /usr/lib. There is no /lib directory in the per-package sysroot directory generated to build each package: [...]/build/tmp/sysroots-components/// sysroot-providers/ usr/ But the cross-compiler still generate binaries with dynamic loarder path set to "/lib/ld-linux-.so*" strings sanitycheckc_cross.exe | grep ld /lib/ld-linux-aarch64.so.1 A symlink /lib -> /usr/lib is crated in the final rootfs image. But this broke the meson-qemuwrapper used when "qemu-usermode" (MACHINE_FEATURES) is available: See [2]: do_write_config:append:class-target() { # Write out a qemu wrapper that will be used as exe_wrapper so that meson # can run target helper binaries through that. qemu_binary="${@qemu_wrapper_cmdline(d, '$STAGING_DIR_HOST', ['$STAGING_DIR_HOST/${libdir}','$STAGING_DIR_HOST/${base_libdir}'])}" It produce a runtime issue while running a meson sanity check: meson-qemuwrapper [...]/build/meson-private/sanitycheckc_cross.exe qemu-aarch64: Could not open '/lib/ld-linux-aarch64.so.1': No such file or directory Note: The binaries build by the Yocto internal toolchain seems be "patched" [3] to look at /usr/lib instead of /lib. We use -Wl,--dynamic-linker to make sure that the cross-compiler generate binaries using the dynamic loader path defined by usrmerge for all packages build by Yocto. [1] https://git.openembedded.org/openembedded-core/commit/?id=802e853eeddf16d73db1900546cc5f045d1fb7ed [2] https://git.openembedded.org/openembedded-core/tree/meta/classes-recipe/meson.bbclass?h=2024-04.3-scarthgap#n130 [3] https://github.com/openembedded/openembedded-core/blob/scarthgap/meta/recipes-devtools/gcc/gcc/0007-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch Signed-off-by: Romain Naour --- .../conf/distro/include/tcmode-external-arm.inc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/meta-arm-toolchain/conf/distro/include/tcmode-external-arm.inc b/meta-arm-toolchain/conf/distro/include/tcmode-external-arm.inc index 898663ea..99fe56b8 100644 --- a/meta-arm-toolchain/conf/distro/include/tcmode-external-arm.inc +++ b/meta-arm-toolchain/conf/distro/include/tcmode-external-arm.inc @@ -15,6 +15,11 @@ EAT_TARGET_SYS:aarch64 ?= "${@ 'aarch64-none-linux-gnu' if os.path.exists('${EXT EAT_TARGET_SYS = "${TARGET_SYS}" TARGET_PREFIX = "${EAT_TARGET_SYS}-" +EXTERNAL_TOOLCHAIN_LIBDIR = "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/usr/lib', '/lib', d)}" +EXTERNAL_TOOLCHAIN_DYN_LINKER_PATH:arm ?= " -Wl,--dynamic-linker=${EXTERNAL_TOOLCHAIN_LIBDIR}/ld-linux-armhf.so.3" +EXTERNAL_TOOLCHAIN_DYN_LINKER_PATH:aarch64 ?= " -Wl,--dynamic-linker=${EXTERNAL_TOOLCHAIN_LIBDIR}/ld-linux-aarch64.so.1" +TARGET_LDFLAGS:append:class-target = "${EXTERNAL_TOOLCHAIN_DYN_LINKER_PATH}" + EAT_LIBDIR:arm = "lib" EAT_LIBDIR:aarch64 = "lib64" From patchwork Fri Oct 25 16:50:01 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Romain Naour X-Patchwork-Id: 51314 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 095BED149CD for ; Fri, 25 Oct 2024 16:50:22 +0000 (UTC) Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.52]) by mx.groups.io with SMTP id smtpd.web10.380.1729875011921504795 for ; Fri, 25 Oct 2024 09:50:12 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@smile.fr header.s=google header.b=pqnVgT4h; spf=pass (domain: smile.fr, ip: 209.85.221.52, mailfrom: romain.naour@smile.fr) Received: by mail-wr1-f52.google.com with SMTP id ffacd0b85a97d-37ec4e349f4so1606174f8f.0 for ; Fri, 25 Oct 2024 09:50:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=smile.fr; s=google; t=1729875010; x=1730479810; darn=lists.yoctoproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=QHAo/wF9gGU9cKVjV6b2wlj3lI5GaJV6dbJreVXcrgc=; b=pqnVgT4hFk+L9QvMuBlMz7ykF5FMeQvS6XhyUIUoiXz6GJvXKZKGHWfq5WKZ/n/Msr 7zxDWPZRUR/F9K9M0nX/j+++zsCF3SB0pTHZQSGgJDUtnD/0vz5hQ+Dw6jhrW3/4Omud fmMY5ly2KHbk0Q90oFXEYenKnGtuBKLPInbO8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729875010; x=1730479810; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QHAo/wF9gGU9cKVjV6b2wlj3lI5GaJV6dbJreVXcrgc=; b=qMqGYOxklld+o6MqvCFF+sILmCD8FII+3gePGveoD+OSuSCAJOIGwVkRkOmfvyrLhW j0DNDAO1PCBVa/YWghK8WfIHzj6W7YMefiBcoDsYSTnIp/OEMTWULufjEOve9iWopTTL yK2rrFVr0bm8fRwew9NldhI0xxICRnv1UbbvufBadZUxOkVn8l/O1w3h6He9PwgCAiwg MnA29FEoQuJfrxTlvL6BGxiBae16DVQDHsUX9lt1rcuk6khn3DqCGeWYrJeiHgAmx2OM j2mWgshTYeDacKTKAoMQ0QW04HhXb5tl0MwlUGeVHE0rz6pkt3AkUi/Ru1ue6Np1OEP9 3nrw== X-Gm-Message-State: AOJu0YwXLPqY5WvmstrCw0yGLo/xY40KmM0XV/B2gBbm3eOjLNcjuth4 QFe3Fx1KCD+5h4fjZ9polO+Nq7lfzCxyCl2K3KlH6AfiQU79vAkFOk5DRqIcZ9AHYNaGdmTrGlo 7 X-Google-Smtp-Source: AGHT+IFSbXF0vs0+NovmSlAo65Hy4WxOqt240B5+c3T8nHXbXt90Cnm0JhMM54qI1Sa22ySLgLPPTA== X-Received: by 2002:adf:e0c2:0:b0:37d:940c:7391 with SMTP id ffacd0b85a97d-380611e75b9mr51125f8f.41.1729875010291; Fri, 25 Oct 2024 09:50:10 -0700 (PDT) Received: from P-NTS-Evian.home (2a01cb05949d5800e3ef2d7a4131071f.ipv6.abo.wanadoo.fr. [2a01:cb05:949d:5800:e3ef:2d7a:4131:71f]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-38058b70f25sm1991778f8f.67.2024.10.25.09.50.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 09:50:10 -0700 (PDT) From: Romain Naour To: meta-arm@lists.yoctoproject.org Cc: jon.mason@arm.com, Romain Naour Subject: [PATCH v2 7/8] external-arm-toolchain: rebuild libmvec.so symlink if any Date: Fri, 25 Oct 2024 18:50:01 +0200 Message-ID: <20241025165002.2794821-7-romain.naour@smile.fr> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20241025165002.2794821-1-romain.naour@smile.fr> References: <20241025165002.2794821-1-romain.naour@smile.fr> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 25 Oct 2024 16:50:22 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/6233 On some architectures (namely Aarch64), glibc may provide a libmvec library since glibc 2.22, which programs built with gcc OpenMP support might get linked to. In order for these programs to work on the target, we need to copy this library to the target filesystem. Make sure that libmvec.so symlink is correct with or without usermerge enabled otherwise libmvec.so symlink is broken. For more details on libmvec, see https://sourceware.org/glibc/wiki/libmvec. Signed-off-by: Romain Naour --- .../external-arm-toolchain/external-arm-toolchain.bb | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb index fee0da89..fbb3cbf4 100644 --- a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb +++ b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb @@ -144,6 +144,9 @@ do_install() { ln -sf ../../lib/libnss_compat.so.2 ${D}${libdir}/libnss_compat.so ln -sf ../../lib/libm.so.6 ${D}${libdir}/libm.so ln -sf ../../lib/libc_malloc_debug.so.0 ${D}${libdir}/libc_malloc_debug.so + if [ -f ${D}${base_libdir}/libmvec.so.1 ]; then + ln -sf ../../lib/libmvec.so.1 ${D}${libdir}/libmvec.so + fi # remove potential .so duplicates from base_libdir # for all symlinks created above in libdir @@ -162,6 +165,7 @@ do_install() { rm -f ${D}${base_libdir}/libnss_files.so rm -f ${D}${base_libdir}/libnss_compat.so rm -f ${D}${base_libdir}/libm.so + rm -f ${D}${base_libdir}/libmvec.so # Move these completely to ${libdir} and delete duplicates in ${base_libdir} for lib in asan hwasan atomic gfortran gomp itm lsan sanitizer stdc++ tsan ubsan; do @@ -192,6 +196,9 @@ do_install() { ln -sf libnss_compat.so.2 ${D}${libdir}/libnss_compat.so ln -sf libm.so.6 ${D}${libdir}/libm.so ln -sf libc_malloc_debug.so.0 ${D}${libdir}/libc_malloc_debug.so + if [ -f ${D}${libdir}/libmvec.so.1 ]; then + ln -sf libmvec.so.1 ${D}${libdir}/libmvec.so + fi fi # Besides ld-${EAT_VER_LIBC}.so, other libs can have duplicates like lib*-${EAT_VER_LIBC}.so From patchwork Fri Oct 25 16:50:02 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Romain Naour X-Patchwork-Id: 51315 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 03F0AD149D0 for ; Fri, 25 Oct 2024 16:50:22 +0000 (UTC) Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.52]) by mx.groups.io with SMTP id smtpd.web11.325.1729875012452768047 for ; Fri, 25 Oct 2024 09:50:12 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@smile.fr header.s=google header.b=2KLjUudk; spf=pass (domain: smile.fr, ip: 209.85.221.52, mailfrom: romain.naour@smile.fr) Received: by mail-wr1-f52.google.com with SMTP id ffacd0b85a97d-37d41894a32so1740876f8f.1 for ; Fri, 25 Oct 2024 09:50:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=smile.fr; s=google; t=1729875011; x=1730479811; darn=lists.yoctoproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=rPhqwY0dLwxK7rWHXj51wrm9cpqT2jrOnwObtREonVg=; b=2KLjUudkqzN+gfNLnpVzR4e04kej+s+6Ly7wmnsTQ/InoHgQIxP854vG15Vj17iclQ Ylp8h4Xm0xW5ZjGOLGwqjHxNCqr/I0PUAfDTHJ+ujruakVCeG+kgc/PNgEtL7ppEVqeK uQIbnl5Ah9M037eqtyYKnzZNtnrTgLdQIDRlM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729875011; x=1730479811; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rPhqwY0dLwxK7rWHXj51wrm9cpqT2jrOnwObtREonVg=; b=ACfFL4dkaNl4LPn3OphS+L9ZbuJpfuliToibL6NlfI5CZD/RgXuT9x3cicl+aY+O3x mpU3kbnpaMcss9dtqQl2gZnyk/vi3QmWtQ7Tuz7bOwwxuswa1NMir7nTTy7da/OPzGQb Yvp05WJZRd0qTyYJsh1g/Qkcg9lA2nAROorz/AmSZESl2OioMCKfQImIrSehtg13aWx8 2klpJx196Bo91w/0CUQhXMlQtSk8n+eUgaQbYGlxsIVHG3Iakb4UCaf1K5gVBUH80SeA OQLF37fRr+kJfF77/SBq8ryvsVukb6hX5MvPwj3Yjj9IfKeS3C3EAjPBqBVhK1hc0snR CJkQ== X-Gm-Message-State: AOJu0YzV1nqJc758U4fE/GYr1D1KeDRxvuQDtj82PahslF5jsinxLcl8 OY3hE1ffIRUpLBUG/c/rrwaDcDbhk1ChTWVQ3PTeEPV0AVwAtTmQ90wOvwWEAG2bnwypgnWWGs/ F X-Google-Smtp-Source: AGHT+IExLXInzK8F93YB9fzDzrCUphPUVo+TVvYBX43Z4Hfd84WnH5T8WZ65Khn+KSzvleIyuPL31A== X-Received: by 2002:a5d:524d:0:b0:37d:47eb:b586 with SMTP id ffacd0b85a97d-3803abc5246mr5067968f8f.4.1729875010795; Fri, 25 Oct 2024 09:50:10 -0700 (PDT) Received: from P-NTS-Evian.home (2a01cb05949d5800e3ef2d7a4131071f.ipv6.abo.wanadoo.fr. [2a01:cb05:949d:5800:e3ef:2d7a:4131:71f]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-38058b70f25sm1991778f8f.67.2024.10.25.09.50.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 09:50:10 -0700 (PDT) From: Romain Naour To: meta-arm@lists.yoctoproject.org Cc: jon.mason@arm.com, Romain Naour Subject: [PATCH v2 8/8] CI: test external-arm-toolchain with usrmerge enabled Date: Fri, 25 Oct 2024 18:50:02 +0200 Message-ID: <20241025165002.2794821-8-romain.naour@smile.fr> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20241025165002.2794821-1-romain.naour@smile.fr> References: <20241025165002.2794821-1-romain.naour@smile.fr> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 25 Oct 2024 16:50:22 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/6234 We want to test meta-arm-toolchain layer with usrmerge enabled [1] since it produce some breakage with current external ARM toolchains [2]. Instead of using a custom setting (poky + usrmerge enabled), use the existing poky-altcfg provided by Yocto. poky-altcfg uses systemd as init system and imply usermerge being enabled (new systemd v255 requirement) [3]. Note: It must be a 32bit machine, since there are currently no aarch64 host toolchains for aarch64 (some gitlab runner used by meta-arm are aarch64 host) [4]. [1] https://docs.yoctoproject.org/scarthgap/ref-manual/features.html?highlight=usrmerge#distro-features [2] https://lists.yoctoproject.org/g/meta-arm/message/5557 [3] https://git.openembedded.org/openembedded-core/commit/?id=802e853eeddf16d73db1900546cc5f045d1fb7ed [4] 4bfa191ada5c44baaa1f4b8aabbeb314961c0134 Signed-off-by: Romain Naour --- .gitlab-ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 550dfff5..454e6ae8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -295,7 +295,8 @@ qemuarm-secureboot: TOOLCHAINS: [gcc, clang] TCLIBC: [glibc, musl] TESTING: testimage - - TOOLCHAINS: external-gccarm + - DISTRO: [poky, poky-altcfg] + TOOLCHAINS: external-gccarm TESTING: testimage - KERNEL: linux-yocto-dev TESTING: testimage