Messages in this thread | | | From | Arnd Bergmann <> | Date | Thu, 30 Apr 2020 15:41:56 +0200 | Subject | Re: Remaining randconfig objtool warnings, linux-next-20200428 |
| |
On Thu, Apr 30, 2020 at 1:28 AM Josh Poimboeuf <jpoimboe@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.
How hard would it be to change objtool instead of changing the sources?
Arnd
| |