19f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidm/* libunwind - a platform-independent unwind library 29f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidm Copyright (c) 2003 Hewlett-Packard Development Company, L.P. 39f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidm Contributed by David Mosberger-Tang <davidm@hpl.hp.com> 49f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidm 59f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidmThis file is part of libunwind. 69f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidm 79f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidmPermission is hereby granted, free of charge, to any person obtaining 89f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidma copy of this software and associated documentation files (the 99f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidm"Software"), to deal in the Software without restriction, including 109f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidmwithout limitation the rights to use, copy, modify, merge, publish, 119f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidmdistribute, sublicense, and/or sell copies of the Software, and to 129f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidmpermit persons to whom the Software is furnished to do so, subject to 139f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidmthe following conditions: 149f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidm 159f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidmThe above copyright notice and this permission notice shall be 169f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidmincluded in all copies or substantial portions of the Software. 179f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidm 189f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidmTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 199f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidmEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 209f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidmMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 219f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidmNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 229f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidmLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 239f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidmOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 249f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidmWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ 259f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidm 269f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidm#include "init.h" 279f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidm#include "unwind_i.h" 289f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidm 299f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidmPROTECTED int 309f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidmunw_init_remote (unw_cursor_t *cursor, unw_addr_space_t as, void *as_arg) 319f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidm{ 329f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidm#ifdef UNW_LOCAL_ONLY 339f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidm return -UNW_EINVAL; 349f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidm#else /* !UNW_LOCAL_ONLY */ 359f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidm struct cursor *c = (struct cursor *) cursor; 369f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidm 375d0f376b08126b51a001d7cdfba1ec4e0d644f54Tommi Rantala if (!tdep_init_done) 389f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidm tdep_init (); 399f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidm 40f576cce7480d6acee537cecfeb5530187e50f785hp.com!davidm Debug (1, "(cursor=%p)\n", c); 419f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidm 429f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidm c->dwarf.as = as; 439f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidm c->dwarf.as_arg = as_arg; 44ff0ae70cc3c3c1498724deed519cd18dde6c1e80Arun Sharma if (as == unw_local_addr_space) 45ff0ae70cc3c3c1498724deed519cd18dde6c1e80Arun Sharma { 46ff0ae70cc3c3c1498724deed519cd18dde6c1e80Arun Sharma c->dwarf.as_arg = c; 47ff0ae70cc3c3c1498724deed519cd18dde6c1e80Arun Sharma c->uc = as_arg; 48ff0ae70cc3c3c1498724deed519cd18dde6c1e80Arun Sharma } 49ff0ae70cc3c3c1498724deed519cd18dde6c1e80Arun Sharma else 50ff0ae70cc3c3c1498724deed519cd18dde6c1e80Arun Sharma { 51ff0ae70cc3c3c1498724deed519cd18dde6c1e80Arun Sharma c->dwarf.as_arg = as_arg; 52ff0ae70cc3c3c1498724deed519cd18dde6c1e80Arun Sharma c->uc = 0; 53ff0ae70cc3c3c1498724deed519cd18dde6c1e80Arun Sharma } 54a9dce3c06e6ffcb83957e734d960505415118f00Lassi Tuura return common_init (c, 0); 559f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidm#endif /* !UNW_LOCAL_ONLY */ 569f2cd2318d7afea7f05ffe9041fbcbedd2594b08homeip.net!davidm} 57