1a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-Tang/* libunwind - a platform-independent unwind library 2a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-Tang Copyright (C) 2004 Hewlett-Packard Co 3a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-Tang Contributed by David Mosberger-Tang <davidm@hpl.hp.com> 4a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-Tang 5a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-TangThis file is part of libunwind. 6a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-Tang 7a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-TangPermission is hereby granted, free of charge, to any person obtaining 8a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-Tanga copy of this software and associated documentation files (the 9a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-Tang"Software"), to deal in the Software without restriction, including 10a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-Tangwithout limitation the rights to use, copy, modify, merge, publish, 11a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-Tangdistribute, sublicense, and/or sell copies of the Software, and to 12a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-Tangpermit persons to whom the Software is furnished to do so, subject to 13a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-Tangthe following conditions: 14a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-Tang 15a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-TangThe above copyright notice and this permission notice shall be 16a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-Tangincluded in all copies or substantial portions of the Software. 17a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-Tang 18a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-TangTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-TangEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-TangMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-TangNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 22a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-TangLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 23a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-TangOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 24a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-TangWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ 25a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-Tang 26a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-Tang#include <stdlib.h> 27a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-Tang 28a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-Tang#include "unwind_i.h" 29a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-Tang 30a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-TangPROTECTED unw_addr_space_t 31a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-Tangunw_create_addr_space (unw_accessors_t *a, int byte_order) 32a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-Tang{ 33a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-Tang#ifdef UNW_LOCAL_ONLY 34a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-Tang return NULL; 35a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-Tang#else 365fef17c05dd20ea6c0a6e3532177a916ef022a3cTommi Rantala unw_addr_space_t as; 37a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-Tang 385fef17c05dd20ea6c0a6e3532177a916ef022a3cTommi Rantala /* 395fef17c05dd20ea6c0a6e3532177a916ef022a3cTommi Rantala * hppa supports only big-endian. 405fef17c05dd20ea6c0a6e3532177a916ef022a3cTommi Rantala */ 415fef17c05dd20ea6c0a6e3532177a916ef022a3cTommi Rantala if (byte_order != 0 && byte_order != __BIG_ENDIAN) 425fef17c05dd20ea6c0a6e3532177a916ef022a3cTommi Rantala return NULL; 435fef17c05dd20ea6c0a6e3532177a916ef022a3cTommi Rantala 445fef17c05dd20ea6c0a6e3532177a916ef022a3cTommi Rantala as = malloc (sizeof (*as)); 45a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-Tang if (!as) 46a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-Tang return NULL; 47a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-Tang 48a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-Tang memset (as, 0, sizeof (*as)); 49a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-Tang 50a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-Tang as->acc = *a; 51a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-Tang 52a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-Tang return as; 53a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-Tang#endif 54a369768c279654ae247643f81e0d2f6f7ddd4d15David Mosberger-Tang} 55