mirror of
https://github.com/Dasharo/linux.git
synced 2026-03-06 15:25:10 -08:00
Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
Pull kbuild changes from Michal Marek: - LTO fixes, but the kallsyms part had to be reverted - Pass -Werror=implicit-int and -Werror=strict-prototypes to the compiler by default - snprintf fix in modpost - remove GREP_OPTIONS from the environment to be immune against exotic grep option settings * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: kallsyms: Revert back to 128 max symbol length Kbuild: Ignore GREP_OPTIONS env variable scripts: kallsyms: Use %zu to print 'size_t' scripts/bloat-o-meter: use .startswith rather than fragile slicing scripts/bloat-o-meter: ignore changes in the size of linux_banner kbuild: replace unbounded sprintf call in modpost kbuild, bloat-o-meter: fix static detection Kbuild: Handle longer symbols in kallsyms.c kbuild: Increase kallsyms max symbol length Makefile: enable -Werror=implicit-int and -Werror=strict-prototypes by default
This commit is contained in:
@@ -19,9 +19,10 @@ def getsizes(file):
|
||||
size, type, name = l[:-1].split()
|
||||
if type in "tTdDbBrR":
|
||||
# strip generated symbols
|
||||
if name[:6] == "__mod_": continue
|
||||
# function names begin with '.' on 64-bit powerpc
|
||||
if "." in name[1:]: name = "static." + name.split(".")[0]
|
||||
if name.startswith("__mod_"): continue
|
||||
if name == "linux_banner": continue
|
||||
# statics and some other optimizations adds random .NUMBER
|
||||
name = re.sub(r'\.[0-9]+', '', name)
|
||||
sym[name] = sym.get(name, 0) + int(size, 16)
|
||||
return sym
|
||||
|
||||
|
||||
@@ -115,6 +115,12 @@ static int read_symbol(FILE *in, struct sym_entry *s)
|
||||
fprintf(stderr, "Read error or end of file.\n");
|
||||
return -1;
|
||||
}
|
||||
if (strlen(str) > KSYM_NAME_LEN) {
|
||||
fprintf(stderr, "Symbol %s too long for kallsyms (%zu vs %d).\n"
|
||||
"Please increase KSYM_NAME_LEN both in kernel and kallsyms.c\n",
|
||||
str, strlen(str), KSYM_NAME_LEN);
|
||||
return -1;
|
||||
}
|
||||
|
||||
sym = str;
|
||||
/* skip prefix char */
|
||||
|
||||
@@ -416,7 +416,7 @@ void get_src_version(const char *modname, char sum[], unsigned sumlen)
|
||||
basename = strrchr(modname, '/') + 1;
|
||||
else
|
||||
basename = modname;
|
||||
sprintf(filelist, "%s/%.*s.mod", modverdir,
|
||||
snprintf(filelist, sizeof(filelist), "%s/%.*s.mod", modverdir,
|
||||
(int) strlen(basename) - 2, basename);
|
||||
|
||||
file = grab_file(filelist, &len);
|
||||
|
||||
Reference in New Issue
Block a user