From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6806948680239677440 X-Received: by 2002:a1c:a385:: with SMTP id m127mr152585wme.189.1598891545748; Mon, 31 Aug 2020 09:32:25 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a1c:a58a:: with SMTP id o132ls58582wme.3.gmail; Mon, 31 Aug 2020 09:32:25 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyQc8HV4O1/yZLHOWHS/ebrBNHDs0qMNnxapXKMfpw9ArBh3LwLGzV+uAZmY/EaGQKQovMp X-Received: by 2002:a1c:3284:: with SMTP id y126mr188619wmy.146.1598891544968; Mon, 31 Aug 2020 09:32:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1598891544; cv=none; d=google.com; s=arc-20160816; b=Ta9o0hlCr5PFDq/LjLElQQlZGd3TWHJIHOlQpgLl4ldzxQhEBV/O7rKH1F3i6Oa8vR jtXVyyaNsnRDu71AKAfejba4GDHnaWRv0IezN8oauKhWI58yodVbn59aJkzkvXfcpbtm a2jmzNSWDaNC5SlnY/+xLN9EUzjSbzmNduci7f4MmZDx9ACX/c48kkTnC/uvR1LV6xi7 xrYMtlz0PRerOleuRJxZGQa4Wbmqppg3UPkFzI7AQTuNj5m/n6qadwMzGsgw6cl+Q13k r+Y/t6U5f6lmS2gnvAhwvtJ/nI3o24NzlQa7pXwAxIPDmsFHfFUOW1ZSGricdavVDNf5 93yw== 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=83EdcBcmt3fmhksSCNZRhTJ0Q/4VLWpt78Nb+4VnPYE=; b=cWb1qQaty692AcevD8IWs476sA9Dpu/WkksAdbM9PPmOkP+FKGJvY2uWbDOLvfr78k sgCkL4rv8EhGnmUiJxhEGaeZxhO1vIOb6z8boULZ/F2JcWi5F2dA8JSi/IWNlasLqUP+ /JkJzYXmnZcMw/MmMhsrKPk1jh4kXXiAhnng1d79RFFgIb+eOwqOWXaZUbpoyZRq2AtQ rTAx2VARhw7P6r+P7xOPDGjZGFX1iGrDnCqxD4n51WeQjiobDvH50q0lQpjSye+wc/Ja MeGsmYTb90wdoCykIHRdRi3A7zWBGI4D3lC+MfeCNhQC2668t4d9+OrFyh2ZC1ItgrFY Qp7g== 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 w2si93306wrr.5.2020.08.31.09.32.24 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 31 Aug 2020 09:32:24 -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 07VGWOsO017970 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 31 Aug 2020 18:32:24 +0200 Received: from [167.87.39.104] ([167.87.39.104]) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id 07VGWNSV014502; Mon, 31 Aug 2020 18:32:23 +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, 31 Aug 2020 18:32:23 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit X-TUID: aNVL97KNOmXa 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. Jan -- Siemens AG, Corporate Technology, CT RDA IOT SES-DE Corporate Competence Center Embedded Linux