1/* libunwind - a platform-independent unwind library
2   Copyright (C) 2003 Hewlett-Packard Co
3        Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
4
5   Modified for x86_64 by Max Asbock <masbock@us.ibm.com>
6   Copyright (C) 2012 Tommi Rantala <tt.rantala@gmail.com>
7   Modified for s390x by Michael Munday <mike.munday@ibm.com>
8
9This file is part of libunwind.
10
11Permission is hereby granted, free of charge, to any person obtaining
12a copy of this software and associated documentation files (the
13"Software"), to deal in the Software without restriction, including
14without limitation the rights to use, copy, modify, merge, publish,
15distribute, sublicense, and/or sell copies of the Software, and to
16permit persons to whom the Software is furnished to do so, subject to
17the following conditions:
18
19The above copyright notice and this permission notice shall be
20included in all copies or substantial portions of the Software.
21
22THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
23EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
24MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
25NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
26LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
27OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
28WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
29
30#include <stdlib.h>
31
32#include "unwind_i.h"
33
34unw_addr_space_t
35unw_create_addr_space (unw_accessors_t *a, int byte_order)
36{
37#ifdef UNW_LOCAL_ONLY
38  return NULL;
39#else
40  unw_addr_space_t as;
41
42  /*
43   * s390x supports only big-endian.
44   */
45  if (byte_order != 0 && byte_order != UNW_BIG_ENDIAN)
46    return NULL;
47
48  as = malloc (sizeof (*as));
49  if (!as)
50    return NULL;
51
52  memset (as, 0, sizeof (*as));
53
54  as->acc = *a;
55
56  return as;
57#endif
58}
59