[RFC,PATCH] arch/arm: compute and export NR_syscalls

Mikael Pettersson mikpe at it.uu.se
Wed Aug 17 03:28:13 EDT 2011


Will Drewry writes:
 > On Tue, Aug 16, 2011 at 4:21 PM, Arnd Bergmann <arnd at arndb.de> wrote:
 > > On Tuesday 16 August 2011 16:14:26 Will Drewry wrote:
 > >>
 > >> asm-exports.c is added instead of reusing asm-offsets.c to avoid a
 > >> variety of collisions (VM_EXEC, DMA_*, etc).  It is possible to use the
 > >> same calls.S mechanism but add NR_syscalls to asm-offsets.c.  However,
 > >> at inclusion time for generated/asm-offsets.h, conflicting defines will
 > >> need to be #undef'd if !__ASSEMBLY__ since it appears that the purpose
 > >> of asm-offsets.h is to safely bind C language definitions to assembly
 > >> and not the reverse.
 > >>
 > >> - Is this approach palatable?
 > >> - Should I resend only when paired with the other ftrace-needed patches?
 > >
 > > This seems overly complex, compared to a one-line change adding the symbol
 > > to asm/unistd.h. The only other architecture that uses an approach
 > > like the one you have posted is x86-64, and it's simpler there
 > > because it can easily be done in asm-offsets.c there without the need
 > > to create another helper.
 > 
 > Agreed!
 > 
 > I proposed this approach based solely on prior threads I've seen. E.g.,
 > - https://lkml.org/lkml/2007/6/1/427
 >   (don't just #define)
 > - https://lkml.org/lkml/2009/8/27/280
 >   (todo: x86-32 to move to x86-64)
 > 
 > If a single line #define is good enough, then it certainly works for me.

Yes, the one-line #define NR_syscalls in unistd.h is a perfectly adequate,
if not entirely elegant, solution.  Adding asm-export.c just for this is
waaay overkill.

/Mikael



More information about the linux-arm-kernel mailing list