> -----Original Message----- > From: Philippe Mathieu-Daudé <philippe.mathieu.da...@gmail.com> On > Behalf Of Philippe Mathieu-Daudé > Sent: Friday, January 22, 2021 4:42 PM > To: Taylor Simpson <tsimp...@quicinc.com>; qemu-devel@nongnu.org; > Paolo Bonzini <pbonz...@redhat.com> > Cc: a...@rev.ng; alex.ben...@linaro.org; richard.hender...@linaro.org; > laur...@vivier.eu; Brian Cain <bc...@quicinc.com> > Subject: Re: [PATCH v7 34/35] Hexagon build infrastructure > > On 1/22/21 11:34 PM, Philippe Mathieu-Daudé wrote: > > 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 <tsimp...@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 > >> +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... > > So I compiled it manually using: > > $ gcc -o target/hexagon/gen_semantics > ~/source/qemu/target/hexagon/gen_semantics.c > > Then same story: > > [14/68] Generating iset.py with a custom command > FAILED: target/hexagon/iset.py > target/hexagon/gen_dectree_import target/hexagon/iset.py > /bin/sh: 1: target/hexagon/gen_dectree_import: not found > ninja: build stopped: subcommand failed. > > $ gcc -o target/hexagon/gen_dectree_import > ~/source/qemu/target/hexagon/gen_dectree_import.c > target/hexagon/gen_dectree_import.c:24:10: fatal error: qemu/osdep.h: No > such file or directory > #include "qemu/osdep.h" > ^~~~~~~~~~~~~~
I'm able to reproduce and fix these problems by building with debian-armel-cross. The solution is - Add "native: true" to the executable functions - Don't include "qemu/osdep.h", use the std header files instead. I also see the 32-bit printf formatting errors you mentioned in this build. These fixes will be included in the next iteration of the series. > BTW you should test your branch on gitlab-ci, I'm pretty sure > various jobs fail. I'll look into that as well. Thanks, Taylor