intelxed / xed

The X86 Encoder Decoder (XED), is a software library for encoding and decoding X86 (IA32 and Intel64) instructions
https://intelxed.github.io/
Apache License 2.0
1.38k stars 145 forks source link

master fails to build with --enc2 --no-amd options #240

Closed kstauffer closed 3 weeks ago

kstauffer commented 3 years ago

Using WSL on Windows 10, I cloned fresh copies of mbuild and xed today, and the build failed. Command:

./mfile.py --compiler=gnu --enc2 --no-amd --shared doc-build examples install

Error message:

[MBUILD WARNING] Command execution failed. Waiting for remaining jobs and exiting.
R: 3 P: 1 C: 1 E: 1 / 364 msecs
[COMMAND     ] gcc -I../include/private -I../include/public/xed -I../include/public -Iobj -Iobj/include-private       -fPIC -m64  -std=c99  -pedantic  -Wall -Wformat-security -Wunused -Werror -Wno-long-long -Wno-unknown-pragmas -fmessage-length=0 -pipe -fomit-frame-pointer -fno-exceptions -fvisibility=hidden -Wstrict-prototypes -Wwrite-strings -Wredundant-decls -DXED_GIT_VERSION="11.0.1" -DXED_DLL -DXED_VIA_ENABLED -DXED_AVX -DXED_SUPPORTS_AVX512 -DXED_MPX -DXED_CET -DXED_SUPPORTS_SHA -DXED_SUPPORTS_WBNOINVD -DXED_DECODER -DXED_ENCODER -DXED_ENC2_ENCODER -DXED_SUPPORTS_LZCNT_TZCNT -DXED_BUILD -c -o obj/xed3-phash-lu-vv3.o /home/ksstauf/xed/build/obj/xed3-phash-lu-vv3.c
[EXIT_STATUS ] 1
[STDERR]
In file included from /home/ksstauf/xed/build/obj/xed3-phash-lu-vv3.c:24:
obj/include-private/xed3-phash-vv3.h: In function ‘xed3_phash_find_mapXMAP9_opcode0x1_vv3’:
obj/include-private/xed3-phash-vv3.h:697:7: error: implicit declaration of function ‘xed_dec_lu_MOD3_MODE_REG_VEX_PREFIX_VL’; did you mean ‘xed_dec_lu_MOD3_MODE_REXW_VEX_PREFIX_VL’? [-Werror=implicit-function-declaration]
  697 | key = xed_dec_lu_MOD3_MODE_REG_VEX_PREFIX_VL(d);
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |       xed_dec_lu_MOD3_MODE_REXW_VEX_PREFIX_VL
obj/include-private/xed3-phash-vv3.h: In function ‘xed3_phash_find_mapXMAPA_opcode0x10_vv3’:
obj/include-private/xed3-phash-vv3.h:1360:7: error: implicit declaration of function ‘xed_dec_lu_MOD3_MODE_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL’; did you mean ‘xed_dec_lu_MOD3_REG_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL’? [-Werror=implicit-function-declaration]
 1360 | key = xed_dec_lu_MOD3_MODE_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |       xed_dec_lu_MOD3_REG_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL
cc1: all warnings being treated as errors
markcharney commented 3 years ago

thx for reporting this. i will take a look

markcharney commented 3 years ago

I just did a big push of 181 commits. I tried your build (using win10, MSVS, not WSL) but I get a different error (based on MSVS compiler, some unused formal parameters). I'll fix that shortly.

markcharney commented 3 years ago

I don't have WSL installed, but I compile on ubuntu all the time w/gcc. Please update and try again. Let me know if you continue to have issues.

marjevan commented 3 weeks ago

A fix is available in External Release v2024.05.20