[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v7 34/35] Hexagon build infrastructure
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH v7 34/35] Hexagon build infrastructure |
Date: |
Fri, 22 Jan 2021 23:34:38 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 |
On 1/20/21 4:29 AM, Taylor Simpson wrote:
> Add file to default-configs
> Add hexagon to meson.build
> Add hexagon to target/meson.build
> Add target/hexagon/meson.build
> Change scripts/qemu-binfmt-conf.sh
>
> We can build a hexagon-linux-user target and run programs on the Hexagon
> scalar core. With hexagon-linux-clang installed, "make check-tcg" will
> pass.
>
> Signed-off-by: Taylor Simpson <tsimpson@quicinc.com>
> ---
> default-configs/targets/hexagon-linux-user.mak | 1 +
> meson.build | 1 +
> scripts/qemu-binfmt-conf.sh | 6 +-
> target/hexagon/meson.build | 187
> +++++++++++++++++++++++++
> target/meson.build | 1 +
> 5 files changed, 195 insertions(+), 1 deletion(-)
> create mode 100644 default-configs/targets/hexagon-linux-user.mak
> create mode 100644 target/hexagon/meson.build
...
> +++ b/target/hexagon/meson.build
> @@ -0,0 +1,187 @@
> +##
> +## Copyright(c) 2020-2021 Qualcomm Innovation Center, Inc. All Rights
> Reserved.
> +##
> +## This program is free software; you can redistribute it and/or modify
> +## it under the terms of the GNU General Public License as published by
> +## the Free Software Foundation; either version 2 of the License, or
> +## (at your option) any later version.
> +##
> +## This program is distributed in the hope that it will be useful,
> +## but WITHOUT ANY WARRANTY; without even the implied warranty of
> +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> +## GNU General Public License for more details.
> +##
> +## You should have received a copy of the GNU General Public License
> +## along with this program; if not, see <http://www.gnu.org/licenses/>.
> +##
> +
> +hexagon_ss = ss.source_set()
> +
> +prog_python = import('python').find_installation('python3')
> +
> +hex_common_py = 'hex_common.py'
> +attribs_def_h = meson.current_source_dir() / 'attribs_def.h'
> +gen_tcg_h = meson.current_source_dir() / 'gen_tcg.h'
> +
> +#
> +# Step 1
> +# We use a C program to create semantics_generated.pyinc
> +#
> +gen_semantics = executable('gen_semantics', 'gen_semantics.c')
> +
> +semantics = custom_target(
> + 'semantics_generated.pyinc',
> + output: 'semantics_generated.pyinc',
> + input: gen_semantics,
> + command: ['@INPUT@', '@OUTPUT@'],
> +)
> +hexagon_ss.add(semantics)
Is something missing here?
$ make -j8
[316/1048] Generating semantics_generated.pyinc with a custom command
FAILED: target/hexagon/semantics_generated.pyinc
target/hexagon/gen_semantics target/hexagon/semantics_generated.pyinc
/bin/sh: 1: target/hexagon/gen_semantics: not found
ninja: build stopped: subcommand failed.
$ make target/hexagon/semantics_generated.pyinc V=1
/usr/bin/ninja -v -j1 target/hexagon/semantics_generated.pyinc | cat
[1/1] target/hexagon/gen_semantics target/hexagon/semantics_generated.pyinc
FAILED: target/hexagon/semantics_generated.pyinc
target/hexagon/gen_semantics target/hexagon/semantics_generated.pyinc
/bin/sh: 1: target/hexagon/gen_semantics: not found
ninja: build stopped: subcommand failed.
make: *** [Makefile:172: run-ninja] Error 1
OK, I'm cross-compiling, target/hexagon/gen_semantics has been generated
but with as target, and we want it linked for the host...
Cc'ing Paolo in case he figures the issue simply looking at this patch
:)
Phil.
[PATCH v7 05/35] Hexagon (disas) disassembler, Taylor Simpson, 2021/01/19
[PATCH v7 35/35] Add Dockerfile for hexagon, Taylor Simpson, 2021/01/19
[PATCH v7 08/35] Hexagon (target/hexagon) GDB Stub, Taylor Simpson, 2021/01/19
[PATCH v7 14/35] Hexagon (target/hexagon) instruction printing, Taylor Simpson, 2021/01/19