capstone-engine / capstone

Capstone disassembly/disassembler framework for ARM, ARM64 (ARMv8), Alpha, BPF, Ethereum VM, HPPA, LoongArch, M68K, M680X, Mips, MOS65XX, PPC, RISC-V(rv32G/rv64G), SH, Sparc, SystemZ, TMS320C64X, TriCore, Webassembly, XCore and X86.
http://www.capstone-engine.org
7.64k stars 1.56k forks source link

Capstone v5 compile issues #2364

Open trile127 opened 6 months ago

trile127 commented 6 months ago

Work environment

Questions Answers
OS/arch/bits Ubuntu 22.04 64 Bit
Architecture x86_64
Source of Capstone git clone,
Version/git commit v5 , 3f87ce0f6a665abb2675adada507362985bb46a4

Expected behavior

Compiling should work without errors

Actual behavior

CAPSTONE_X86_REDUCE=yes CAPSTONE_ARCHS="x86" ./make.sh
  CC      cs.o
  CC      SStream.o
  CC      utils.o
  CC      MCInstrDesc.o
  CC      MCRegisterInfo.o
  CC      MCInst.o
  CC      Mapping.o
  CC      arch/X86/X86DisassemblerDecoder.o
  CC      arch/X86/X86Disassembler.o
  CC      arch/X86/X86InstPrinterCommon.o
  CC      arch/X86/X86IntelInstPrinter.o
  CC      arch/X86/X86ATTInstPrinter.o
arch/X86/X86ATTInstPrinter.c: In function ‘printanymem’:
arch/X86/X86ATTInstPrinter.c:804:22: error: ‘X86_BNDCL32rm’ undeclared (first use in this function); did you mean ‘X86_BLCS32rm’?
  804 |                 case X86_BNDCL32rm:
      |                      ^~~~~~~~~~~~~
      |                      X86_BLCS32rm
arch/X86/X86ATTInstPrinter.c:804:22: note: each undeclared identifier is reported only once for each function it appears in
arch/X86/X86ATTInstPrinter.c:805:22: error: ‘X86_BNDCN32rm’ undeclared (first use in this function); did you mean ‘X86_ANDN32rm’?
  805 |                 case X86_BNDCN32rm:
      |                      ^~~~~~~~~~~~~
      |                      X86_ANDN32rm
arch/X86/X86ATTInstPrinter.c:806:22: error: ‘X86_BNDCU32rm’ undeclared (first use in this function); did you mean ‘X86_BLCS32rm’?
  806 |                 case X86_BNDCU32rm:
      |                      ^~~~~~~~~~~~~
      |                      X86_BLCS32rm
arch/X86/X86IntelInstPrinter.c: In function ‘printanymem’:
arch/X86/X86IntelInstPrinter.c:1038:22: error: ‘X86_BNDCL32rm’ undeclared (first use in this function); did you mean ‘X86_BLCS32rm’?
 1038 |                 case X86_BNDCL32rm:
      |                      ^~~~~~~~~~~~~
      |                      X86_BLCS32rm
arch/X86/X86IntelInstPrinter.c:1038:22: note: each undeclared identifier is reported only once for each function it appears in
arch/X86/X86ATTInstPrinter.c:807:22: error: ‘X86_BNDSTXmr’ undeclared (first use in this function); did you mean ‘X86_TEST8mr’?
  807 |                 case X86_BNDSTXmr:
      |                      ^~~~~~~~~~~~
      |                      X86_TEST8mr
arch/X86/X86IntelInstPrinter.c:1039:22: error: ‘X86_BNDCN32rm’ undeclared (first use in this function); did you mean ‘X86_ANDN32rm’?
 1039 |                 case X86_BNDCN32rm:
      |                      ^~~~~~~~~~~~~
      |                      X86_ANDN32rm
arch/X86/X86ATTInstPrinter.c:808:22: error: ‘X86_BNDLDXrm’ undeclared (first use in this function); did you mean ‘X86_XADD8rm’?
  808 |                 case X86_BNDLDXrm:
      |                      ^~~~~~~~~~~~
      |                      X86_XADD8rm
arch/X86/X86ATTInstPrinter.c:809:22: error: ‘X86_BNDCL64rm’ undeclared (first use in this function); did you mean ‘X86_BLCS64rm’?
  809 |                 case X86_BNDCL64rm:
      |                      ^~~~~~~~~~~~~
      |                      X86_BLCS64rm
arch/X86/X86IntelInstPrinter.c:1040:22: error: ‘X86_BNDCU32rm’ undeclared (first use in this function); did you mean ‘X86_BLCS32rm’?
 1040 |                 case X86_BNDCU32rm:
      |                      ^~~~~~~~~~~~~
      |                      X86_BLCS32rm
arch/X86/X86IntelInstPrinter.c:1041:22: error: ‘X86_BNDSTXmr’ undeclared (first use in this function); did you mean ‘X86_TEST8mr’?
 1041 |                 case X86_BNDSTXmr:
      |                      ^~~~~~~~~~~~
      |                      X86_TEST8mr
arch/X86/X86ATTInstPrinter.c:810:22: error: ‘X86_BNDCN64rm’ undeclared (first use in this function); did you mean ‘X86_ANDN64rm’?
  810 |                 case X86_BNDCN64rm:
      |                      ^~~~~~~~~~~~~
      |                      X86_ANDN64rm
arch/X86/X86ATTInstPrinter.c:811:22: error: ‘X86_BNDCU64rm’ undeclared (first use in this function); did you mean ‘X86_BLCS64rm’?
  811 |                 case X86_BNDCU64rm:
      |                      ^~~~~~~~~~~~~
      |                      X86_BLCS64rm
arch/X86/X86IntelInstPrinter.c:1042:22: error: ‘X86_BNDLDXrm’ undeclared (first use in this function); did you mean ‘X86_XADD8rm’?
 1042 |                 case X86_BNDLDXrm:
      |                      ^~~~~~~~~~~~
      |                      X86_XADD8rm
  CC      arch/X86/X86Mapping.o
arch/X86/X86IntelInstPrinter.c:1043:22: error: ‘X86_BNDCL64rm’ undeclared (first use in this function); did you mean ‘X86_BLCS64rm’?
 1043 |                 case X86_BNDCL64rm:
      |                      ^~~~~~~~~~~~~
      |                      X86_BLCS64rm
make: *** [Makefile:590: arch/X86/X86ATTInstPrinter.o] Error 1
make: *** Waiting for unfinished jobs....
arch/X86/X86IntelInstPrinter.c:1044:22: error: ‘X86_BNDCN64rm’ undeclared (first use in this function); did you mean ‘X86_ANDN64rm’?
 1044 |                 case X86_BNDCN64rm:
      |                      ^~~~~~~~~~~~~
      |                      X86_ANDN64rm
arch/X86/X86IntelInstPrinter.c:1045:22: error: ‘X86_BNDCU64rm’ undeclared (first use in this function); did you mean ‘X86_BLCS64rm’?
 1045 |                 case X86_BNDCU64rm:
      |                      ^~~~~~~~~~~~~
      |                      X86_BLCS64rm

Steps to reproduce the behavior

cd capstone
CAPSTONE_X86_REDUCE=yes CAPSTONE_ARCHS="x86" ./make.sh
trile127 commented 6 months ago

This issue has been fixed before in the 'next' branch.

https://github.com/capstone-engine/capstone/issues/1955