gdb syscall tables represent Solaris 11, and not illumos
GDB has system call table knowledge, the tables currently patched in are those of Solaris 11 (or perhaps 11.1) presumably from an Oracle upstream.
They are wrong for illumos, they should be the illumos values as from sys/syscall.h
Notably, open(2) and friends are missing, where Oracle removed them. I would not be surprised if there were other problems where code was taken from upstream unwarily, amid the 200,000 lines of patches.
It might be an easier long-term fix to update GDB from the Oracle userland tree's version of GDB 8, and this time explicitly pay attention to checking the changes in the patches are correct for illumos.