From: Anton Blanchard <anton@samba.org>
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
Cc: linuxppc-dev@lists.ozlabs.org
Subject: [PATCH 08/33] powerpc: Remove function descriptors and dot symbols on new ABI
Date: Tue, 25 Mar 2014 22:44:14 +1100 [thread overview]
Message-ID: <1395747879-5948-9-git-send-email-anton@samba.org> (raw)
In-Reply-To: <1395747879-5948-1-git-send-email-anton@samba.org>
ABIv2 doesn't have function descriptors or dot symbols. One
new thing it does add is a function global and a local entry
point, so add that to our _GLOBAL macro.
Signed-off-by: Anton Blanchard <anton@samba.org>
---
arch/powerpc/include/asm/ftrace.h | 2 ++
arch/powerpc/include/asm/linkage.h | 2 ++
arch/powerpc/include/asm/ppc_asm.h | 22 ++++++++++++++++++++++
3 files changed, 26 insertions(+)
diff --git a/arch/powerpc/include/asm/ftrace.h b/arch/powerpc/include/asm/ftrace.h
index 169d039..e366187 100644
--- a/arch/powerpc/include/asm/ftrace.h
+++ b/arch/powerpc/include/asm/ftrace.h
@@ -61,6 +61,7 @@ struct dyn_arch_ftrace {
#endif
#if defined(CONFIG_FTRACE_SYSCALLS) && defined(CONFIG_PPC64) && !defined(__ASSEMBLY__)
+#if !defined(_CALL_ELF) || _CALL_ELF != 2
#define ARCH_HAS_SYSCALL_MATCH_SYM_NAME
static inline bool arch_syscall_match_sym_name(const char *sym, const char *name)
{
@@ -72,6 +73,7 @@ static inline bool arch_syscall_match_sym_name(const char *sym, const char *name
*/
return !strcmp(sym + 4, name + 3);
}
+#endif
#endif /* CONFIG_FTRACE_SYSCALLS && CONFIG_PPC64 && !__ASSEMBLY__ */
#endif /* _ASM_POWERPC_FTRACE */
diff --git a/arch/powerpc/include/asm/linkage.h b/arch/powerpc/include/asm/linkage.h
index b36f650..e3ad5c7 100644
--- a/arch/powerpc/include/asm/linkage.h
+++ b/arch/powerpc/include/asm/linkage.h
@@ -2,6 +2,7 @@
#define _ASM_POWERPC_LINKAGE_H
#ifdef CONFIG_PPC64
+#if !defined(_CALL_ELF) || _CALL_ELF != 2
#define cond_syscall(x) \
asm ("\t.weak " #x "\n\t.set " #x ", sys_ni_syscall\n" \
"\t.weak ." #x "\n\t.set ." #x ", .sys_ni_syscall\n")
@@ -9,5 +10,6 @@
asm ("\t.globl " #alias "\n\t.set " #alias ", " #name "\n" \
"\t.globl ." #alias "\n\t.set ." #alias ", ." #name)
#endif
+#endif
#endif /* _ASM_POWERPC_LINKAGE_H */
diff --git a/arch/powerpc/include/asm/ppc_asm.h b/arch/powerpc/include/asm/ppc_asm.h
index 61992d8..5394d41 100644
--- a/arch/powerpc/include/asm/ppc_asm.h
+++ b/arch/powerpc/include/asm/ppc_asm.h
@@ -192,6 +192,26 @@ END_FW_FTR_SECTION_IFSET(FW_FEATURE_SPLPAR)
#define __STK_PARAM(i) (48 + ((i)-3)*8)
#define STK_PARAM(i) __STK_PARAM(__REG_##i)
+#if defined(_CALL_ELF) && _CALL_ELF == 2
+
+#define _GLOBAL(name) \
+ .section ".text"; \
+ .align 2 ; \
+ .type name,@function; \
+ .globl name; \
+name:
+
+#define _KPROBE(name) \
+ .section ".kprobes.text","a"; \
+ .align 2 ; \
+ .type name,@function; \
+ .globl name; \
+name:
+
+#define DOTSYM(a) a
+
+#else
+
#define XGLUE(a,b) a##b
#define GLUE(a,b) XGLUE(a,b)
@@ -225,6 +245,8 @@ GLUE(.,name):
#define DOTSYM(a) GLUE(.,a)
+#endif
+
#else /* 32-bit */
#define _ENTRY(n) \
--
1.8.3.2
next prev parent reply other threads:[~2014-03-25 11:44 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-25 11:44 [PATCH 00/33] Build ppc64le kernel using ABIv2 Anton Blanchard
2014-03-25 11:44 ` [PATCH 01/33] powerpc: No need to use dot symbols when branching to a function Anton Blanchard
2014-03-25 11:44 ` [PATCH 02/33] powerpc: Remove superflous function descriptors in assembly only code Anton Blanchard
2014-03-25 11:44 ` [PATCH 03/33] powerpc: Don't use a function descriptor for system call table Anton Blanchard
2014-03-25 11:44 ` [PATCH 04/33] powerpc: Remove some unnecessary uses of _GLOBAL() and _STATIC() Anton Blanchard
2014-03-25 11:44 ` [PATCH 05/33] powerpc: Remove _INIT_GLOBAL(), _STATIC() and _INIT_STATIC() Anton Blanchard
2014-03-25 11:44 ` [PATCH 06/33] powerpc: Remove dot symbol usage in exception macros Anton Blanchard
2014-03-25 11:44 ` [PATCH 07/33] powerpc: Create DOTSYM to wrap dot symbol usage Anton Blanchard
2014-03-25 11:44 ` Anton Blanchard [this message]
2014-03-25 11:44 ` [PATCH 09/33] powerpc: ABIv2 function calls must place target address in r12 Anton Blanchard
2014-03-25 11:44 ` [PATCH 10/33] powerpc: Ignore TOC relocations Anton Blanchard
2014-03-26 9:36 ` Alan Modra
2014-04-22 22:02 ` Anton Blanchard
2014-03-25 11:44 ` [PATCH 11/33] powerpc: Add ABIv2 support to ppc_function_entry Anton Blanchard
2014-03-25 11:44 ` [PATCH 12/33] powerpc: Use ppc_function_entry instead of open coding it Anton Blanchard
2014-03-25 11:44 ` [PATCH 13/33] powerpc: Fix branch patching code for ABIv2 Anton Blanchard
2014-03-25 11:44 ` [PATCH 14/33] powerpc: Fix kernel thread creation on ABIv2 Anton Blanchard
2014-03-25 11:44 ` [PATCH 15/33] powerpc: Fix ABIv2 issues with stack offsets in assembly code Anton Blanchard
2014-03-26 10:04 ` Alan Modra
2014-03-26 10:06 ` Alan Modra
2014-04-01 13:54 ` Philippe Bergheaud
2014-03-25 11:44 ` [PATCH 16/33] powerpc: Fix unsafe accesses to parameter area in ELFv2 Anton Blanchard
2014-03-25 11:44 ` [PATCH 17/33] powerpc/tm: Use STK_PARAM Anton Blanchard
2014-03-25 11:44 ` [PATCH 18/33] powerpc/tm: Fix GOT save offset for ABIv2 Anton Blanchard
2014-03-25 11:44 ` [PATCH 19/33] powerpc/tracing: TRACE_WITH_FRAME_BUFFER creates invalid stack frames Anton Blanchard
2014-03-25 11:44 ` [PATCH 20/33] powerpc: Fix SMP issues with ppc64le ABIv2 Anton Blanchard
2014-03-25 11:44 ` [PATCH 21/33] powerpc: Fix ABIv2 issue with dereference_function_descriptor Anton Blanchard
2014-03-25 11:44 ` [PATCH 22/33] powerpc: make module stub code endian independent Anton Blanchard
2014-03-25 11:44 ` [PATCH 23/33] powerpc: modules implement R_PPC64_TOCSAVE relocation Anton Blanchard
2014-03-25 11:44 ` [PATCH 24/33] powerpc: EXPORT_SYMBOL(.TOC.) Anton Blanchard
2014-03-25 11:44 ` [PATCH 25/33] powerpc: module: handle MODVERSION for .TOC Anton Blanchard
2014-03-25 11:44 ` [PATCH 26/33] powerpc: Fix up TOC. for modules Anton Blanchard
2014-03-25 11:44 ` [PATCH 27/33] powerpc: Handle new ELFv2 module relocations Anton Blanchard
2014-03-26 10:28 ` Alan Modra
2014-03-25 11:44 ` [PATCH 28/33] powerpc: modules: comment about de-dotifying symbols when using the ELFv2 ABI Anton Blanchard
2014-03-25 11:44 ` [PATCH 29/33] powerpc: modules: change r2 save/restore offset for " Anton Blanchard
2014-03-25 11:44 ` [PATCH 30/33] powerpc: modules: use r12 for stub jump address Anton Blanchard
2014-03-25 11:44 ` [PATCH 31/33] powerpc: modules: skip r2 setup for ELFv2 Anton Blanchard
2014-03-25 11:44 ` [PATCH 32/33] powerpc: modules: implement stubs for ELFv2 ABI Anton Blanchard
2014-03-25 11:44 ` [PATCH 33/33] powerpc: Build little endian ppc64 kernel with ABIv2 Anton Blanchard
2014-03-25 13:18 ` [PATCH 00/33] Build ppc64le kernel using ABIv2 Ulrich Weigand
2014-03-26 11:20 ` Anton Blanchard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1395747879-5948-9-git-send-email-anton@samba.org \
--to=anton@samba.org \
--cc=amodra@gmail.com \
--cc=benh@kernel.crashing.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mikey@neuling.org \
--cc=mjw@linux.vnet.ibm.com \
--cc=paulus@samba.org \
--cc=rusty@rustcorp.com.au \
--cc=ulrich.weigand@de.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).