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