Re: [PATCH 15/17] arch: fix asm-offsets.c building with -Wmissing-prototypes

"Arnd Bergmann" <[email protected]>
Newsgroups gmane.linux.ports.sparc,gmane.linux.kernel,gmane.linux.ports.alpha,gmane.linux.ports.ia64
Message-ID <[email protected]>
On Sat, Aug 12, 2023, at 00:12, Masahiro Yamada wrote:
> On Sat, Aug 12, 2023 at 3:30 AM Arnd Bergmann <[email protected]> wrote:
>>
>> From: Arnd Bergmann <[email protected]>
>>
>> When -Wmissing-prototypes is enabled, the some asm-offsets.c files fail
>> to build, even when this warning is disabled in the Makefile for normal
>> files:
>>
>> arch/sparc/kernel/asm-offsets.c:22:5: error: no previous prototype for 'sparc32_foo' [-Werror=missing-prototypes]
>> arch/sparc/kernel/asm-offsets.c:48:5: error: no previous prototype for 'foo' [-Werror=missing-prototypes]
>>
>> Address this by making use of the same trick we have on other architectures,
>> renaming the unused global function to main(), which has an implicit
>> prototype.
>
>
> main() only works for one function call, but
> there are some cases where splitting the code
> into some functions makes the code cleaner.

Right, I went with main() as that is already used on a couple
of architectures.

>> On loongarch, there are many functions in this file, so the trick does
>> not work, adding explicit declarations works around it in a slightly
>> more ugly way but is the best I could come up with here.
>
> I do not like repeating the function names.
>
> Could you try "static + __used" as in
> arch/x86/kernel/asm-offsets.c ?

Sure, that should work, I had not noticed x86 doing it like this
and I agree it's slightly nicer.

In this case, Thomas Bogendoerfer already merged my patch for MIPS
in 6.5. The loongarch file I change here is a copy of the same file,
so we probably want them to stay consistent, either keeping my
change for now, or reworking mips along the same lines.

    Arnd
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.