Le 08/08/2025 à 15:54, Ruben Wauters a écrit :
[Vous ne recevez pas souvent de courriers de rubenr...@aol.com. Découvrez pourquoi ceci est important à https://aka.ms/LearnAboutSenderIdentification ] On Thu, 2025-07-31 at 17:40 +0100, Ruben Wauters wrote:On Wed, 2025-07-30 at 08:14 +0200, Christophe Leroy wrote:Le 20/07/2025 à 00:43, Ruben Wauters a écrit :[Vous ne recevez pas souvent de courriers de rubenr...@aol.com. Découvrez pourquoi ceci est important à https://aka.ms/LearnAboutSenderIdentification ] The calculations for operand/opcode/macro numbers are done in an identical manner to the already existing ARRAY_SIZE macro in linux/array_size.h This patch replaces the sizeof calculations with the macro to make the code cleaner and more immediately obvious what it is doing. Signed-off-by: Ruben Wauters <rubenr...@aol.com> --- arch/powerpc/xmon/ppc-opc.c | 16 ++++++----------This file is mostly taken from binutils, refer commit 08d96e0b127e ("powerpc/xmon: Apply binutils changes to upgrade disassembly"). I think your change should be done in binutils then backported to the kernel. The more we diverge from binutils the worse it isWhile this is somewhat reasonable, the header (linux/array_size.h) is linux specific, and is included through kernel.h I can probably see if binutils has a similar header, or if they would accept an equivalent header to make the file equivalent, but I'm unsure if they wouldHello, I have checked the binutils source, and have noticed that binutils already uses the ARRAY_SIZE macro, and this patch actually brings the kernel more in line with the equivalent file in binutils (opcodes/ppc-opc.c)
Ok. Reviewed-by: Christophe Leroy <christophe.le...@csgroup.eu>
As such, I would like to request that the patch be applied as-is. Thank you RubenRubenChristophe1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/arch/powerpc/xmon/ppc-opc.c b/arch/powerpc/xmon/ppc- opc.c index 0774d711453e..de9b4236728c 100644 --- a/arch/powerpc/xmon/ppc-opc.c +++ b/arch/powerpc/xmon/ppc-opc.c @@ -954,8 +954,7 @@ const struct powerpc_operand powerpc_operands[] = { 0xff, 11, NULL, NULL, PPC_OPERAND_SIGNOPT }, }; -const unsigned int num_powerpc_operands = (sizeof (powerpc_operands) - / sizeof (powerpc_operands[0])); +const unsigned int num_powerpc_operands = ARRAY_SIZE(powerpc_operands); /* The functions used to insert and extract complicated operands. */ @@ -6968,9 +6967,8 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"fcfidu.", XRC(63,974,1), XRA_MASK, POWER7|PPCA2, PPCVLE, {FRT, FRB}}, }; -const int powerpc_num_opcodes = - sizeof (powerpc_opcodes) / sizeof (powerpc_opcodes[0]); - +const int powerpc_num_opcodes = ARRAY_SIZE(powerpc_opcodes); + /* The VLE opcode table. The format of this opcode table is the same as the main opcode table. */ @@ -7207,9 +7205,8 @@ const struct powerpc_opcode vle_opcodes[] = { {"se_bl", BD8(58,0,1), BD8_MASK, PPCVLE, 0, {B8}}, }; -const int vle_num_opcodes = - sizeof (vle_opcodes) / sizeof (vle_opcodes[0]); - +const int vle_num_opcodes = ARRAY_SIZE(vle_opcodes); + /* The macro table. This is only used by the assembler. */ /* The expressions of the form (-x ! 31) & (x | 31) have the value 0 @@ -7276,5 +7273,4 @@ const struct powerpc_macro powerpc_macros[] = { {"e_clrlslwi",4, PPCVLE, "e_rlwinm %0,%1,%3,(%2)-(%3),31- (%3)"}, }; -const int powerpc_num_macros = - sizeof (powerpc_macros) / sizeof (powerpc_macros[0]); +const int powerpc_num_macros = ARRAY_SIZE(powerpc_macros); -- 2.49.1