summarylogtreecommitdiffstats
path: root/0014-modpost-lto-strip-.lto-from-module-names.patch
diff options
context:
space:
mode:
Diffstat (limited to '0014-modpost-lto-strip-.lto-from-module-names.patch')
-rw-r--r--0014-modpost-lto-strip-.lto-from-module-names.patch116
1 files changed, 0 insertions, 116 deletions
diff --git a/0014-modpost-lto-strip-.lto-from-module-names.patch b/0014-modpost-lto-strip-.lto-from-module-names.patch
deleted file mode 100644
index 1ff4b6fde3dc..000000000000
--- a/0014-modpost-lto-strip-.lto-from-module-names.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-From 56f70f11a55f51c191b3bb65821ca2f5fd9e4924 Mon Sep 17 00:00:00 2001
-From: Sami Tolvanen <samitolvanen@google.com>
-Date: Fri, 6 Mar 2020 13:52:03 -0800
-Subject: [PATCH 14/24] modpost: lto: strip .lto from module names
-
-With LTO, everything is compiled into LLVM bitcode, so we have to link
-each module into native code before modpost. Kbuild uses the .lto.o
-suffix for these files, which also ends up in module information. This
-change strips the unnecessary .lto suffix from the module name.
-
-Suggested-by: Bill Wendling <morbo@google.com>
-Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
----
- scripts/mod/modpost.c | 16 +++++++---------
- scripts/mod/modpost.h | 9 +++++++++
- scripts/mod/sumversion.c | 6 +++++-
- 3 files changed, 21 insertions(+), 10 deletions(-)
-
-diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
-index 69341b36f271..5a329df55cc3 100644
---- a/scripts/mod/modpost.c
-+++ b/scripts/mod/modpost.c
-@@ -17,7 +17,6 @@
- #include <ctype.h>
- #include <string.h>
- #include <limits.h>
--#include <stdbool.h>
- #include <errno.h>
- #include "modpost.h"
- #include "../../include/linux/license.h"
-@@ -80,14 +79,6 @@ modpost_log(enum loglevel loglevel, const char *fmt, ...)
- exit(1);
- }
-
--static inline bool strends(const char *str, const char *postfix)
--{
-- if (strlen(str) < strlen(postfix))
-- return false;
--
-- return strcmp(str + strlen(str) - strlen(postfix), postfix) == 0;
--}
--
- void *do_nofail(void *ptr, const char *expr)
- {
- if (!ptr)
-@@ -1984,6 +1975,10 @@ static char *remove_dot(char *s)
- size_t m = strspn(s + n + 1, "0123456789");
- if (m && (s[n + m] == '.' || s[n + m] == 0))
- s[n] = 0;
-+
-+ /* strip trailing .lto */
-+ if (strends(s, ".lto"))
-+ s[strlen(s) - 4] = '\0';
- }
- return s;
- }
-@@ -2007,6 +2002,9 @@ static void read_symbols(const char *modname)
- /* strip trailing .o */
- tmp = NOFAIL(strdup(modname));
- tmp[strlen(tmp) - 2] = '\0';
-+ /* strip trailing .lto */
-+ if (strends(tmp, ".lto"))
-+ tmp[strlen(tmp) - 4] = '\0';
- mod = new_module(tmp);
- free(tmp);
- }
-diff --git a/scripts/mod/modpost.h b/scripts/mod/modpost.h
-index 3aa052722233..fab30d201f9e 100644
---- a/scripts/mod/modpost.h
-+++ b/scripts/mod/modpost.h
-@@ -2,6 +2,7 @@
- #include <stdio.h>
- #include <stdlib.h>
- #include <stdarg.h>
-+#include <stdbool.h>
- #include <string.h>
- #include <sys/types.h>
- #include <sys/stat.h>
-@@ -180,6 +181,14 @@ static inline unsigned int get_secindex(const struct elf_info *info,
- return info->symtab_shndx_start[sym - info->symtab_start];
- }
-
-+static inline bool strends(const char *str, const char *postfix)
-+{
-+ if (strlen(str) < strlen(postfix))
-+ return false;
-+
-+ return strcmp(str + strlen(str) - strlen(postfix), postfix) == 0;
-+}
-+
- /* file2alias.c */
- extern unsigned int cross_build;
- void handle_moddevtable(struct module *mod, struct elf_info *info,
-diff --git a/scripts/mod/sumversion.c b/scripts/mod/sumversion.c
-index d587f40f1117..760e6baa7eda 100644
---- a/scripts/mod/sumversion.c
-+++ b/scripts/mod/sumversion.c
-@@ -391,10 +391,14 @@ void get_src_version(const char *modname, char sum[], unsigned sumlen)
- struct md4_ctx md;
- char *fname;
- char filelist[PATH_MAX + 1];
-+ int postfix_len = 1;
-+
-+ if (strends(modname, ".lto.o"))
-+ postfix_len = 5;
-
- /* objects for a module are listed in the first line of *.mod file. */
- snprintf(filelist, sizeof(filelist), "%.*smod",
-- (int)strlen(modname) - 1, modname);
-+ (int)strlen(modname) - postfix_len, modname);
-
- buf = read_text_file(filelist);
-
---
-2.28.0
-