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:
Родитель
072dd2c892
Коммит
7452dd26a5
|
@ -746,6 +746,13 @@ static bool match(const char *string, const char *const patterns[])
|
||||||
return false;
|
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 */
|
/* sections that we do not want to do full section mismatch check on */
|
||||||
static const char *const section_white_list[] =
|
static const char *const section_white_list[] =
|
||||||
{
|
{
|
||||||
|
|
Загрузка…
Ссылка в новой задаче