Messages in this thread | | | Date | Thu, 16 Mar 2017 09:02:57 +0100 | From | Ingo Molnar <> | Subject | Re: [RFC] linkage: new macros for functions and data |
| |
* Jiri Slaby <jslaby@suse.cz> wrote:
> SYM_LOCAL_ALIAS_START -- use where there are two local names for one code > SYM_ALIAS_START -- use where there are two global names for one code > SYM_LOCAL_FUNC_START -- use for local functions > SYM_FUNCTION_START -- use for global functions > SYM_WEAK_FUNC_START -- use for weak functions > SYM_ALIAS_END -- the end of LOCALALIASed or ALIASed code > SYM_FUNCTION_END -- the end of SYM_LOCAL_FUNC_START, SYM_FUNCTION_START, SYM_WEAK_FUNC_START, ... > SYM_DATA_START -- global data symbol > SYM_DATA_END -- the end of SYM_DATA_START symbol
This looks mostly good to me, with minor details:
- The mixed 'FUNC' and 'FUNCTION' naming looks a bit confusing - I'd pick one and use that consistently.
- I'd also make the START/END constructs look more symmetric, i.e. make the attribute a postfix, not a prefix.
- In fact I'd make the 'alias' notion an attribute as well - what matters mostly is that it's a function symbol, and that fact is lost from the SYM_ALIAS naming.
I.e. something like this:
SYM_FUNCTION_START SYM_FUNCTION_START_WEAK SYM_FUNCTION_START_LOCAL SYM_FUNCTION_START_ALIAS SYM_FUNCTION_START_LOCAL_ALIAS ... SYM_FUNCTION_END
SYM_DATA_START SYM_DATA_END
Note how simple and structured looking the nomenclature is when grouped in such a way, how easy it is to verify at a glance, and how easy it is to extend with new postfixes.
( In theory we could also make the attributes a real macro argument in the future, should the number of attributes increase significantly. )
Does this look good to everyone?
Thanks,
Ingo
| |