1ec0b5955f7028fccfaf5b84021dd19331387643chp.com!davidm/* libunwind - a platform-independent unwind library 266100609bb7fb01811e64318bec3018d0bc9abd5homeip.net!davidm Copyright (C) 2003-2004 Hewlett-Packard Co 3ec0b5955f7028fccfaf5b84021dd19331387643chp.com!davidm Contributed by David Mosberger-Tang <davidm@hpl.hp.com> 4ec0b5955f7028fccfaf5b84021dd19331387643chp.com!davidm 5ec0b5955f7028fccfaf5b84021dd19331387643chp.com!davidmThis file is part of libunwind. 6ec0b5955f7028fccfaf5b84021dd19331387643chp.com!davidm 7ec0b5955f7028fccfaf5b84021dd19331387643chp.com!davidmPermission is hereby granted, free of charge, to any person obtaining 8ec0b5955f7028fccfaf5b84021dd19331387643chp.com!davidma copy of this software and associated documentation files (the 9ec0b5955f7028fccfaf5b84021dd19331387643chp.com!davidm"Software"), to deal in the Software without restriction, including 10ec0b5955f7028fccfaf5b84021dd19331387643chp.com!davidmwithout limitation the rights to use, copy, modify, merge, publish, 11ec0b5955f7028fccfaf5b84021dd19331387643chp.com!davidmdistribute, sublicense, and/or sell copies of the Software, and to 12ec0b5955f7028fccfaf5b84021dd19331387643chp.com!davidmpermit persons to whom the Software is furnished to do so, subject to 13ec0b5955f7028fccfaf5b84021dd19331387643chp.com!davidmthe following conditions: 14ec0b5955f7028fccfaf5b84021dd19331387643chp.com!davidm 15ec0b5955f7028fccfaf5b84021dd19331387643chp.com!davidmThe above copyright notice and this permission notice shall be 16ec0b5955f7028fccfaf5b84021dd19331387643chp.com!davidmincluded in all copies or substantial portions of the Software. 17ec0b5955f7028fccfaf5b84021dd19331387643chp.com!davidm 18ec0b5955f7028fccfaf5b84021dd19331387643chp.com!davidmTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19ec0b5955f7028fccfaf5b84021dd19331387643chp.com!davidmEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20ec0b5955f7028fccfaf5b84021dd19331387643chp.com!davidmMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21ec0b5955f7028fccfaf5b84021dd19331387643chp.com!davidmNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 22ec0b5955f7028fccfaf5b84021dd19331387643chp.com!davidmLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 23ec0b5955f7028fccfaf5b84021dd19331387643chp.com!davidmOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 24ec0b5955f7028fccfaf5b84021dd19331387643chp.com!davidmWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ 25ec0b5955f7028fccfaf5b84021dd19331387643chp.com!davidm 26ec0b5955f7028fccfaf5b84021dd19331387643chp.com!davidm#include "unwind-internal.h" 27ec0b5955f7028fccfaf5b84021dd19331387643chp.com!davidm 28ec0b5955f7028fccfaf5b84021dd19331387643chp.com!davidmPROTECTED void * 29ec0b5955f7028fccfaf5b84021dd19331387643chp.com!davidm_Unwind_FindEnclosingFunction (void *ip) 30ec0b5955f7028fccfaf5b84021dd19331387643chp.com!davidm{ 31ec0b5955f7028fccfaf5b84021dd19331387643chp.com!davidm unw_proc_info_t pi; 32ec0b5955f7028fccfaf5b84021dd19331387643chp.com!davidm 333842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz if (unw_get_proc_info_by_ip (unw_local_addr_space, 343842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz (unw_word_t) (uintptr_t) ip, &pi, 0) 35ec0b5955f7028fccfaf5b84021dd19331387643chp.com!davidm < 0) 36ec0b5955f7028fccfaf5b84021dd19331387643chp.com!davidm return NULL; 37ec0b5955f7028fccfaf5b84021dd19331387643chp.com!davidm 383842dac7333e42aa44531eda34ba55200b99ccf8Daniel Jacobowitz return (void *) (uintptr_t) pi.start_ip; 39ec0b5955f7028fccfaf5b84021dd19331387643chp.com!davidm} 4066100609bb7fb01811e64318bec3018d0bc9abd5homeip.net!davidm 4166100609bb7fb01811e64318bec3018d0bc9abd5homeip.net!davidmvoid *__libunwind_Unwind_FindEnclosingFunction (void *) 4266100609bb7fb01811e64318bec3018d0bc9abd5homeip.net!davidm ALIAS (_Unwind_FindEnclosingFunction); 43