From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6806948680239677440 X-Received: by 2002:a1c:bbd7:: with SMTP id l206mr30971937wmf.185.1600680455160; Mon, 21 Sep 2020 02:27:35 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a1c:80d7:: with SMTP id b206ls6249775wmd.1.canary-gmail; Mon, 21 Sep 2020 02:27:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyqXRy/Tq1nRFaAf2aK6i+Mxq0JEH4kOf0LJYca2St6Xn+ftc1wWfXHMz8sYjO4Ie9hRE+5 X-Received: by 2002:a05:600c:245:: with SMTP id 5mr30131120wmj.33.1600680454139; Mon, 21 Sep 2020 02:27:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1600680454; cv=none; d=google.com; s=arc-20160816; b=UDoCo/Mxz38KS4Xl5Zr06tsakg+PdYz1inhPKn6DLFT5eiBfbFtD7SrGEVhZ69gffr LT7SujUFRVWlYSDbX4Y72ZZr017pgLZzvuyTnQSKb0EVzqnnDmF+2dBWzvwdI94UiCoM RTXfa6jVDNlxf2C1U1kw4ELRCrcqYvLS7bTbAr+eiaKpXMCABtONpbQSiHQa4z+7dhVM urjga3xUbgEFFhs5JWCTA4LeIsH+TJ2UwgDLjW/NvGXgh7P9iZeGUS/rfqNtrVAbACLn /H2qNnR97dBKEAJsS+fvXlxjPrrTpLwDJkkeLDddBtfxHlkeCBiCs+LEX301dXmFL+AO 1X+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:content-language:in-reply-to:mime-version :user-agent:date:message-id:references:cc:to:from:subject; bh=bjz4Vq+0bx+y5b5oE4SOpvTtAR63G2Ozse+7bPaysx8=; b=DncZjVNdLyTa+oVQL8+fPvQZ0ndiv4WlIy1pGdN8CNbWXrkBjTvCKVVPH291/WwQf4 AbwCKLqDgYgH+w2AVL2CuyRNmDIcDpSugx+YpLLqJCEPx5qQ4zVI93yfZCZkcrgI6MG3 nEenx3a+6PP+To1j3ioG6PHvW+nI8JXF1JbSOhAz7Z9YLr+h43K9huIZ9AjRuwglORbL LZh/E69iw0E2AFT6zprJrBTFS1a71Fe2raEW3UXegyFeCNR2aq+nHjbKig/j8vw16+s0 tkMI1S+SdYr2DyUIesdnSMjHDrPcWcR4R6l7dso/B8yQrVUTDs5iFMB0l/zCarXu27QT xvpA== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 194.138.37.39 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from lizzard.sbs.de (lizzard.sbs.de. [194.138.37.39]) by gmr-mx.google.com with ESMTPS id w2si218847wrr.5.2020.09.21.02.27.34 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 21 Sep 2020 02:27:34 -0700 (PDT) Received-SPF: pass (google.com: domain of jan.kiszka@siemens.com designates 194.138.37.39 as permitted sender) client-ip=194.138.37.39; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 194.138.37.39 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from mail2.sbs.de (mail2.sbs.de [192.129.41.66]) by lizzard.sbs.de (8.15.2/8.15.2) with ESMTPS id 08L9RXt1002301 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 21 Sep 2020 11:27:33 +0200 Received: from [167.87.4.147] ([167.87.4.147]) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id 08L9RWWp029780; Mon, 21 Sep 2020 11:27:33 +0200 Subject: Re: [PATCH v3 5/6] sdk: Inject sysroot path when calling relocated toolchain From: Jan Kiszka To: isar-users , Baurzhan Ismagulov Cc: Chao Zeng , Le Jin , Christopher Larson References: <53614bba184fb544be69eacd7a90efffa8d319a6.1585394686.git.jan.kiszka@siemens.com> Message-ID: Date: Mon, 21 Sep 2020 11:27:32 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.12.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-TUID: wLg2J6W79axg On 31.08.20 18:32, [ext] Jan Kiszka wrote: > On 14.07.20 22:22, [ext] Jan Kiszka wrote: >> From: Jan Kiszka >> >> This removes the need to specify --sysroot=/path/to/sdkroot when calling >> gcc or ld from the SDK. >> >> Signed-off-by: Jan Kiszka >> --- >> >> Changes in v3: >> - fix ARMv7 >> >> I just had to pull this into another downstream layer today, so I >> thought it would be good to send this update and remember the whole >> series. >> >> meta/classes/image-sdk-extension.bbclass | 8 ++++++++ >> .../sdkchroot/files/gcc-sysroot-wrapper.sh | 16 ++++++++++++++++ >> .../sdkchroot/files/relocate-sdk.sh | 3 +++ >> meta/recipes-devtools/sdkchroot/sdkchroot.bb | 2 ++ >> 4 files changed, 29 insertions(+) >> create mode 100755 meta/recipes-devtools/sdkchroot/files/gcc-sysroot-wrapper.sh >> >> diff --git a/meta/classes/image-sdk-extension.bbclass b/meta/classes/image-sdk-extension.bbclass >> index 6e76b04d..ebc6f342 100644 >> --- a/meta/classes/image-sdk-extension.bbclass >> +++ b/meta/classes/image-sdk-extension.bbclass >> @@ -32,6 +32,14 @@ do_populate_sdk() { >> fi >> done >> >> + # Set up sysroot wrapper >> + for tool_pattern in "gcc-[0-9]*" "g++-[0-9]*" "cpp-[0-9]*" "ld.bfd" "ld.gold"; do >> + for tool in $(find ${SDKCHROOT_DIR}/usr/bin -type f -name "*-linux-gnu*-${tool_pattern}"); do >> + sudo mv "${tool}" "${tool}.bin" >> + sudo ln -sf gcc-sysroot-wrapper.sh ${tool} >> + done >> + done >> + >> # Copy mount_chroot.sh for convenience >> sudo cp ${ISARROOT}/scripts/mount_chroot.sh ${SDKCHROOT_DIR} >> >> diff --git a/meta/recipes-devtools/sdkchroot/files/gcc-sysroot-wrapper.sh b/meta/recipes-devtools/sdkchroot/files/gcc-sysroot-wrapper.sh >> new file mode 100755 >> index 00000000..feead1a1 >> --- /dev/null >> +++ b/meta/recipes-devtools/sdkchroot/files/gcc-sysroot-wrapper.sh >> @@ -0,0 +1,16 @@ >> +#!/bin/sh >> +# >> +# This software is a part of ISAR. >> +# Copyright (c) Siemens AG, 2020 >> +# >> +# SPDX-License-Identifier: MIT >> + >> +GCC_SYSROOT= >> + >> +NEXT_TARGET=$0 >> +until [ "${NEXT_TARGET##*/}" = "gcc-sysroot-wrapper.sh" ]; do >> + TARGET=${NEXT_TARGET} >> + NEXT_TARGET=$(dirname ${TARGET})/$(readlink ${TARGET}) >> +done >> + >> +${TARGET}.bin --sysroot=${GCC_SYSROOT} "$@" >> diff --git a/meta/recipes-devtools/sdkchroot/files/relocate-sdk.sh b/meta/recipes-devtools/sdkchroot/files/relocate-sdk.sh >> index 1c9b02fa..0d1c6330 100755 >> --- a/meta/recipes-devtools/sdkchroot/files/relocate-sdk.sh >> +++ b/meta/recipes-devtools/sdkchroot/files/relocate-sdk.sh >> @@ -38,4 +38,7 @@ for binary in $(find ${sdkroot}/usr/bin ${sdkroot}/usr/sbin ${sdkroot}/usr/lib/g >> fi >> done >> >> +sed -i 's|^GCC_SYSROOT=.*|GCC_SYSROOT="'"${new_sdkroot}"'"|' \ >> + ${sdkroot}/usr/bin/gcc-sysroot-wrapper.sh >> + >> echo "done" >> diff --git a/meta/recipes-devtools/sdkchroot/sdkchroot.bb b/meta/recipes-devtools/sdkchroot/sdkchroot.bb >> index dc765046..bf3f6fb4 100644 >> --- a/meta/recipes-devtools/sdkchroot/sdkchroot.bb >> +++ b/meta/recipes-devtools/sdkchroot/sdkchroot.bb >> @@ -11,6 +11,7 @@ LIC_FILES_CHKSUM = "file://${LAYERDIR_core}/licenses/COPYING.GPLv2;md5=751419260 >> SRC_URI = " \ >> file://configscript.sh \ >> file://relocate-sdk.sh \ >> + file://gcc-sysroot-wrapper.sh \ >> file://README.sdk" >> PV = "0.1" >> >> @@ -54,6 +55,7 @@ sdkchroot_install_files() { >> # Configure root filesystem >> sudo install -m 644 ${WORKDIR}/README.sdk ${S} >> sudo install -m 755 ${WORKDIR}/relocate-sdk.sh ${S} >> + sudo install -m 755 ${WORKDIR}/gcc-sysroot-wrapper.sh ${S}/usr/bin >> sudo install -m 755 ${WORKDIR}/configscript.sh ${S} >> sudo chroot ${S} /configscript.sh ${DISTRO_ARCH} >> } >> > > Ping³ on the whole series. I carrying too many patches downstream for > too long. > Still pending. This is part of several product layers by now, and I only have positive feedback on the usability of the generated SDK so far. Can we move forward? Jan -- Siemens AG, Corporate Technology, CT RDA IOT SES-DE Corporate Competence Center Embedded Linux