1ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Roux/* libunwind - a platform-independent unwind library 2ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Roux Copyright (C) 2008 CodeSourcery 3ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Roux Copyright (C) 2011-2013 Linaro Limited 4ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Roux 5ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan RouxThis file is part of libunwind. 6ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Roux 7ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan RouxPermission is hereby granted, free of charge, to any person obtaining 8ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Rouxa copy of this software and associated documentation files (the 9ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Roux"Software"), to deal in the Software without restriction, including 10ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Rouxwithout limitation the rights to use, copy, modify, merge, publish, 11ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Rouxdistribute, sublicense, and/or sell copies of the Software, and to 12ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Rouxpermit persons to whom the Software is furnished to do so, subject to 13ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Rouxthe following conditions: 14ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Roux 15ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan RouxThe above copyright notice and this permission notice shall be 16ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Rouxincluded in all copies or substantial portions of the Software. 17ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Roux 18ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan RouxTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan RouxEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan RouxMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan RouxNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 22ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan RouxLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 23ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan RouxOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 24ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan RouxWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ 25ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Roux 26ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Roux#include "unwind_i.h" 27ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Roux#include "init.h" 28ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Roux 29ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Roux#ifdef UNW_REMOTE_ONLY 30ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Roux 31ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan RouxPROTECTED int 32ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Rouxunw_init_local (unw_cursor_t *cursor, unw_context_t *uc) 33ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Roux{ 34ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Roux return -UNW_EINVAL; 35ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Roux} 36ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Roux 37ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Roux#else /* !UNW_REMOTE_ONLY */ 38ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Roux 39ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan RouxPROTECTED int 40ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Rouxunw_init_local (unw_cursor_t *cursor, unw_context_t *uc) 41ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Roux{ 42ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Roux struct cursor *c = (struct cursor *) cursor; 43ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Roux 44ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Roux if (!tdep_init_done) 45ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Roux tdep_init (); 46ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Roux 47ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Roux Debug (1, "(cursor=%p)\n", c); 48ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Roux 49ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Roux c->dwarf.as = unw_local_addr_space; 50ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Roux c->dwarf.as_arg = uc; 51ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Roux 52ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Roux return common_init (c, 1); 53ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Roux} 54ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Roux 55ac6c0a6535975f1dc2da6e4e2766614baac2a14aYvan Roux#endif /* !UNW_REMOTE_ONLY */ 56