1cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidm/* libunwind - a platform-independent unwind library
27fbb8a9593f87a8e50964e61872eccc0afd9b0bfmostang.com!davidm   Copyright (C) 2002-2005 Hewlett-Packard Co
3cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidm	Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
4cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidm
5cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidmThis file is part of libunwind.
6cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidm
7cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidmPermission is hereby granted, free of charge, to any person obtaining
8cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidma copy of this software and associated documentation files (the
9cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidm"Software"), to deal in the Software without restriction, including
10cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidmwithout limitation the rights to use, copy, modify, merge, publish,
11cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidmdistribute, sublicense, and/or sell copies of the Software, and to
12cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidmpermit persons to whom the Software is furnished to do so, subject to
13cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidmthe following conditions:
14cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidm
15cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidmThe above copyright notice and this permission notice shall be
16cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidmincluded in all copies or substantial portions of the Software.
17cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidm
18cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidmTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidmEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidmMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidmNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
22cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidmLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
23cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidmOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
24cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidmWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
25cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidm
2607b01ad205162a93dab42722caaa4dbb7ba43b3fhp.com!davidm#include "libunwind_i.h"
27cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidm
287fbb8a9593f87a8e50964e61872eccc0afd9b0bfmostang.com!davidmHIDDEN intrmask_t unwi_full_mask;
29cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidm
30cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidmstatic const char rcsid[] UNUSED =
31cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidm  "$Id: " PACKAGE_STRING " --- report bugs to " PACKAGE_BUGREPORT " $";
32cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidm
33cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidm#if UNW_DEBUG
34cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidm
35cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidm/* Must not be declared HIDDEN/PROTECTED because libunwind.so and
36cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidm   libunwind-PLATFORM.so will both define their own copies of this
37cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidm   variable and we want to use only one or the other when both
38cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidm   libraries are loaded.  */
39cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidmlong unwi_debug_level;
40cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidm
41cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidm#endif /* UNW_DEBUG */
42cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidm
43cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidmHIDDEN void
44cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidmmi_init (void)
45cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidm{
46cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidm#if UNW_DEBUG
47cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidm  const char *str = getenv ("UNW_DEBUG_LEVEL");
48cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidm
49cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidm  if (str)
50cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidm    unwi_debug_level = atoi (str);
51cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidm
52cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidm  if (unwi_debug_level > 0)
53cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidm    {
54cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidm      setbuf (stdout, NULL);
55cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidm      setbuf (stderr, NULL);
56cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidm    }
57cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidm#endif
58cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidm
59db24e76397e4466a08e45104a0ac763b1e44b899mostang.com!davidm  assert (sizeof (struct cursor) <= sizeof (unw_cursor_t));
60cf69b9cb0d055a068ababeed3ba7b55744205706hp.com!davidm}
61