18848501cfe2a5965509b6bd8cd616d8abd356283hp.com!davidm/* libunwind - a platform-independent unwind library 266100609bb7fb01811e64318bec3018d0bc9abd5homeip.net!davidm Copyright (C) 2003-2004 Hewlett-Packard Co 38848501cfe2a5965509b6bd8cd616d8abd356283hp.com!davidm Contributed by David Mosberger-Tang <davidm@hpl.hp.com> 48848501cfe2a5965509b6bd8cd616d8abd356283hp.com!davidm 58848501cfe2a5965509b6bd8cd616d8abd356283hp.com!davidmThis file is part of libunwind. 68848501cfe2a5965509b6bd8cd616d8abd356283hp.com!davidm 78848501cfe2a5965509b6bd8cd616d8abd356283hp.com!davidmPermission is hereby granted, free of charge, to any person obtaining 88848501cfe2a5965509b6bd8cd616d8abd356283hp.com!davidma copy of this software and associated documentation files (the 98848501cfe2a5965509b6bd8cd616d8abd356283hp.com!davidm"Software"), to deal in the Software without restriction, including 108848501cfe2a5965509b6bd8cd616d8abd356283hp.com!davidmwithout limitation the rights to use, copy, modify, merge, publish, 118848501cfe2a5965509b6bd8cd616d8abd356283hp.com!davidmdistribute, sublicense, and/or sell copies of the Software, and to 128848501cfe2a5965509b6bd8cd616d8abd356283hp.com!davidmpermit persons to whom the Software is furnished to do so, subject to 138848501cfe2a5965509b6bd8cd616d8abd356283hp.com!davidmthe following conditions: 148848501cfe2a5965509b6bd8cd616d8abd356283hp.com!davidm 158848501cfe2a5965509b6bd8cd616d8abd356283hp.com!davidmThe above copyright notice and this permission notice shall be 168848501cfe2a5965509b6bd8cd616d8abd356283hp.com!davidmincluded in all copies or substantial portions of the Software. 178848501cfe2a5965509b6bd8cd616d8abd356283hp.com!davidm 188848501cfe2a5965509b6bd8cd616d8abd356283hp.com!davidmTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 198848501cfe2a5965509b6bd8cd616d8abd356283hp.com!davidmEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 208848501cfe2a5965509b6bd8cd616d8abd356283hp.com!davidmMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 218848501cfe2a5965509b6bd8cd616d8abd356283hp.com!davidmNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 228848501cfe2a5965509b6bd8cd616d8abd356283hp.com!davidmLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 238848501cfe2a5965509b6bd8cd616d8abd356283hp.com!davidmOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 248848501cfe2a5965509b6bd8cd616d8abd356283hp.com!davidmWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ 258848501cfe2a5965509b6bd8cd616d8abd356283hp.com!davidm 268848501cfe2a5965509b6bd8cd616d8abd356283hp.com!davidm#include "unwind-internal.h" 278848501cfe2a5965509b6bd8cd616d8abd356283hp.com!davidm 288848501cfe2a5965509b6bd8cd616d8abd356283hp.com!davidmPROTECTED void 298848501cfe2a5965509b6bd8cd616d8abd356283hp.com!davidm_Unwind_Resume (struct _Unwind_Exception *exception_object) 308848501cfe2a5965509b6bd8cd616d8abd356283hp.com!davidm{ 318848501cfe2a5965509b6bd8cd616d8abd356283hp.com!davidm struct _Unwind_Context context; 328848501cfe2a5965509b6bd8cd616d8abd356283hp.com!davidm unw_context_t uc; 332319e0f1aec9e1f716eff88987b0023c5b2f6c07Christopher Ferris /* ANDROID support update. */ 342319e0f1aec9e1f716eff88987b0023c5b2f6c07Christopher Ferris int destroy_map = 1; 352319e0f1aec9e1f716eff88987b0023c5b2f6c07Christopher Ferris 362319e0f1aec9e1f716eff88987b0023c5b2f6c07Christopher Ferris unw_map_local_create (); 378848501cfe2a5965509b6bd8cd616d8abd356283hp.com!davidm 388848501cfe2a5965509b6bd8cd616d8abd356283hp.com!davidm if (_Unwind_InitContext (&context, &uc) < 0) 392319e0f1aec9e1f716eff88987b0023c5b2f6c07Christopher Ferris { 402319e0f1aec9e1f716eff88987b0023c5b2f6c07Christopher Ferris unw_map_local_destroy (); 412319e0f1aec9e1f716eff88987b0023c5b2f6c07Christopher Ferris abort (); 422319e0f1aec9e1f716eff88987b0023c5b2f6c07Christopher Ferris } 432319e0f1aec9e1f716eff88987b0023c5b2f6c07Christopher Ferris 442319e0f1aec9e1f716eff88987b0023c5b2f6c07Christopher Ferris _Unwind_Phase2 (exception_object, &context, &destroy_map); 458848501cfe2a5965509b6bd8cd616d8abd356283hp.com!davidm 462319e0f1aec9e1f716eff88987b0023c5b2f6c07Christopher Ferris if (destroy_map) 472319e0f1aec9e1f716eff88987b0023c5b2f6c07Christopher Ferris unw_map_local_destroy (); 482319e0f1aec9e1f716eff88987b0023c5b2f6c07Christopher Ferris /* End ANDROID support. */ 498848501cfe2a5965509b6bd8cd616d8abd356283hp.com!davidm abort (); 508848501cfe2a5965509b6bd8cd616d8abd356283hp.com!davidm} 5166100609bb7fb01811e64318bec3018d0bc9abd5homeip.net!davidm 5266100609bb7fb01811e64318bec3018d0bc9abd5homeip.net!davidmvoid __libunwind_Unwind_Resume (struct _Unwind_Exception *) 5366100609bb7fb01811e64318bec3018d0bc9abd5homeip.net!davidm ALIAS (_Unwind_Resume); 54