From: YiFei Zhu > Sent: 24 September 2020 13:44 > > Seccomp cache emulator needs to know all the architecture numbers > that syscall_get_arch() could return for the kernel build in order > to generate a cache for all of them. > > The array is declared in header as static __maybe_unused const > to maximize compiler optimiation opportunities such as loop > unrolling. I doubt the compiler will do what you want. Looking at it, in most cases there are one or two entries. I think only MIPS has three. So a static inline function that contains a list of conditionals will generate better code that any kind of array lookup. For x86-64 you end up with something like: #ifdef CONFIG_IA32_EMULATION if (sd->arch == AUDIT_ARCH_I386) return xxx; #endif return yyy; Probably saves you having multiple arrays that need to be kept carefully in step. David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)