summaryrefslogtreecommitdiff
path: root/include/linux/unwind.h
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2006-10-21 18:37:01 +0200
committerAndi Kleen <andi@basil.nowhere.org>2006-10-21 18:37:01 +0200
commit690a973f48b6ba2954465992c08e65059c8374fe (patch)
treeb30a59496628592233944b3f4340cdfdf9d3d5de /include/linux/unwind.h
parentcdfce1f5714fec7b24715f569b2fee1607350a6d (diff)
downloadlwn-690a973f48b6ba2954465992c08e65059c8374fe.tar.gz
lwn-690a973f48b6ba2954465992c08e65059c8374fe.zip
[PATCH] x86-64: Speed up dwarf2 unwinder
This changes the dwarf2 unwinder to do a binary search for CIEs instead of a linear work. The linker is unfortunately not able to build a proper lookup table at link time, instead it creates one at runtime as soon as the bootmem allocator is usable (so you'll continue using the linear lookup for the first [hopefully] few calls). The code should be ready to utilize a build-time created table once a fixed linker becomes available. Signed-off-by: Jan Beulich <jbeulich@novell.com> Signed-off-by: Andi Kleen <ak@suse.de>
Diffstat (limited to 'include/linux/unwind.h')
-rw-r--r--include/linux/unwind.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/unwind.h b/include/linux/unwind.h
index 73e1751d03dd..749928c161fb 100644
--- a/include/linux/unwind.h
+++ b/include/linux/unwind.h
@@ -26,6 +26,7 @@ struct module;
* Initialize unwind support.
*/
extern void unwind_init(void);
+extern void unwind_setup(void);
#ifdef CONFIG_MODULES
@@ -73,6 +74,7 @@ extern int unwind_to_user(struct unwind_frame_info *);
struct unwind_frame_info {};
static inline void unwind_init(void) {}
+static inline void unwind_setup(void) {}
#ifdef CONFIG_MODULES