In C/C++ on x86-64, if a switch/case statement is relatively large (more than 3 or 4 entries), a jump table would be generated by LLVM, instead of conditional jump instructions.
In Clang/LLVM, how to export these tables' base, index, and scale information? Program source code is available.
For example, for
jmpq *0x400000(,%rbx,8)
,
How to export the base 0x400000
, the index value which will be compared to the value in %rbx
, and the scale 8
?