1 /* -*- mode: C++; c-basic-offset: 4; tab-width: 4 -*-
3 * Copyright (c) 2004-2007 Apple Inc. All rights reserved.
5 * @APPLE_LICENSE_HEADER_START@
7 * This file contains Original Code and/or Modifications of Original Code
8 * as defined in and that are subject to the Apple Public Source License
9 * Version 2.0 (the 'License'). You may not use this file except in
10 * compliance with the License. Please obtain a copy of the License at
11 * http://www.opensource.apple.com/apsl/ and read it before using this
14 * The Original Code and all software distributed under the License are
15 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
16 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
17 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
19 * Please see the License for the specific language governing rights and
20 * limitations under the License.
22 * @APPLE_LICENSE_HEADER_END@
32 // abort called by C++ unwinding code
38 // std::terminate called by C++ unwinding code
39 void _ZSt9terminatev()
44 // std::unexpected called by C++ unwinding code
45 void _ZSt10unexpectedv()
50 // __cxxabiv1::__terminate(void (*)()) called to terminate process
51 void _ZN10__cxxabiv111__terminateEPFvvE()
56 // __cxxabiv1::__unexpected(void (*)()) called to terminate process
57 void _ZN10__cxxabiv112__unexpectedEPFvvE()
62 // __cxxabiv1::__terminate_handler
63 void* _ZN10__cxxabiv119__terminate_handlerE
= &_ZSt9terminatev
;
65 // __cxxabiv1::__unexpected_handler
66 void* _ZN10__cxxabiv120__unexpected_handlerE
= &_ZSt10unexpectedv
;
71 // real cthread_set_errno_self() has error handling that pulls in
72 // pthread_exit() which pulls in fprintf()
73 extern int* __error(void);
74 void cthread_set_errno_self(int err
)
81 * We have our own localtime() to avoid needing the notify API which is used
82 * by the code in libc.a for localtime() which is used by arc4random().
84 struct tm
* localtime(const time_t* t
)
86 return (struct tm
*)NULL
;