From patchwork Tue Mar 25 11:44:34 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Blanchard X-Patchwork-Id: 333426 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from ozlabs.org (localhost [IPv6:::1]) by ozlabs.org (Postfix) with ESMTP id 6D4C4141980 for ; Tue, 25 Mar 2014 23:03:58 +1100 (EST) Received: by ozlabs.org (Postfix, from userid 1010) id 74B9F140332; Tue, 25 Mar 2014 22:45:54 +1100 (EST) From: Anton Blanchard To: benh@kernel.crashing.org, paulus@samba.org, rusty@rustcorp.com.au, ulrich.weigand@de.ibm.com, amodra@gmail.com, mikey@neuling.org, mjw@linux.vnet.ibm.com Subject: [PATCH 28/33] powerpc: modules: comment about de-dotifying symbols when using the ELFv2 ABI. Date: Tue, 25 Mar 2014 22:44:34 +1100 Message-Id: <1395747879-5948-29-git-send-email-anton@samba.org> X-Mailer: git-send-email 1.8.3.2 In-Reply-To: <1395747879-5948-1-git-send-email-anton@samba.org> References: <1395747879-5948-1-git-send-email-anton@samba.org> Cc: linuxppc-dev@lists.ozlabs.org X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" From: Rusty Russell ELFv2 doesn't use function descriptors, so we don't expect symbols to start with ".". But because depmod and modpost strip ".", and we have the special symbol ".TOC.", we still need to do it. Signed-off-by: Rusty Russell --- arch/powerpc/kernel/module_64.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/kernel/module_64.c b/arch/powerpc/kernel/module_64.c index 34ba326..05b27a5 100644 --- a/arch/powerpc/kernel/module_64.c +++ b/arch/powerpc/kernel/module_64.c @@ -172,6 +172,7 @@ static unsigned long get_stubs_size(const Elf64_Ehdr *hdr, return relocs * sizeof(struct ppc64_stub_entry); } +/* Still needed for ELFv2, for .TOC. */ static void dedotify_versions(struct modversion_info *vers, unsigned long size) { @@ -182,7 +183,7 @@ static void dedotify_versions(struct modversion_info *vers, memmove(vers->name, vers->name+1, strlen(vers->name)); } -/* Undefined symbols which refer to .funcname, hack to funcname */ +/* Undefined symbols which refer to .funcname, hack to funcname (or .TOC.) */ static void dedotify(Elf64_Sym *syms, unsigned int numsyms, char *strtab) { unsigned int i;