STARs/ida82 erroneous reporting of switch table.
Bug from this executable: a.ncexe When using a clean build with ida 8.2: https://git.zephyr-software.com/allzp/idapro82sp1py3 and https://git.zephyr-software.com/allzp/idapro82_sdk
Stars reports, in a.ncexe.STARSxref:
62a 6 INSTR XREF IBT FROMIB 510 SWITCHTABLE
510 6 INSTR XREF FROMIB COMPLETE 1 SWITCHTABLE
However, 0x510 is in the PLT table:
0x500: pushq 0x200b02(%rip) # 0x201008
0x506: jmpq *0x200b04(%rip) # 0x201010
0x50c: nopl 0x0(%rax)
0x510 <fib2@plt>: jmpq *0x200b02(%rip) # 0x201018
0x516 <fib2@plt+6>: pushq $0x0
0x51b <fib2@plt+11>: jmpq 0x500
0x520 <fib2p@plt>: jmpq *0x200afa(%rip) # 0x201020
0x526 <fib2p@plt+6>: pushq $0x1
0x52b <fib2p@plt+11>: jmpq 0x500
0x530 <fib_main@plt>: jmpq *0x200af2(%rip) # 0x201028
0x536 <fib_main@plt+6>: pushq $0x2
0x53b <fib_main@plt+11>: jmpq 0x500
Bug happens only from SMP-analyze.sh ($SMPSA_HOME/SMP-analyze.sh a.ncexe
). If I run stars/ida interactively ($IDAROOT/idat64 a.ncexe), i get a proper a.ncexe.STARSxref file:
62a 0 INSTR XREF IBT FROMDATA 308
510 6 INSTR XREF TAKES_ADDRESS_OF DATA 201018
This was done with a clean build/checkout of STARS as built from Zipr Toolchain.
Charge to AIS/purchase orders.