This is not a bug, rather to inform that the current solution breaks the MS x64 compiler <= 15.00.30729.01. There is a limit of max 256 levels of nested macros. The Intel compiler v11.1 do not have this limit, neither do gcc.
As there are no functional 64bit gcc for PE targets and the Intel compiler is not fully compatible with NT POSIX, the only current possible choice is the MS compiler to get 64bit binaries. Here is a simple solution to get it working: Preprocess opcodes/i386-dis.c with the Intel compiler. Extract "struct dis386 vex_table" to opcodes/i386-dis_tables.c Apply the following patch: =================================================================== RCS file: /cvs/src/src/opcodes/i386-dis.c,v retrieving revision 1.200 diff -w -b -B -u -p -r1.200 i386-dis.c --- i386-dis.c 15 Sep 2009 17:53:40 -0000 1.200 +++ i386-dis.c 13 Oct 2009 02:17:19 -0000 @@ -6316,7 +6316,9 @@ static const struct dis386 three_byte_ta }, }; - +#if defined(_MSC_VER) && !defined(__INTEL_COMPILER) +#include "i386-dis_tables.c" +#else static const struct dis386 vex_table[][256] = { /* VEX_0F */ { @@ -7192,6 +7194,7 @@ static const struct dis386 vex_table[][2 { "(bad)", { XX } }, }, }; +#endif static const struct dis386 vex_len_table[][2] = { /* VEX_LEN_10_P_1 */ -- Summary: opcodes/i386-dis.c exceeds 256 levels of nested macros Product: binutils Version: 2.21 (HEAD) Status: NEW Severity: normal Priority: P2 Component: admin AssignedTo: drow at sources dot redhat dot com ReportedBy: jerker dot back at gmail dot com CC: bug-binutils at gnu dot org GCC build triplet: x86_64-unknown-interix6.1 GCC host triplet: x86_64-unknown-interix6.1 GCC target triplet: x86_64-unknown-interix6.1 http://sourceware.org/bugzilla/show_bug.cgi?id=10767 ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils