|
@@ -24,9 +24,9 @@
|
|
#include "../../include/linux/export.h"
|
|
#include "../../include/linux/export.h"
|
|
|
|
|
|
/* Are we using CONFIG_MODVERSIONS? */
|
|
/* Are we using CONFIG_MODVERSIONS? */
|
|
-int modversions = 0;
|
|
|
|
|
|
+static int modversions = 0;
|
|
/* Warn about undefined symbols? (do so if we have vmlinux) */
|
|
/* Warn about undefined symbols? (do so if we have vmlinux) */
|
|
-int have_vmlinux = 0;
|
|
|
|
|
|
+static int have_vmlinux = 0;
|
|
/* Is CONFIG_MODULE_SRCVERSION_ALL set? */
|
|
/* Is CONFIG_MODULE_SRCVERSION_ALL set? */
|
|
static int all_versions = 0;
|
|
static int all_versions = 0;
|
|
/* If we are modposting external module set to 1 */
|
|
/* If we are modposting external module set to 1 */
|
|
@@ -229,7 +229,7 @@ static struct symbol *find_symbol(const char *name)
|
|
return NULL;
|
|
return NULL;
|
|
}
|
|
}
|
|
|
|
|
|
-static struct {
|
|
|
|
|
|
+static const struct {
|
|
const char *str;
|
|
const char *str;
|
|
enum export export;
|
|
enum export export;
|
|
} export_list[] = {
|
|
} export_list[] = {
|
|
@@ -805,7 +805,7 @@ static int match(const char *sym, const char * const pat[])
|
|
}
|
|
}
|
|
|
|
|
|
/* 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 *section_white_list[] =
|
|
|
|
|
|
+static const char *const section_white_list[] =
|
|
{
|
|
{
|
|
".comment*",
|
|
".comment*",
|
|
".debug*",
|
|
".debug*",
|
|
@@ -882,17 +882,18 @@ static void check_section(const char *modname, struct elf_info *elf,
|
|
#define MEM_EXIT_SECTIONS ".memexit.*"
|
|
#define MEM_EXIT_SECTIONS ".memexit.*"
|
|
|
|
|
|
/* init data sections */
|
|
/* init data sections */
|
|
-static const char *init_data_sections[] = { ALL_INIT_DATA_SECTIONS, NULL };
|
|
|
|
|
|
+static const char *const init_data_sections[] =
|
|
|
|
+ { ALL_INIT_DATA_SECTIONS, NULL };
|
|
|
|
|
|
/* all init sections */
|
|
/* all init sections */
|
|
-static const char *init_sections[] = { ALL_INIT_SECTIONS, NULL };
|
|
|
|
|
|
+static const char *const init_sections[] = { ALL_INIT_SECTIONS, NULL };
|
|
|
|
|
|
/* All init and exit sections (code + data) */
|
|
/* All init and exit sections (code + data) */
|
|
-static const char *init_exit_sections[] =
|
|
|
|
|
|
+static const char *const init_exit_sections[] =
|
|
{ALL_INIT_SECTIONS, ALL_EXIT_SECTIONS, NULL };
|
|
{ALL_INIT_SECTIONS, ALL_EXIT_SECTIONS, NULL };
|
|
|
|
|
|
/* data section */
|
|
/* data section */
|
|
-static const char *data_sections[] = { DATA_SECTIONS, NULL };
|
|
|
|
|
|
+static const char *const data_sections[] = { DATA_SECTIONS, NULL };
|
|
|
|
|
|
|
|
|
|
/* symbols in .data that may refer to init/exit sections */
|
|
/* symbols in .data that may refer to init/exit sections */
|
|
@@ -906,8 +907,8 @@ static const char *data_sections[] = { DATA_SECTIONS, NULL };
|
|
"*_probe_one", \
|
|
"*_probe_one", \
|
|
"*_console"
|
|
"*_console"
|
|
|
|
|
|
-static const char *head_sections[] = { ".head.text*", NULL };
|
|
|
|
-static const char *linker_symbols[] =
|
|
|
|
|
|
+static const char *const head_sections[] = { ".head.text*", NULL };
|
|
|
|
+static const char *const linker_symbols[] =
|
|
{ "__init_begin", "_sinittext", "_einittext", NULL };
|
|
{ "__init_begin", "_sinittext", "_einittext", NULL };
|
|
|
|
|
|
enum mismatch {
|
|
enum mismatch {
|
|
@@ -929,7 +930,7 @@ struct sectioncheck {
|
|
const char *symbol_white_list[20];
|
|
const char *symbol_white_list[20];
|
|
};
|
|
};
|
|
|
|
|
|
-const struct sectioncheck sectioncheck[] = {
|
|
|
|
|
|
+static const struct sectioncheck sectioncheck[] = {
|
|
/* Do not reference init/exit code/data from
|
|
/* Do not reference init/exit code/data from
|
|
* normal code and data
|
|
* normal code and data
|
|
*/
|
|
*/
|