summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Suchanek <msuchanek@suse.de>2017-12-07 15:31:19 +0100
committerLucas De Marchi <lucas.demarchi@intel.com>2017-12-07 11:04:37 -0800
commite22e1c1f6efb4b8643d159b4c66a5f392ad4ff5a (patch)
treefc63e68de968cddfdd690a9b93f00ef4a1cd179b
parent8803e486a930303f2cc85819eb331104ef4add69 (diff)
downloadkmod-e22e1c1f6efb4b8643d159b4c66a5f392ad4ff5a.tar.gz
kmod-e22e1c1f6efb4b8643d159b4c66a5f392ad4ff5a.tar.bz2
kmod-e22e1c1f6efb4b8643d159b4c66a5f392ad4ff5a.zip
depmod: Don't add .TOC. when it's in the kernel.
d46136bb59c4 ("depmod: Ignore PowerPC64 ABIv2 .TOC. symbol") adds fake .TOC. unconditionally but when there is .TOC. in the kernel adding the fake one breaks resolving .TOC. Fixes: d46136bb59c4 ("depmod: Ignore PowerPC64 ABIv2 .TOC. symbol") Signed-off-by: Michal Suchanek <msuchanek@suse.de>
-rw-r--r--tools/depmod.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/tools/depmod.c b/tools/depmod.c
index 7ff3e9e..9db602d 100644
--- a/tools/depmod.c
+++ b/tools/depmod.c
@@ -2480,7 +2480,8 @@ static void depmod_add_fake_syms(struct depmod *depmod)
/* On S390, this is faked up too */
depmod_symbol_add(depmod, "_GLOBAL_OFFSET_TABLE_", true, 0, NULL);
/* On PowerPC64 ABIv2, .TOC. is more or less _GLOBAL_OFFSET_TABLE_ */
- depmod_symbol_add(depmod, "TOC.", true, 0, NULL);
+ if (!depmod_symbol_find(depmod, "TOC."))
+ depmod_symbol_add(depmod, "TOC.", true, 0, NULL);
}
static int depmod_load_symvers(struct depmod *depmod, const char *filename)