perf tests x86: Move insn.h include to make sure it finds stddef.h
authorArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 4 Mar 2021 12:51:52 +0000 (09:51 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Sat, 6 Mar 2021 19:54:32 +0000 (16:54 -0300)
commitc1f272df510c6b1db68ca6597724d17b557d1407
tree11cfab4d9e04752006c44663bf53c5c785be5952
parent7d9d4c6edba93cd96899affe2fc60c3341df152c
perf tests x86: Move insn.h include to make sure it finds stddef.h

In some versions of alpine Linux the perf build is broken since commit
1d509f2a6ebca1ae ("x86/insn: Support big endian cross-compiles"):

  In file included from /usr/include/linux/byteorder/little_endian.h:13,
                   from /usr/include/asm/byteorder.h:5,
                   from arch/x86/util/../../../../arch/x86/include/asm/insn.h:10,
                   from arch/x86/util/archinsn.c:2:
  /usr/include/linux/swab.h:161:8: error: unknown type name '__always_inline'
   static __always_inline __u16 __swab16p(const __u16 *p)

So move the inclusion of arch/x86/include/asm/insn.h to later in the
places where linux/stddef.h (that conditionally defines
__always_inline) to workaround this problem on Alpine Linux 3.9 to 3.11,
3.12 onwards works.

Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/arch/x86/tests/insn-x86.c
tools/perf/arch/x86/util/archinsn.c