diff options
| author | Elliott Hughes <enh@google.com> | 2014-04-21 17:13:46 -0700 |
|---|---|---|
| committer | Elliott Hughes <enh@google.com> | 2014-04-21 17:13:46 -0700 |
| commit | d39f3f2c2e7fc73ddb019695f0df3417deef5bf4 (patch) | |
| tree | ab5ee52f07ce296396e190040ec6d1e5a8bb2474 /libc/upstream-openbsd/android | |
| parent | 44a98d5c12530cbd6b1b0779690e9952207c34bf (diff) | |
| download | bionic-d39f3f2c2e7fc73ddb019695f0df3417deef5bf4.zip bionic-d39f3f2c2e7fc73ddb019695f0df3417deef5bf4.tar.gz bionic-d39f3f2c2e7fc73ddb019695f0df3417deef5bf4.tar.bz2 | |
Clean up and document our hacks for building BSD source.
Change-Id: Ic591e22fa5b363bb68376b9f25814c0e5bd83fbf
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_ */ |
