Re: [PATCH v3 3/6] parisc: add system call table generation support

From: Arnd Bergmann
Date: Tue Oct 09 2018 - 03:48:08 EST


On Tue, Oct 9, 2018 at 7:35 AM Firoz Khan <firoz.khan@xxxxxxxxxx> wrote:
> On Mon, 8 Oct 2018 at 19:27, Arnd Bergmann <arnd@xxxxxxxx> wrote:
> > On Mon, Oct 8, 2018 at 3:02 PM Eugene Syromiatnikov <esyr@xxxxxxxxxx> wrote:
> > > > > +87 common swapon sys_swapon
> > > > > +88 common reboot sys_reboot
> > > > > +89 common mmap2 sys_mmap2
> > > > > +90 common mmap sys_mmap
> > > > > +91 common munmap sys_munmap
> > > > > +92 common truncate sys_truncate compat_sys_truncate
> > > > > +93 common ftruncate sys_ftruncate compat_sys_ftruncate
> > > > > +94 common fchmod sys_fchmod
> > > > > +95 common fchown sys_fchown
> > > > > +96 common getpriority sys_getpriority
> > > > > +97 common setpriority sys_setpriority
> > > > > +98 common recv sys_recv
> > > > > +99 common statfs sys_statfs compat_sys_statfs
> > > > > +100 common fstatfs sys_fstatfs compat_sys_fstatfs
> > > > > +101 common stat64 sys_stat64
> > >
> > > It is probably worth adding a comment here that syscall 102 was
> > > socketcall, in order to make reason for this jump in syscall numeration
> > > self-evident.
> >
> > +1
> >
> > In general, I'd argue we want to keep all the nontrivial comments that
> > were present in either unistd.h or syscall_table.S.
>
> unistd_32.h, unistd_64.h, syscall_table_32.h, syscall_table_64.h and
> syscall_table_c32.h
> are generated files. unistd.h and syscall_table.S file include
> generated files. I had the
> support to keep the comments in the generated files.
>
> Eg:- from github
> https://github.com/frzkhn/system_call_table_generator/blob/5fe5fb5a3ad457b234e7600d8a4b61b2e3629acd/ia64/syscall.tbl#L105
>
> But I got to know the generated file don't carry any license info and
> comment section. That's
> why I removed it from all architecture.
>
> I'm ok to keep this support for all architecture. Please feel free to
> comment here.

I meant just have the comments in the .tbl file, but not act on them.
One way to do this would be to let the script ignore everything
past the first '#' character in a line by passing it through 'sed -e "s:#.*$::"'
or a similar step (there is probably a nicer way to do this with
shell built-ins).

> > I think this makes more sense, in particular on the other architectures
> > that have different macro names in some cases. When we do this,
> > the entries could get compressed to
> >
> > 108 32 pread64 parisc_pread64
> > 108 64 pread64 sys_pread64
> >
>
> Sure. I can do this thing. The above one may be applicable for parisc not other
> architecture. So the scripts might be slightly different. If we keep a
> standard way,
> the script will be unique. So the only difference will be Makefile and
> .tbl files for all
> architecture; I think that is our one of the goal.

I would expect the above to actually be more important on other
architectures. E.g. on powerpc:

291 32 fstatat64 sys_fstatat64 sys_fstatat64
291 64 newfstatat newfstatat

or (simplified)

291 32 fstatat64 sys_fstatat64
291 64 newfstatat newfstatat

makes much more sense than

291 32 fstatat64 sys_fstatat64
291 64 newfstatat newfstatat sys_fstatat64

Arnd