kmod/depmod-Don-t-add-.TOC.-when-it-s-in-the-kernel.patch
Dirk Mueller 00017cf84a Accepting request 555069 from home:michals
- Fix resolving .TOC. in modules on 4.4 and older kernel (bsc#1070209)
  depmod-Don-t-add-.TOC.-when-it-s-in-the-kernel.patch

OBS-URL: https://build.opensuse.org/request/show/555069
OBS-URL: https://build.opensuse.org/package/show/Base:System/kmod?expand=0&rev=130
2017-12-08 08:51:32 +00:00

36 lines
1.2 KiB
Diff

From d43ed9df0c22aa06b254b86dcf6dfbad04699242 Mon Sep 17 00:00:00 2001
From: Michal Suchanek <msuchanek@suse.de>
Date: Thu, 7 Dec 2017 13:51:31 +0100
Subject: [PATCH] depmod: Don't add .TOC. when it's in the kernel.
References: bsc#1070209
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