Hi Taylor, On 9/28/20 7:28 PM, Taylor Simpson wrote: > This series adds support for the Hexagon processor with Linux user support > > See patch 02/34 Hexagon README for detailed information. > > Once the series is applied, the Hexagon port will pass "make check-tcg". > The series also includes Hexagon-specific tests in tcg/tests/hexagon. > > The series is also available at https://github.com/quic/qemu on branch > small_series_v4. > > We have a parallel effort to make the Hexagon Linux toolchain publically > available. > > *** Known checkpatch issues *** > > The following are known checkpatch errors in the series > target/hexagon/reg_fields.h Complex macro > target/hexagon/attribs.h Complex macro > target/hexagon/decode.c Complex macro > target/hexagon/q6v_decode.c Macro needs do - while > target/hexagon/printinsn.c Macro needs do - while > target/hexagon/gen_semantics.c Suspicious ; after while (0) > target/hexagon/gen_dectree_import.c Complex macro > target/hexagon/gen_dectree_import.c Suspicious ; after while (0) > target/hexagon/opcodes.c Complex macro > target/hexagon/iclass.h Complex macro > configure.sh Line over 90 characters > scripts/qemu-binfmt-conf.sh Line over 90 characters > > The following are known checkpatch warnings in the series > target/hexagon/fma_emu.c Comments inside macro definition > target/hexagon/gen_tcg_funcs.py Line over 80 characters > scripts/qemu-binfmt-conf.sh Line over 80 characters
Using '../configure' '--target-list=hexagon-linux-user' '--disable-docs' '--disable-tools' on Fedora 32 I am getting: In file included from target/hexagon/op_helper.c:24: target/hexagon/helper_funcs_generated.h: In function ‘helper_S2_vspliceib’: target/hexagon/helper_funcs_generated.h:9669:50: error: ‘*’ in boolean context, suggest ‘&&’ instead [-Werror=int-in-bool-context] 9669 | { RddV = fASHIFTL(RttV,uiV*8,8_8) | fZXTN(uiV*8,64,RssV); } target/hexagon/macros.h:234:28: note: in definition of macro ‘fZXTN’ 234 | #define fZXTN(N, M, VAL) ((N) ? extract64((VAL), 0, (N)) : 0LL) | ^ target/hexagon/helper_funcs_generated.h: In function ‘helper_S2_vsplicerb’: target/hexagon/helper_funcs_generated.h:9677:58: error: ‘*’ in boolean context, suggest ‘&&’ instead [-Werror=int-in-bool-context] 9677 | { RddV = fASHIFTL(RttV,(PuV&7)*8,8_8) | fZXTN((PuV&7)*8,64,RssV); } target/hexagon/macros.h:234:28: note: in definition of macro ‘fZXTN’ 234 | #define fZXTN(N, M, VAL) ((N) ? extract64((VAL), 0, (N)) : 0LL) | ^ cc1: all warnings being treated as errors make: *** [Makefile.ninja:633: libqemu-hexagon-linux-user.fa.p/target_hexagon_op_helper.c.o] Error 1 target/hexagon/decode.c:45:31: error: ‘DECODE_REGISTER_V__16’ defined but not used [-Werror=unused-const-variable=] 45 | static const unsigned int DECODE_REGISTER_##NAME[ELEMENTS] = \ | ^~~~~~~~~~~~~~~~ target/hexagon/decode.c:55:1: note: in expansion of macro ‘DEF_REGMAP’ 55 | DEF_REGMAP(V__16, 16, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30) | ^~~~~~~~~~ target/hexagon/decode.c:45:31: error: ‘DECODE_REGISTER_V__8’ defined but not used [-Werror=unused-const-variable=] 45 | static const unsigned int DECODE_REGISTER_##NAME[ELEMENTS] = \ | ^~~~~~~~~~~~~~~~ target/hexagon/decode.c:54:1: note: in expansion of macro ‘DEF_REGMAP’ 54 | DEF_REGMAP(V__8, 8, 0, 4, 8, 12, 16, 20, 24, 28) | ^~~~~~~~~~ target/hexagon/decode.c:45:31: error: ‘DECODE_REGISTER_R_8’ defined but not used [-Werror=unused-const-variable=] 45 | static const unsigned int DECODE_REGISTER_##NAME[ELEMENTS] = \ | ^~~~~~~~~~~~~~~~ target/hexagon/decode.c:53:1: note: in expansion of macro ‘DEF_REGMAP’ 53 | DEF_REGMAP(R_8, 8, 0, 1, 2, 3, 4, 5, 6, 7) | ^~~~~~~~~~ target/hexagon/decode.c:45:31: error: ‘DECODE_REGISTER_R_8S’ defined but not used [-Werror=unused-const-variable=] 45 | static const unsigned int DECODE_REGISTER_##NAME[ELEMENTS] = \ | ^~~~~~~~~~~~~~~~ target/hexagon/decode.c:52:1: note: in expansion of macro ‘DEF_REGMAP’ 52 | DEF_REGMAP(R_8S, 8, 0, 1, 2, 3, 16, 17, 18, 19) | ^~~~~~~~~~ target/hexagon/decode.c:45:31: error: ‘DECODE_REGISTER_R_4’ defined but not used [-Werror=unused-const-variable=] 45 | static const unsigned int DECODE_REGISTER_##NAME[ELEMENTS] = \ | ^~~~~~~~~~~~~~~~ target/hexagon/decode.c:51:1: note: in expansion of macro ‘DEF_REGMAP’ 51 | DEF_REGMAP(R_4, 4, 0, 1, 2, 3) | ^~~~~~~~~~ target/hexagon/decode.c:45:31: error: ‘DECODE_REGISTER_R__4’ defined but not used [-Werror=unused-const-variable=] 45 | static const unsigned int DECODE_REGISTER_##NAME[ELEMENTS] = \ | ^~~~~~~~~~~~~~~~ target/hexagon/decode.c:50:1: note: in expansion of macro ‘DEF_REGMAP’ 50 | DEF_REGMAP(R__4, 4, 0, 2, 4, 6) | ^~~~~~~~~~ cc1: all warnings being treated as errors make: *** [Makefile.ninja:638: libqemu-hexagon-linux-user.fa.p/target_hexagon_decode.c.o] Error 1 $ gcc --version gcc (GCC) 10.2.1 20200723 (Red Hat 10.2.1-1) Regards, Phil.