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