Re: [PATCH 01/10] x86: assembly, ENTRY for fn, GLOBAL for data

From: Ingo Molnar
Date: Wed Mar 01 2017 - 06:04:01 EST



* Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:

> On Wed, 1 Mar 2017, Ingo Molnar wrote:
> >
> > * Jiri Slaby <jslaby@xxxxxxx> wrote:
> >
> > > This is a start of series to unify use of ENTRY, ENDPROC, GLOBAL, END,
> > > and other macros across x86. When we have all this sorted out, this will
> > > help to inject DWARF unwinding info by objtool later.
> > >
> > > So, let us use the macros this way:
> > > * ENTRY -- start of a global function
> > > * ENDPROC -- end of a local/global function
> > > * GLOBAL -- start of a globally visible data symbol
> > > * END -- end of local/global data symbol
> >
> > So how about using macro names that actually show the purpose, instead of
> > importing all the crappy, historic, essentially randomly chosen debug symbol macro
> > names from the binutils and older kernels?
> >
> > Something sane, like:
> >
> > SYM__FUNCTION_START
>
> Sane would be:
>
> SYM_FUNCTION_START
>
> The double underscore is just not giving any value.

So the double underscore (at least in my view) has two advantages:

1) it helps separate the prefix from the postfix.

I.e. it's a 'symbols' namespace, and a 'function start', not the 'start' of a
'symbol function'.

2) It also helps easy greppability.

Try this in latest -tip:

git grep e820__

To see all the E820 API calls - with no false positives!

'git grep e820_' on the other hand is a lot less reliable...

But no strong feelings either way, I just try to sneak in these small namespace
structure tricks when nobody's looking! ;-)

Thanks,

Ingo