From 1c9db4fdf66fe88a731319b99942872fa567d742 Mon Sep 17 00:00:00 2001 From: askeshav Date: Fri, 28 Oct 2005 22:49:28 +0000 Subject: IA64 Runtime support patches. With this in place Systemtap should now be able to build on Ia64. Includes supports for - function probes, return probes, function parameter access and dumping stack backtrace. Added by Anil S Keshavamurthy --- runtime/runtime.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'runtime/runtime.h') diff --git a/runtime/runtime.h b/runtime/runtime.h index e077c29a..3bc6671b 100644 --- a/runtime/runtime.h +++ b/runtime/runtime.h @@ -1,5 +1,6 @@ /* main header file * Copyright (C) 2005 Red Hat Inc. + * Copyright (C) 2005 Intel Corporation. * * This file is part of systemtap, and is free software. You can * redistribute it and/or modify it under the terms of the GNU General @@ -125,6 +126,9 @@ static const char * _stp_kallsyms_lookup_tabled (unsigned long addr, } #endif +#ifdef __ia64__ + struct fnptr func_entry, *pfunc_entry; +#endif int init_module (void) { _stp_kta = (int (*)(unsigned long))kallsyms_lookup_name("__kernel_text_address"); @@ -134,8 +138,17 @@ int init_module (void) _stp_kallsyms_lookup = & _stp_kallsyms_lookup_tabled; else #endif +#ifdef __ia64__ + { + func_entry.gp = ((struct fnptr *) kallsyms_lookup_name)->gp; + func_entry.ip = kallsyms_lookup_name("kallsyms_lookup"); + _stp_kallsyms_lookup = (const char * (*)(unsigned long,unsigned long *,unsigned long *,char **,char *))&func_entry; + + } +#else _stp_kallsyms_lookup = (const char * (*)(unsigned long,unsigned long *,unsigned long *,char **,char *)) kallsyms_lookup_name("kallsyms_lookup"); +#endif return _stp_transport_init(); } -- cgit