On Tue, Aug 01, 2017 at 01:13:56AM +0300, Edgar Kaziakhmedov wrote: > On Mon, 31 Jul 2017 06:19:23 +0200 > Eugene Syromiatnikov <e...@redhat.com> wrote: > > > +enum impl_type > > > +al_sck_syscall(struct arch_service *m, unsigned index) > > > +{ > > > + struct arch_descriptor *elem = al_get(m, index); > > > + int i; > > > + enum impl_type impl_buf = IMPL_int; > > > + > > > + for (i = 0; i < elem->max_scn; i++) { > > > + if (elem->list_of_syscall[i].sys_name == NULL) > > > + continue; > > > + if (strcmp(elem->list_of_syscall[i].sys_name, > > > + "socketcall") == 0) > > > + impl_buf = IMPL_int; > > > + /* It is enough to find just socket sybcall */ > > > + if ((strcmp(elem->list_of_syscall[i].sys_name, > > > "socket") == 0) > > > + && (!(elem->list_of_syscall[i].sys_flags & > > > + TRACE_INDIRECT_SUBCALL))) { > > > + if (impl_buf == IMPL_int) > > > + impl_buf = IMPL_int_ext; > > > + else > > > + impl_buf = IMPL_ext; > > > + } > > > + } > > > + return impl_buf; > > > +} > > For this, I think some generator similar to ioctlsort could be used, > > which allows generating list of ID's of syscalls on different > > architectures. Or simple wrapper for generate_sen.h, which allows > > accessing them vis SEN_<arch>_<syscall> constants. > To get rid of strcmp as I understand? Yes.
------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Strace-devel mailing list Strace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/strace-devel