mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-07 13:53:24 +00:00
modpost: add PATTERNS() helper macro
This will be useful to define a NULL-terminated array inside a function call. Currently, string arrays passed to match() are defined in separate places: static const char *const init_sections[] = { ALL_INIT_SECTIONS, NULL }; static const char *const text_sections[] = { ALL_TEXT_SECTIONS, NULL }; static const char *const optim_symbols[] = { "*.constprop.*", NULL }; ... /* Check for pattern 5 */ if (match(fromsec, text_sections) && match(tosec, init_sections) && match(fromsym, optim_symbols)) return 0; With the new helper macro, you can list the patterns directly in the function call, like this: /* Check for pattern 5 */ if (match(fromsec, PATTERNS(ALL_TEXT_SECTIONS)) && match(tosec, PATTERNS(ALL_INIT_SECTIONS)) && match(fromsym, PATTERNS("*.contprop.*"))) return 0; Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
This commit is contained in:
parent
072dd2c892
commit
7452dd26a5
@ -746,6 +746,13 @@ static bool match(const char *string, const char *const patterns[])
|
||||
return false;
|
||||
}
|
||||
|
||||
/* useful to pass patterns to match() directly */
|
||||
#define PATTERNS(...) \
|
||||
({ \
|
||||
static const char *const patterns[] = {__VA_ARGS__, NULL}; \
|
||||
patterns; \
|
||||
})
|
||||
|
||||
/* sections that we do not want to do full section mismatch check on */
|
||||
static const char *const section_white_list[] =
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user