1c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidm/* libunwind - a platform-independent unwind library
2c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidm   Copyright (c) 2004 Hewlett-Packard Development Company, L.P.
3c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidm	Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
4c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidm
5c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidmThis file is part of libunwind.
6c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidm
7c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidmPermission is hereby granted, free of charge, to any person obtaining
8c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidma copy of this software and associated documentation files (the
9c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidm"Software"), to deal in the Software without restriction, including
10c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidmwithout limitation the rights to use, copy, modify, merge, publish,
11c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidmdistribute, sublicense, and/or sell copies of the Software, and to
12c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidmpermit persons to whom the Software is furnished to do so, subject to
13c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidmthe following conditions:
14c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidm
15c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidmThe above copyright notice and this permission notice shall be
16c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidmincluded in all copies or substantial portions of the Software.
17c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidm
18c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidmTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidmEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidmMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidmNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
22c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidmLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
23c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidmOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
24c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidmWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
25c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidm
26c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidm#ifndef dwarf_config_h
27c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidm#define dwarf_config_h
28c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidm
29c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidm/* See DWARF_FRAME_REGNUM() macro in gcc/config/pa/pa32-regs.h: */
30c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidm#define dwarf_to_unw_regnum(reg)			\
31c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidm  (((reg) < DWARF_NUM_PRESERVED_REGS) ? (reg) : 0)
32c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidm
33c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidm/* This matches the value used by GCC (see
34c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidm   gcc/config/pa/pa32-regs.h:FIRST_PSEUDO_REGISTER), which leaves
35c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidm   plenty of room for expansion.  */
36c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidm#define DWARF_NUM_PRESERVED_REGS	89
37c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidm
38c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidm/* Return TRUE if the ADDR_SPACE uses big-endian byte-order.  */
39c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidm#define dwarf_is_big_endian(addr_space)	1
40c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidm
41c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidm/* Convert a pointer to a dwarf_cursor structure to a pointer to
42c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidm   unw_cursor_t.  */
43c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidm#define dwarf_to_cursor(c)	((unw_cursor_t *) (c))
44c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidm
45c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidmtypedef struct dwarf_loc
46c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidm  {
47c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidm    unw_word_t val;
48c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidm#ifndef UNW_LOCAL_ONLY
49c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidm    unw_word_t type;		/* see X86_LOC_TYPE_* macros.  */
50c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidm#endif
51c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidm  }
52c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidmdwarf_loc_t;
53c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidm
54c56b45e82e2cccbde443ba67717af5253ece1eb8hp.com!davidm#endif /* dwarf_config_h */
55