[PATCH 73/74] lto, module: Warn about modules that are not fully LTOed

From: Andi Kleen
Date: Sat Aug 18 2012 - 23:12:38 EST


From: Andi Kleen <ak@xxxxxxxxxxxxxxx>

When __gnu_lto_* is present that means that the module hasn't run with
LTO yet.

Cc: rusty@xxxxxxxxxxxxxxx
Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
---
kernel/module.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/kernel/module.c b/kernel/module.c
index 2cbbae3..a8a29c4 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -1905,8 +1905,11 @@ static int simplify_symbols(struct module *mod, const struct load_info *info)
switch (sym[i].st_shndx) {
case SHN_COMMON:
/* Ignore common symbols */
- if (!strncmp(name, "__gnu_lto", 9))
+ if (!strncmp(name, "__gnu_lto", 9)) {
+ printk("%s: module not link time optimized\n",
+ mod->name);
break;
+ }

/* We compiled with -fno-common. These are not
supposed to happen. */
--
1.7.7.6

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/