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