diff options
Diffstat (limited to 'libc/upstream-openbsd/android')
| -rw-r--r-- | libc/upstream-openbsd/android/gdtoa_support.cpp | 19 | ||||
| -rw-r--r-- | libc/upstream-openbsd/android/include/arith.h | 24 | ||||
| -rw-r--r-- | libc/upstream-openbsd/android/include/gd_qnan.h | 48 | ||||
| -rw-r--r-- | libc/upstream-openbsd/android/include/openbsd-compat.h | 35 | ||||
| -rw-r--r-- | libc/upstream-openbsd/android/include/thread_private.h | 26 |
5 files changed, 152 insertions, 0 deletions
diff --git a/libc/upstream-openbsd/android/gdtoa_support.cpp b/libc/upstream-openbsd/android/gdtoa_support.cpp new file mode 100644 index 0000000..4e7bf3b --- /dev/null +++ b/libc/upstream-openbsd/android/gdtoa_support.cpp @@ -0,0 +1,19 @@ +/* + * Copyright (C) 2014 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include <pthread.h> + +__LIBC_HIDDEN__ pthread_mutex_t __dtoa_locks[] = { PTHREAD_MUTEX_INITIALIZER, PTHREAD_MUTEX_INITIALIZER }; diff --git a/libc/upstream-openbsd/android/include/arith.h b/libc/upstream-openbsd/android/include/arith.h new file mode 100644 index 0000000..b262e4f --- /dev/null +++ b/libc/upstream-openbsd/android/include/arith.h @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2014 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#define IEEE_8087 + +#if __LP64__ +#define Long int +#endif + +#define INFNAN_CHECK +#define MULTIPLE_THREADS diff --git a/libc/upstream-openbsd/android/include/gd_qnan.h b/libc/upstream-openbsd/android/include/gd_qnan.h new file mode 100644 index 0000000..e8e907b --- /dev/null +++ b/libc/upstream-openbsd/android/include/gd_qnan.h @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2014 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if __arm__ + +#define f_QNAN 0xffffffff + +#define d_QNAN0 0xffffffff +#define d_QNAN1 0xffffffff + +#elif __mips__ + +#define f_QNAN 0x7fbfffff + +#define d_QNAN0 0x7ff7ffff +#define d_QNAN1 0xffffffff + +#else + +#define f_QNAN 0xffc00000 + +#define d_QNAN0 0x00000000 +#define d_QNAN1 0xfff80000 + +#endif + +/* long double. */ +#if __LP64__ +#define ld_QNAN0 0x7fff8000 +#define ld_QNAN1 0x00000000 +#define ld_QNAN2 0x00000000 +#define ld_QNAN3 0x00000000 +#else +/* sizeof(long double) == sizeof(double), so we shouldn't be trying to use these constants. */ +#endif diff --git a/libc/upstream-openbsd/android/include/openbsd-compat.h b/libc/upstream-openbsd/android/include/openbsd-compat.h new file mode 100644 index 0000000..b55f390 --- /dev/null +++ b/libc/upstream-openbsd/android/include/openbsd-compat.h @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2014 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef _BIONIC_OPENBSD_COMPAT_H_included +#define _BIONIC_OPENBSD_COMPAT_H_included + +#define _GNU_SOURCE +#define __USE_BSD + +/* OpenBSD's <ctype.h> uses these names, which conflicted with stlport. + * Additionally, we changed the numeric/digit type from N to D for libcxx. + */ +#define _U _CTYPE_U +#define _L _CTYPE_L +#define _N _CTYPE_D +#define _S _CTYPE_S +#define _P _CTYPE_P +#define _C _CTYPE_C +#define _X _CTYPE_X +#define _B _CTYPE_B + +#endif diff --git a/libc/upstream-openbsd/android/include/thread_private.h b/libc/upstream-openbsd/android/include/thread_private.h new file mode 100644 index 0000000..10421e2 --- /dev/null +++ b/libc/upstream-openbsd/android/include/thread_private.h @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2014 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef _THREAD_PRIVATE_H_ +#define _THREAD_PRIVATE_H_ + +#include <pthread.h> + +/* Note that these aren't compatible with the usual OpenBSD ones which lazy-initialize! */ +#define _MUTEX_LOCK(l) pthread_mutex_lock((pthread_mutex_t*) l) +#define _MUTEX_UNLOCK(l) pthread_mutex_unlock((pthread_mutex_t*) l) + +#endif /* _THREAD_PRIVATE_H_ */ |
