On Thu, Apr 30, 2020 at 03:41:56PM +0200, Arnd Bergmann wrote: > On Thu, Apr 30, 2020 at 1:28 AM Josh Poimboeuf <jpoim...@redhat.com> wrote: > > > > On Wed, Apr 29, 2020 at 06:11:15PM -0500, Josh Poimboeuf wrote: > > > > We can probably move those SYS_NI() instances to kernel/sys_ni.c, > > > > which does not include the header, but it's still a bit ugly. I'll try > > > > that tomorrow > > > > unless you come up with a better suggestion first. > > > > > > Oh I guess arm32 doesn't have SYS_NI defined. All this syscall aliasing > > > stuff is a total mystery to me. > > > > Another idea would be to split up syscalls.h into two files: one for > > SYSCALL_* macros and one for sys_*() function prototypes. It sounds > > like the latter aren't needed by most header files anyway. > > > > * Please note that these prototypes here are only provided for information > > * purposes, for static analysis, and for linking from the syscall table. > > * These functions should not be called elsewhere from kernel code. > > To me the main purpose of the header is to ensure the calling conventions > are sane, so I'd definitely want to see the declarations included whenever > a syscall is defined. I would also expect to see a warnig from sparse, or > from gcc with "make W=1" when an extern function is defined with no > prior declaration.
Yup, makes sense. I think I've been getting confused by the syscall wrappers. > How hard would it be to change objtool instead of changing the sources? It might be a little tricky, but I can look into it. -- Josh