1 /* 2 * Copyright (C) 2013 Synopsys, Inc. (www.synopsys.com) 3 * 4 * Licensed under the LGPL v2.1 or later, see the file COPYING.LIB in this tarball. 5 */ 6 7 #include <tls.h> 8 #include <sysdep.h> 9 #ifndef __ASSEMBLER__ 10 # include <pthreadP.h> 11 #endif 12 13 #if !defined NOT_IN_libc || defined IS_IN_libpthread || defined IS_IN_librt 14 15 # ifdef IS_IN_libpthread 16 # define __local_multiple_threads __pthread_multiple_threads 17 # elif !defined NOT_IN_libc 18 # define __local_multiple_threads __libc_multiple_threads 19 # endif 20 21 # define SINGLE_THREAD_P \ 22 likely(THREAD_GETMEM (THREAD_SELF, header.multiple_threads) == 0) 23 24 #endif 25