From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6806948680239677440 X-Received: by 2002:adf:a48d:: with SMTP id g13mr5478992wrb.38.1584867356304; Sun, 22 Mar 2020 01:55:56 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:600c:2250:: with SMTP id a16ls949400wmm.3.canary-gmail; Sun, 22 Mar 2020 01:55:55 -0700 (PDT) X-Google-Smtp-Source: ADFU+vtia5ILfUm9JwIKOnPXjl1HINiq3BmmZ+6rcbX3YByxFqQdY8uNlvjp3udN4DtIzILWMFWt X-Received: by 2002:a1c:9693:: with SMTP id y141mr19977455wmd.23.1584867355603; Sun, 22 Mar 2020 01:55:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1584867355; cv=none; d=google.com; s=arc-20160816; b=nl6f4Zwr3wYZglu7PYVQKj2zia+78GLASrd/LVDNAA/euPj33idqdypJZj9Z3UNiEq isS57dIH6pUwhFoyBb+fr2CMiekP+YoI+R0XmHb/vSOYIFVuCUm3SyONGIxJE6eiKhIA 6oFYQKcZTFK1eSg+JLNiouX937IBIPGpiAiwPHigW/1jMGhC8elqmaJNn6PeZeRDWgyq p7/nReRSjpdjsCY6ttNGO+gzGNeFo58cNJ1hY05NusqbtbTRUhZXnNV4BxemD4FT6f4Y Hmjh3e/Yi+9hYunaSrLEllAuGOMkGo3pZSr8Bl9h5Ujkg63bEyrTKOMNkTWYGIzlJKUy Z3EA== 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=eG8K1hNhUxgZQFGYgmrBRgZWHGLtYQd8a/VoWS30V5Y=; b=SfTFdVxH3YvN2a2jUA8bnQQ1dq4aCrvdpEflk33O2S/oLThDWn3TyOnGqyNn6he06w kz8uUKRT6x5HBO/YEkXg0PGzHbqy4NAkHUr/goAl03HVknlIxNz6rjIwiVjXcuKDzs53 8ghk80Rc9l/JS0TdvAgfK0M/u9792Fsb7mJpPv270pf8gFDi803sMvf+9vXOozDZ8RRN UCOr818cFfNzXQZfIuTkNbxpBx/3Oq1g+O1dsSofV4/KIUsro0Vac3V/TyvP+ejbpQ4b wfagPdPHrKWyfdOmRkH9T3xG3KDbUhvbiaSNGST1lLlzy5AW1o5YOn36zaP9RyZ2+MGR 7saw== 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 d16si528757wrv.4.2020.03.22.01.55.55 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 22 Mar 2020 01:55:55 -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 02M8ttfd012437 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Sun, 22 Mar 2020 09:55:55 +0100 Received: from [139.22.34.6] ([139.22.34.6]) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id 02M8tsPW009691; Sun, 22 Mar 2020 09:55:55 +0100 Subject: [PATCH v2 5/6] sdk: Inject sysroot path when calling relocated toolchain From: Jan Kiszka To: isar-users Cc: Chao Zeng , Le Jin References: Message-ID: <9069f17d-b9dc-7116-ad7a-084301fa1efc@siemens.com> Date: Sun, 22 Mar 2020 09:55:54 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-TUID: 1+4I8UvcHgQf 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 v2: - include forgotten gcc-sysroot-wrapper.sh meta/classes/image-sdk-extension.bbclass | 8 ++++++++ .../sdkchroot/files/gcc-sysroot-wrapper.sh | 16 ++++++++++++++++ meta/recipes-devtools/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..aed8408c 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 98827139..6be8d82f 100755 --- a/meta/recipes-devtools/sdkchroot/files/relocate-sdk.sh +++ b/meta/recipes-devtools/sdkchroot/files/relocate-sdk.sh @@ -26,4 +26,7 @@ for binary in $(find ${sdkroot}/usr/bin ${sdkroot}/usr/sbin ${sdkroot}/usr/lib/g fi done +sed -i 's|^GCC_SYSROOT=.*|GCC_SYSROOT="'"${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} } -- 2.16.4