Deleted Added
full compact
2c2
< Copyright (c) 2003 Hewlett-Packard Development Company, L.P.
---
> Copyright (c) 2003-2006 Hewlett-Packard Development Company, L.P.
28d27
< #ifndef _KERNEL
31,34d29
< #else
< #include <sys/param.h>
< #include <sys/systm.h>
< #endif
42c37
< #define UWX_VERSION 1 /* Version id for callback interfaces */
---
> #define UWX_VERSION 3 /* Version id for callback interfaces */
46a42,44
> /* Symbol Cache for uwx_find_symbol (opaque) */
> struct uwx_symbol_cache;
>
60a59,61
> /* Put unwind express into reduced-context mode (no floating-point regs) */
> __EXTERN_C int uwx_set_nofr(struct uwx_env *env);
>
109a111,121
> /* Get module name and text base, if available, for current frame */
> __EXTERN_C int uwx_get_module_info(
> struct uwx_env *env, /* unwind environment */
> char **modp, /* load module name (out) */
> uint64_t *text_base); /* base address of text segment (out) */
>
> /* Get function start address for current frame */
> __EXTERN_C int uwx_get_funcstart(
> struct uwx_env *env, /* unwind environment */
> uint64_t *funcstart); /* function start address (out) */
>
116a129,144
> /* Get symbol information, given module name and IP */
> __EXTERN_C int uwx_find_symbol(
> struct uwx_env *env, /* unwind environment */
> struct uwx_symbol_cache **cachep,
> /* ptr to symbol cache ptr (in/out) */
> char *mod, /* load module name */
> uint64_t relip, /* IP, relative to text segment */
> char **symp, /* function name (out) */
> uint64_t *offsetp); /* offset from start of function (out) */
>
> /* Release memory used by symbol cache */
> __EXTERN_C void uwx_release_symbol_cache(
> struct uwx_env *env, /* unwind environment */
> struct uwx_symbol_cache *symbol_cache);
> /* symbol cache ptr */
>
137a166,169
> /* Increment/Decrement the bsp by a number of slots */
> /* (accounts for NaT collections) */
> __EXTERN_C uint64_t uwx_add_to_bsp(uint64_t bsp, int nslots);
>
160a193,194
> #define UWX_ERR_UCACCESS (-20) /* Failure in libuca */
> #define UWX_ERR_NOSYM (-21) /* Symbol not found */
171a206
> #define UWX_LKUP_MODULE 4 /* Get module name */
201a237
> #define UWX_KEY_GP 7 /* GP value for module */
206a243
> /* Use UWX_KEY_GP for the module's gp value. */
214a252
> /* Use UWX_KEY_GP for the module's gp value. */
221a260
> /* Use UWX_KEY_TBASE for the base of the text segment */
248a288
> #define UWX_REG_GP 15 /* gp (pseudo-register) */
323a364,371
> int get_module_info(char **modp, uint64_t *text_base_p) {
> return uwx_get_module_info(env, modp, text_base_p);
> }
>
> int get_funcstart(uint64_t *funcstart) {
> return uwx_get_funcstart(env, funcstart);
> }
>
327a376,384
> int find_symbol(struct uwx_symbol_cache **cachep,
> char *mod, uint64_t relip, char **symp, uint64_t *offsetp) {
> return uwx_find_symbol(env, cachep, mod, relip, symp, offsetp);
> }
>
> void release_symbol_cache(struct uwx_symbol_cache *symbol_cache) {
> uwx_release_symbol_cache(env, symbol_cache);
> }
>