137be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tang/* libunwind - a platform-independent unwind library 237be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tang Copyright (c) 2003, 2005 Hewlett-Packard Development Company, L.P. 337be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tang Contributed by David Mosberger-Tang <davidm@hpl.hp.com> 437be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tang 537be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tang Modified for x86_64 by Max Asbock <masbock@us.ibm.com> 637be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tang 737be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-TangThis file is part of libunwind. 837be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tang 937be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-TangPermission is hereby granted, free of charge, to any person obtaining 1037be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tanga copy of this software and associated documentation files (the 1137be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tang"Software"), to deal in the Software without restriction, including 1237be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tangwithout limitation the rights to use, copy, modify, merge, publish, 1337be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tangdistribute, sublicense, and/or sell copies of the Software, and to 1437be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tangpermit persons to whom the Software is furnished to do so, subject to 1537be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tangthe following conditions: 1637be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tang 1737be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-TangThe above copyright notice and this permission notice shall be 1837be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tangincluded in all copies or substantial portions of the Software. 1937be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tang 2037be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-TangTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 2137be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-TangEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 2237be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-TangMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 2337be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-TangNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 2437be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-TangLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 2537be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-TangOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 2637be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-TangWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ 2737be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tang 2837be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tang/* copy of include/tdep-x86/dwarf-config.h, modified slightly for x86-64 2937be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tang some consolidation is possible here */ 3037be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tang 3137be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tang#ifndef dwarf_config_h 3237be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tang#define dwarf_config_h 3337be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tang 3437be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tang/* XXX need to verify if this value is correct */ 35e09f9701ffcd05b097565d15daa87ac1b2d84299Arun Sharma#ifdef CONFIG_MSABI_SUPPORT 36e09f9701ffcd05b097565d15daa87ac1b2d84299Arun Sharma#define DWARF_NUM_PRESERVED_REGS 33 37e09f9701ffcd05b097565d15daa87ac1b2d84299Arun Sharma#else 3837be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tang#define DWARF_NUM_PRESERVED_REGS 17 39e09f9701ffcd05b097565d15daa87ac1b2d84299Arun Sharma#endif 4037be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tang 41e09f9701ffcd05b097565d15daa87ac1b2d84299Arun Sharma#define DWARF_REGNUM_MAP_LENGTH DWARF_NUM_PRESERVED_REGS 4237be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tang 4337be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tang/* Return TRUE if the ADDR_SPACE uses big-endian byte-order. */ 4437be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tang#define dwarf_is_big_endian(addr_space) 0 4537be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tang 4637be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tang/* Convert a pointer to a dwarf_cursor structure to a pointer to 4737be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tang unw_cursor_t. */ 4837be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tang#define dwarf_to_cursor(c) ((unw_cursor_t *) (c)) 4937be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tang 5037be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tangtypedef struct dwarf_loc 5137be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tang { 5237be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tang unw_word_t val; 5337be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tang#ifndef UNW_LOCAL_ONLY 5437be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tang unw_word_t type; /* see X86_LOC_TYPE_* macros. */ 5537be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tang#endif 5637be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tang } 5737be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tangdwarf_loc_t; 5837be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tang 5937be21c01ebe23402d4b5f1391e7a83da34e8c32David Mosberger-Tang#endif /* dwarf_config_h */ 60