#!/usr/bin/env bash # # Copyright (c) 2022 Arm Limited. # # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the License); you may # not use this file except in compliance with the License. # You may obtain a copy of the License at # # www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an AS IS BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # set -o errexit set -o pipefail set -o errtrace DEST=$1 GCDA_DIR=/sys/kernel/debug/gcov TMP_DIR= usage() { echo "Usage: $0 " >&2 exit 1 } cleanup() { if [ -d "${TMP_DIR}" ] then rm -rf "${TMP_DIR}" fi } trap cleanup EXIT if [ -z "${DEST}" ] then usage fi # Find kernel directory readarray -t DRIVER_GCDA < <(find ${GCDA_DIR} -path '*/kernel/ethosu_driver.gcda') if [ ${#DRIVER_GCDA[*]} -le 0 ] then echo "Error: Could not find Ethos-U kernel directory" exit 1 fi LDS_DIR=$(dirname "$(dirname "${DRIVER_GCDA[0]}")") DEST=$(realpath "${DEST}") TMP_DIR=$(mktemp -d) # Copy gcda objects to temporary directory cd "${LDS_DIR}" find . -name "*.gcda" -exec cp --parent {} "${TMP_DIR}" \; # Create tar.gz archive cd "${TMP_DIR}" find . -type f -print0 | xargs -0 tar -zcvf "${DEST}"