summaryrefslogtreecommitdiff
path: root/scripts/gcc-goto.sh
diff options
context:
space:
mode:
authorJason Baron <jbaron@redhat.com>2010-09-17 15:09:00 (GMT)
committerSteven Rostedt <rostedt@goodmis.org>2010-09-22 20:29:41 (GMT)
commitbf5438fca2950b03c21ad868090cc1a8fcd49536 (patch)
tree9fc5693763263704de8d8ba1c37a84172dbe5eb7 /scripts/gcc-goto.sh
parentfa6f2cc77081792e4edca9168420a3422299ef15 (diff)
downloadlinux-fsl-qoriq-bf5438fca2950b03c21ad868090cc1a8fcd49536.tar.xz
jump label: Base patch for jump label
base patch to implement 'jump labeling'. Based on a new 'asm goto' inline assembly gcc mechanism, we can now branch to labels from an 'asm goto' statment. This allows us to create a 'no-op' fastpath, which can subsequently be patched with a jump to the slowpath code. This is useful for code which might be rarely used, but which we'd like to be able to call, if needed. Tracepoints are the current usecase that these are being implemented for. Acked-by: David S. Miller <davem@davemloft.net> Signed-off-by: Jason Baron <jbaron@redhat.com> LKML-Reference: <ee8b3595967989fdaf84e698dc7447d315ce972a.1284733808.git.jbaron@redhat.com> [ cleaned up some formating ] Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'scripts/gcc-goto.sh')
-rw-r--r--scripts/gcc-goto.sh5
1 files changed, 5 insertions, 0 deletions
diff --git a/scripts/gcc-goto.sh b/scripts/gcc-goto.sh
new file mode 100644
index 0000000..8e82424
--- /dev/null
+++ b/scripts/gcc-goto.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+# Test for gcc 'asm goto' suport
+# Copyright (C) 2010, Jason Baron <jbaron@redhat.com>
+
+echo "int main(void) { entry: asm goto (\"\"::::entry); return 0; }" | $1 -x c - -c -o /dev/null >/dev/null 2>&1 && echo "y"