1db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidm/* libunwind - a platform-independent unwind library 2db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidm Copyright (c) 2002-2003 Hewlett-Packard Development Company, L.P. 3db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidm Contributed by David Mosberger-Tang <davidm@hpl.hp.com> 4db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidm 5db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidmThis file is part of libunwind. 6db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidm 7db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidmPermission is hereby granted, free of charge, to any person obtaining 8db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidma copy of this software and associated documentation files (the 9db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidm"Software"), to deal in the Software without restriction, including 10db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidmwithout limitation the rights to use, copy, modify, merge, publish, 11db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidmdistribute, sublicense, and/or sell copies of the Software, and to 12db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidmpermit persons to whom the Software is furnished to do so, subject to 13db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidmthe following conditions: 14db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidm 15db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidmThe above copyright notice and this permission notice shall be 16db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidmincluded in all copies or substantial portions of the Software. 17db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidm 18db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidmTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidmEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidmMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidmNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 22db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidmLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 23db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidmOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 24db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidmWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ 25db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidm 26db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidm#include "unwind_i.h" 27db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidm#include "init.h" 28db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidm 29db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidm#ifdef UNW_REMOTE_ONLY 30db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidm 31db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidmPROTECTED int 32db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidmunw_init_local (unw_cursor_t *cursor, ucontext_t *uc) 33db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidm{ 34db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidm return -UNW_EINVAL; 35db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidm} 36db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidm 37db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidm#else /* !UNW_REMOTE_ONLY */ 38db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidm 39db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidmPROTECTED int 40db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidmunw_init_local (unw_cursor_t *cursor, ucontext_t *uc) 41db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidm{ 42db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidm struct cursor *c = (struct cursor *) cursor; 43db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidm 445d0f376b08126b51a001d7cdfba1ec4e0d644f54Tommi Rantala if (!tdep_init_done) 45db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidm tdep_init (); 46db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidm 47f576cce7480d6acee537cecfeb5530187e50f785hp.com!davidm Debug (1, "(cursor=%p)\n", c); 48db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidm 49db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidm c->dwarf.as = unw_local_addr_space; 50ff0ae70cc3c3c1498724deed519cd18dde6c1e80Arun Sharma c->dwarf.as_arg = c; 51ff0ae70cc3c3c1498724deed519cd18dde6c1e80Arun Sharma c->uc = uc; 52ff0ae70cc3c3c1498724deed519cd18dde6c1e80Arun Sharma c->validate = 0; 530996405de25a3aab5045d20803c8f0a5441d0c57Christopher Ferris 54a9dce3c06e6ffcb83957e734d960505415118f00Lassi Tuura return common_init (c, 1); 55db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidm} 56db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidm 57db8a0c4373db4f13a72d97c2ed2c69a68ece03abhomeip.net!davidm#endif /* !UNW_REMOTE_ONLY */ 58