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