kmod/depmod-Don-t-add-.TOC.-when-it-s-in-the-kernel.patch
2017-12-10 22:28:31 +00:00

38 lines
1.3 KiB
Diff

From e22e1c1f6efb4b8643d159b4c66a5f392ad4ff5a Mon Sep 17 00:00:00 2001
From: Michal Suchanek <msuchanek@suse.de>
Date: Thu, 7 Dec 2017 15:31:19 +0100
Subject: [PATCH] depmod: Don't add .TOC. when it's in the kernel.
References: bsc#1070209
Patch-mainline: v25
Git-commit: e22e1c1f6efb4b8643d159b4c66a5f392ad4ff5a
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>
---
tools/depmod.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tools/depmod.c b/tools/depmod.c
index 7ff3e9ed191e..9db602d76ee4 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)
--
2.13.6