Hi,
I don't understand why do you add a gdbarch hook, but use it only in a
target-specific part? The goal of gdbarch hooks is about hiding the
difference of ports and giving a common interface to the common part of
GDB. If your issue is arm specific, we don't need this new gdbarch hook
at all.
If I understand your problem correctly, you have to define your own
function 'arm_neutrino_syscall_next_pc' in your file
arm-neutrino-tdep.c, and install it on function pointer
'syscall_next_pc' (in 'struct gdbarch_tdep' in arm-tdep.h) in
'arm_neutrino_init_abi'. Please have a look on how 'syscall_next_pc' is
set in arm-linux-tdep.c. Then you can compute the pc for your own os in
'arm_neutrino_syscall_next_pc'. Hope it helps.