[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1376077524-27573-1-git-send-email-andi@firstfloor.org>
Date: Fri, 9 Aug 2013 12:45:24 -0700
From: Andi Kleen <andi@...stfloor.org>
To: akpm@...ux-foundation.org
Cc: linux-kernel@...r.kernel.org, linux-kbuild@...r.kernel.org,
Andi Kleen <ak@...ux.intel.com>
Subject: [PATCH] Handle non ABS crc symbols
From: Andi Kleen <ak@...ux.intel.com>
For some reason I managed to trick gcc into create CRC symbols that
are not absolute anymore, but weak.
Make modpost handle this case.
Andrew, this should fix the bizarre warning. Seems like a toolchain
bug to me.
Signed-off-by: Andi Kleen <ak@...ux.intel.com>
---
scripts/mod/modpost.c | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
index 6216434..b3dd735 100644
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
@@ -599,18 +599,17 @@ static void handle_modversions(struct module *mod, struct elf_info *info,
else
export = export_from_sec(info, get_secindex(info, sym));
+ /* CRC'd symbol */
+ if (strncmp(symname, CRC_PFX, strlen(CRC_PFX)) == 0) {
+ crc = (unsigned int) sym->st_value;
+ sym_update_crc(symname + strlen(CRC_PFX), mod, crc,
+ export);
+ }
+
switch (sym->st_shndx) {
case SHN_COMMON:
warn("\"%s\" [%s] is COMMON symbol\n", symname, mod->name);
break;
- case SHN_ABS:
- /* CRC'd symbol */
- if (strncmp(symname, CRC_PFX, strlen(CRC_PFX)) == 0) {
- crc = (unsigned int) sym->st_value;
- sym_update_crc(symname + strlen(CRC_PFX), mod, crc,
- export);
- }
- break;
case SHN_UNDEF:
/* undefined symbol */
if (ELF_ST_BIND(sym->st_info) != STB_GLOBAL &&
--
1.8.3.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists