OSDN Git Service

android-x86/bionic.git
10 years agoMerge "Use larger neon instructions for moving data."
Christopher Ferris [Fri, 9 May 2014 21:09:55 +0000 (21:09 +0000)]
Merge "Use larger neon instructions for moving data."

10 years agoUse larger neon instructions for moving data.
Christopher Ferris [Fri, 2 May 2014 01:10:51 +0000 (18:10 -0700)]
Use larger neon instructions for moving data.

Included is a new target generic-neon that will use neon instructions
on 64 bit platforms where appropriate.

Change-Id: Iaf71b768780aa9240a24539cd87666ca9298e4c6

10 years agoMerge "Hide the __bionic_clone and __bionic_clone_entry implementation details."
Elliott Hughes [Fri, 9 May 2014 16:13:52 +0000 (16:13 +0000)]
Merge "Hide the __bionic_clone and __bionic_clone_entry implementation details."

10 years agoMerge "Declare sincos/sincosf/sincosl in <math.h>."
Elliott Hughes [Fri, 9 May 2014 04:33:31 +0000 (04:33 +0000)]
Merge "Declare sincos/sincosf/sincosl in <math.h>."

10 years agoDeclare sincos/sincosf/sincosl in <math.h>.
Elliott Hughes [Fri, 9 May 2014 04:19:12 +0000 (21:19 -0700)]
Declare sincos/sincosf/sincosl in <math.h>.

Change-Id: If7b98f98c7ab4d3d77d310be082bff64512d51a8

10 years agoHide the __bionic_clone and __bionic_clone_entry implementation details.
Elliott Hughes [Fri, 9 May 2014 02:00:23 +0000 (19:00 -0700)]
Hide the __bionic_clone and __bionic_clone_entry implementation details.

clone(2) is the public symbol.

Also switch a test from __bionic_clone to clone; testing public API
means the test now works on glibc too.

Change-Id: If59def26a00c3afadb8a6cf9442094c35a59ffde

10 years agoMerge "Test dlopen with symlinked .so files"
Dmitriy Ivanov [Fri, 9 May 2014 00:52:07 +0000 (00:52 +0000)]
Merge "Test dlopen with symlinked .so files"

10 years agoMerge "wchar_test.cpp: fix error between comparison signed and unsigned integer"
Elliott Hughes [Thu, 8 May 2014 23:52:59 +0000 (23:52 +0000)]
Merge "wchar_test.cpp: fix error between comparison signed and unsigned integer"

10 years agoTest dlopen with symlinked .so files
Dmitriy Ivanov [Thu, 8 May 2014 19:27:25 +0000 (12:27 -0700)]
Test dlopen with symlinked .so files

Bug: 9741592
Change-Id: I68c59d6f4e690136395c3dc3de13f99ce38de528

10 years agoMerge "Remove support for non-PIE executables"
Dmitriy Ivanov [Thu, 8 May 2014 20:52:10 +0000 (20:52 +0000)]
Merge "Remove support for non-PIE executables"

10 years agoRemove support for non-PIE executables
Nick Kralevich [Wed, 7 May 2014 17:32:39 +0000 (10:32 -0700)]
Remove support for non-PIE executables

Don't support the dynamic linker loading ET_EXEC executables. Only
support ET_DYN executables.

Bug: 14566672
Change-Id: Ia1f2bfffe7ea867c1cd62e67d7fd637c60c0728d

10 years agowchar_test.cpp: fix error between comparison signed and unsigned integer
Yongqin Liu [Thu, 8 May 2014 15:21:01 +0000 (23:21 +0800)]
wchar_test.cpp: fix error between comparison signed and unsigned integer

when compile the cts package with aarch64 gcc4.9, will get following error:
bionic/tests/wchar_test.cpp:253:3: required from here
external/gtest/include/gtest/gtest.h:1448:16:
    error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]

this change fix it by using static_cast<wchar_t> as suggested by Calin Juravle

Change-Id: I7fb9506e7b84b8a12b9d003458d4f0e78554c3cd
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
10 years agoMerge "Fix LOG_ID_CRASH build failure."
Elliott Hughes [Thu, 8 May 2014 00:13:26 +0000 (00:13 +0000)]
Merge "Fix LOG_ID_CRASH build failure."

10 years agoFix LOG_ID_CRASH build failure.
Elliott Hughes [Thu, 8 May 2014 00:12:40 +0000 (17:12 -0700)]
Fix LOG_ID_CRASH build failure.

Change-Id: I66517e30c568d7f36f6bf6b1e4507ecf14f01226

10 years agoMerge "Send bionic's fatal logging to the crash log."
Elliott Hughes [Wed, 7 May 2014 23:40:27 +0000 (23:40 +0000)]
Merge "Send bionic's fatal logging to the crash log."

10 years agoMerge "Add basic tests for fsync/fdatasync."
Elliott Hughes [Wed, 7 May 2014 23:40:10 +0000 (23:40 +0000)]
Merge "Add basic tests for fsync/fdatasync."

10 years agoSend bionic's fatal logging to the crash log.
Elliott Hughes [Wed, 7 May 2014 23:35:59 +0000 (16:35 -0700)]
Send bionic's fatal logging to the crash log.

Bug: 14159417
Change-Id: I7aa986fb8e11660035221f9bb4fe0bc40ac36c58

10 years agoAdd basic tests for fsync/fdatasync.
Elliott Hughes [Wed, 7 May 2014 21:30:33 +0000 (14:30 -0700)]
Add basic tests for fsync/fdatasync.

Bug: 14613980
Change-Id: Ie8002c2a1abae07295b7bdb33772764767c03d37

10 years agoMerge "Add missing test for atexit test suite."
Dmitriy Ivanov [Wed, 7 May 2014 20:49:00 +0000 (20:49 +0000)]
Merge "Add missing test for atexit test suite."

10 years agoMerge "Give bionic's __ANDROID_API__ a more reasonable value."
Elliott Hughes [Wed, 7 May 2014 19:58:20 +0000 (19:58 +0000)]
Merge "Give bionic's __ANDROID_API__ a more reasonable value."

10 years agoGive bionic's __ANDROID_API__ a more reasonable value.
Elliott Hughes [Wed, 7 May 2014 19:37:44 +0000 (12:37 -0700)]
Give bionic's __ANDROID_API__ a more reasonable value.

This matches what frameworks/base does with Build.VERSION and means that
bionic's version number will always sort >= than any released version.
This should prevent confusion in code that builds both against bionic
and the NDK.

(Note that <sys/cdefs.h> drags this in, so it's always in the namespace.)

Bug: 14613709
Change-Id: I91fb745920e848a6b20f2f5797c0a7d6cde6c032

10 years agoAdd missing test for atexit test suite.
Dmitriy Ivanov [Tue, 6 May 2014 02:52:13 +0000 (19:52 -0700)]
Add missing test for atexit test suite.

Change-Id: I3d14d7df1da53ccef534c106633593551ab6a7cb

10 years agoMerge "Fix bionic-unit-tests-glibc-run target"
Calin Juravle [Wed, 7 May 2014 18:31:11 +0000 (18:31 +0000)]
Merge "Fix bionic-unit-tests-glibc-run target"

10 years agoFix bionic-unit-tests-glibc-run target
Calin Juravle [Wed, 7 May 2014 18:06:30 +0000 (19:06 +0100)]
Fix bionic-unit-tests-glibc-run target

Configure multilib for bionic-unit-tests-glibc-run target (the path to
the host executable was already patched to support multilib build but
the multilib itself wasn't configured).

Change-Id: If533fbdb19bc737e543cf85a0787505458f24579

10 years agoMerge "Test that relro sharing actually saves memory."
Torne (Richard Coles) [Wed, 7 May 2014 15:25:44 +0000 (15:25 +0000)]
Merge "Test that relro sharing actually saves memory."

10 years agoMerge "Reserve some space in sem_t for the future."
Calin Juravle [Wed, 7 May 2014 14:04:31 +0000 (14:04 +0000)]
Merge "Reserve some space in sem_t for the future."

10 years agoMerge "Allow for better utmp logging."
Calin Juravle [Wed, 7 May 2014 14:04:21 +0000 (14:04 +0000)]
Merge "Allow for better utmp logging."

10 years agoMerge "Fix ino_t and suseconds_t"
Calin Juravle [Wed, 7 May 2014 14:04:11 +0000 (14:04 +0000)]
Merge "Fix ino_t and suseconds_t"

10 years agoMerge "Leave more space for extensions in pthread_rwlockattr_t"
Calin Juravle [Wed, 7 May 2014 14:04:00 +0000 (14:04 +0000)]
Merge "Leave more space for extensions in pthread_rwlockattr_t"

10 years agoMerge "Change the interface for fatal logging."
Elliott Hughes [Wed, 7 May 2014 04:04:27 +0000 (04:04 +0000)]
Merge "Change the interface for fatal logging."

10 years agoChange the interface for fatal logging.
Elliott Hughes [Wed, 7 May 2014 03:37:22 +0000 (20:37 -0700)]
Change the interface for fatal logging.

This more general interface lets liblog give us any fatal log message,
regardless of source. This means we can remove the special case for
LOG_ALWAYS_FATAL with a simpler scheme that automatically works for
the VM too.

Change-Id: Ia6dbf7c3dbabf223081bd5159294835d954bb067

10 years agoMerge "Fix a gethnamaddr.c warning that's already fixed upstream."
Elliott Hughes [Tue, 6 May 2014 20:42:10 +0000 (20:42 +0000)]
Merge "Fix a gethnamaddr.c warning that's already fixed upstream."

10 years agoMerge "Sync with upstream OpenBSD wcsftime.c."
Elliott Hughes [Tue, 6 May 2014 20:21:03 +0000 (20:21 +0000)]
Merge "Sync with upstream OpenBSD wcsftime.c."

10 years agoFix a gethnamaddr.c warning that's already fixed upstream.
Elliott Hughes [Tue, 6 May 2014 18:23:40 +0000 (11:23 -0700)]
Fix a gethnamaddr.c warning that's already fixed upstream.

We're still way out of sync, but this cleans up a tiny corner.

Change-Id: I51e76601785bf351d6418841b56e08a900a84d82

10 years agoSync with upstream OpenBSD wcsftime.c.
Elliott Hughes [Tue, 6 May 2014 18:12:34 +0000 (11:12 -0700)]
Sync with upstream OpenBSD wcsftime.c.

They removed the code nobody wants rather than fix the ""/L"" mixup.
Even better!

Change-Id: Ib4333acf5e90d69586805a218d2894c5dffcb82f

10 years agoFix ino_t and suseconds_t
Calin Juravle [Tue, 6 May 2014 13:37:56 +0000 (14:37 +0100)]
Fix ino_t and suseconds_t

Align ino_t and suseconds_t definitions with kernel
and OpenBSD upstream.

Bug: 14583346
Bug: 12875898
Change-Id: I0d97c6b4fc85b261472575290e6f6f2df1c8a36a

10 years agoMerge "Fix <math.h> to quieten most of our warnings."
Elliott Hughes [Tue, 6 May 2014 17:18:16 +0000 (17:18 +0000)]
Merge "Fix <math.h> to quieten most of our warnings."

10 years agoReserve some space in sem_t for the future.
Calin Juravle [Tue, 6 May 2014 15:24:27 +0000 (16:24 +0100)]
Reserve some space in sem_t for the future.

Reserve 12 more bytes in sem_t to give room for future implementation
improvements. This gets us to a 16 bytes sem_t. Glibc uses 32 bytes (16
actual use + 16 reserved), while OpenBSD has 16 bytes (out of which 4
are for padding).

Bug: 14587103
Bug: 12875898
Change-Id: Id835cc5abf874c651e6b5ad5b8f29c9d6ab08d5a

10 years agoAllow for better utmp logging.
Calin Juravle [Tue, 6 May 2014 14:36:02 +0000 (15:36 +0100)]
Allow for better utmp logging.

Increase (UT_NAMESIZE,UT_LINESIZE,UT_HOSTSIZE) to (32,32,256).

Nobody writes utmp on Android but it would be nice to be aligned
with others who use 32,32,256 (like glibc). If ever used it will produce
nicer logging. There is no consensus in BSDs for these values.

Bug: 14584341
Bug: 12875898

Change-Id: I94af10b982b8f9fcaea897c4cf968563f38403f9

10 years agoMerge "Add include guard to fileext.h"
Calin Juravle [Tue, 6 May 2014 13:47:18 +0000 (13:47 +0000)]
Merge "Add include guard to fileext.h"

10 years agoLeave more space for extensions in pthread_rwlockattr_t
Calin Juravle [Tue, 6 May 2014 12:39:47 +0000 (13:39 +0100)]
Leave more space for extensions in pthread_rwlockattr_t

Change pthread_rwlockattr_t from int to long. On LP64 this gives us more
room for extensibility since longs are 8 bytes. glibc also reserves 8
bytes for this.

Bug: 14582681
Bug: 12875898
Change-Id: I55d599be0fdbbf0cb55957ec0ea62ab042bdee94

10 years agoTest that relro sharing actually saves memory.
Torne (Richard Coles) [Fri, 2 May 2014 13:57:42 +0000 (14:57 +0100)]
Test that relro sharing actually saves memory.

Spawn 20 child processes, have them all load the library, and compare
the total PSS used in the case where we use dlopen() and the case where
we use android_dlopen_ext() with relro sharing. We assume we will save
at least 10% of the memory; in practise this example saves 40% or more
so this should be a reasonable threshold.

Bug: 14299541
Change-Id: Idccf6b8b0eb137abae2200f1ce68fb76b3cbdd75

10 years agoMerge "Handle empty relro segment or incorrectly sized file."
Torne (Richard Coles) [Tue, 6 May 2014 10:16:18 +0000 (10:16 +0000)]
Merge "Handle empty relro segment or incorrectly sized file."

10 years agoFix <math.h> to quieten most of our warnings.
Elliott Hughes [Tue, 6 May 2014 03:28:28 +0000 (20:28 -0700)]
Fix <math.h> to quieten most of our warnings.

I've reported the wcsftime bug upstream, but we really just want to use -D
to ensure the buggy code isn't built. (I've also brought our strftime a bit
closer to upstream now we have the right define.)

I don't think upstream is likely to fix all their sign-compare and
uninitialized warnings, so let's just silence them.

As for libm, again upstream isn't likely to fix all their warnings, and
silencing those made the ones that were our fault stand out. I've fixed
our <math.h> to fix the warnings caused by our lack of definitions for
the non-imprecise long-double functions. I checked the C99 standard, and
all these functions are there.

Change-Id: Iee8e1182c1db375058fb2c451eceb212bab47a37

10 years agoMerge "bionic: make epoll_event structure packed"
Elliott Hughes [Tue, 6 May 2014 02:50:39 +0000 (02:50 +0000)]
Merge "bionic: make epoll_event structure packed"

10 years agobionic: make epoll_event structure packed
Philip Hatcher [Tue, 25 Feb 2014 13:16:37 +0000 (14:16 +0100)]
bionic: make epoll_event structure packed

Description: In the kernel the epoll_event structure is packed
in 64 bit kernel builds to allow the structure to be more easily
compatible with 32 bit user space.  As a result, when user space
is 64-bit the structure must be packed as well.

Add unit test to show the ptr alignment issue.

Change-Id: I2c4848d5e38a357219091f350f9b6e3da05090da
Signed-off-by: Philip Hatcher <philip.hatcher@intel.com>
Signed-off-by: Fengwei Yin <fengwei.yin@intel.com>
Reviewed-by: Hazarika, Prodyut <prodyut.hazarika@intel.com>
Tested-by: Hazarika, Prodyut <prodyut.hazarika@intel.com>
10 years agoMerge "Remove the non-standard time64 stuff for LP64."
Elliott Hughes [Tue, 6 May 2014 01:53:53 +0000 (01:53 +0000)]
Merge "Remove the non-standard time64 stuff for LP64."

10 years agoRemove the non-standard time64 stuff for LP64.
Elliott Hughes [Tue, 6 May 2014 00:14:02 +0000 (17:14 -0700)]
Remove the non-standard time64 stuff for LP64.

We need a workaround in strftime as long as we still need to support
64-bit times on LP32.

Change-Id: I8ffb616f6312d4063fb9ea3c36b52653e8f4c5f8

10 years agoMerge "Update the NOTICE files and improve the script slightly."
Elliott Hughes [Mon, 5 May 2014 23:24:00 +0000 (23:24 +0000)]
Merge "Update the NOTICE files and improve the script slightly."

10 years agoUpdate the NOTICE files and improve the script slightly.
Elliott Hughes [Mon, 5 May 2014 21:58:17 +0000 (14:58 -0700)]
Update the NOTICE files and improve the script slightly.

Change-Id: Ia131634cd97ca9523e1b63dce41f66247cbaa311

10 years agoMerge "Sync with upstream OpenBSD."
Elliott Hughes [Mon, 5 May 2014 22:10:48 +0000 (22:10 +0000)]
Merge "Sync with upstream OpenBSD."

10 years agoSync with upstream OpenBSD.
Elliott Hughes [Mon, 5 May 2014 21:57:23 +0000 (14:57 -0700)]
Sync with upstream OpenBSD.

These trivial differences are are only current differences from upstream
OpenBSD.

Change-Id: Iddbee2c803911915a25e1da8b246e8403fa72daf

10 years agoMerge "Disable %n in printf and vfwprintf."
Elliott Hughes [Mon, 5 May 2014 21:49:22 +0000 (21:49 +0000)]
Merge "Disable %n in printf and vfwprintf."

10 years agoDisable %n in printf and vfwprintf.
Elliott Hughes [Sat, 3 May 2014 01:16:32 +0000 (18:16 -0700)]
Disable %n in printf and vfwprintf.

Bug: 14492135
Change-Id: If190bede29e5f68a65043ddbe8e878c660933d03

10 years agoMerge "Switch to current upstream OpenBSD wsetup.c."
Elliott Hughes [Mon, 5 May 2014 21:33:22 +0000 (21:33 +0000)]
Merge "Switch to current upstream OpenBSD wsetup.c."

10 years agoSwitch to current upstream OpenBSD wsetup.c.
Elliott Hughes [Sat, 3 May 2014 01:29:25 +0000 (18:29 -0700)]
Switch to current upstream OpenBSD wsetup.c.

Change-Id: I2c1123f3e1d3c4af7fd7bf354e763934a39b78c0

10 years agoMerge "Fixes for __cxa_finalize"
Dmitriy Ivanov [Mon, 5 May 2014 21:04:32 +0000 (21:04 +0000)]
Merge "Fixes for __cxa_finalize"

10 years agoFixes for __cxa_finalize
Dmitriy Ivanov [Tue, 29 Apr 2014 15:41:29 +0000 (08:41 -0700)]
Fixes for __cxa_finalize

  * Ability to register atexit handler from atexit handler
  * Correct way to handle both forms of atexit handler

Bug: https://code.google.com/p/android/issues/detail?id=66595
Bug: 4998315
Change-Id: I39529afaef97b6e1469c21389d54c0d7d175da28

10 years agoMerge "Fix iswctype."
Elliott Hughes [Sun, 4 May 2014 03:25:44 +0000 (03:25 +0000)]
Merge "Fix iswctype."

10 years agoMerge "Switch to current upstream OpenBSD fwrite.c."
Elliott Hughes [Sun, 4 May 2014 03:20:31 +0000 (03:20 +0000)]
Merge "Switch to current upstream OpenBSD fwrite.c."

10 years agoMerge "Disallow dlopen("egl/blah.so") on LP64"
Dmitriy Ivanov [Sat, 3 May 2014 01:39:09 +0000 (01:39 +0000)]
Merge "Disallow dlopen("egl/blah.so") on LP64"

10 years agoSwitch to current upstream OpenBSD fwrite.c.
Elliott Hughes [Sat, 3 May 2014 01:18:46 +0000 (18:18 -0700)]
Switch to current upstream OpenBSD fwrite.c.

Change-Id: Ife527aafc1e5438f477d711902efe6e6f59f3f8e

10 years agoDisallow dlopen("egl/blah.so") on LP64
Dmitriy Ivanov [Sat, 3 May 2014 01:18:50 +0000 (18:18 -0700)]
Disallow dlopen("egl/blah.so") on LP64

Change-Id: I9a563a9dada6522129b1890bc1292667230e80a5

10 years agoMerge "Sync with current OpenBSD stdio."
Elliott Hughes [Sat, 3 May 2014 00:59:06 +0000 (00:59 +0000)]
Merge "Sync with current OpenBSD stdio."

10 years agoSync with current OpenBSD stdio.
Elliott Hughes [Sat, 3 May 2014 00:56:56 +0000 (17:56 -0700)]
Sync with current OpenBSD stdio.

We'd fallen a little behind.

Bug: 14492135
Change-Id: Ic1137ef10bffccecebd5ce51086c23db006d0ea3

10 years agoFix iswctype.
Elliott Hughes [Fri, 2 May 2014 23:25:59 +0000 (16:25 -0700)]
Fix iswctype.

This doesn't matter until we fix the other isw* functions, of course.

Change-Id: I0baed1c933259cf22444da391bc4a56446d66773

10 years agoMerge "Use the OpenBSD wcsftime."
Elliott Hughes [Fri, 2 May 2014 23:00:05 +0000 (23:00 +0000)]
Merge "Use the OpenBSD wcsftime."

10 years agoUse the OpenBSD wcsftime.
Elliott Hughes [Fri, 2 May 2014 22:53:03 +0000 (15:53 -0700)]
Use the OpenBSD wcsftime.

Change-Id: I81929355d245ba1e58b4a464ca6cf45915e0238e

10 years agoAdd include guard to fileext.h
Calin Juravle [Fri, 2 May 2014 10:53:26 +0000 (11:53 +0100)]
Add include guard to fileext.h

Change-Id: I89b0e3bf0b15989727b5903b40bec92d49e122d9

10 years agoHandle empty relro segment or incorrectly sized file.
Torne (Richard Coles) [Wed, 30 Apr 2014 14:48:40 +0000 (15:48 +0100)]
Handle empty relro segment or incorrectly sized file.

If the file has no relro segment, the generated relro file will have
length 0, which caused mmap to fail. If the relro file has nonzero size,
but is too short (e.g. because it's for the wrong version of the
library), the linker would segfault while comparing the data. Fix both
these issues: don't try to map a zero length file, and don't try to
compare data that would be beyond the end of the file.

Improve test to explicitly generate two versions of the library: one
with -z relro, and one with -z norelro, so we can test both cases; also
explicitly test the case where the relro file has length 0.

Bug: 14299541
Change-Id: Id8b95585edda90e8bb5de452a35b70ed2d224934

10 years agoMerge "Fix wchar_t signedness problems found on x86-64."
Elliott Hughes [Fri, 2 May 2014 02:31:23 +0000 (02:31 +0000)]
Merge "Fix wchar_t signedness problems found on x86-64."

10 years agoFix wchar_t signedness problems found on x86-64.
Elliott Hughes [Fri, 2 May 2014 02:03:18 +0000 (19:03 -0700)]
Fix wchar_t signedness problems found on x86-64.

The existing tests caught this.

Change-Id: I6269844ae4301fd2c596241a59e97eb67ef166fa

10 years agoMerge "Fix wchar.cpp MIPS narrowing conversion build failure."
Elliott Hughes [Fri, 2 May 2014 00:15:42 +0000 (00:15 +0000)]
Merge "Fix wchar.cpp MIPS narrowing conversion build failure."

10 years agoFix wchar.cpp MIPS narrowing conversion build failure.
Elliott Hughes [Fri, 2 May 2014 00:14:59 +0000 (17:14 -0700)]
Fix wchar.cpp MIPS narrowing conversion build failure.

Change-Id: Id9103c78958d60337dbdb807b11256c1b31c632a

10 years agoMerge "Fix wchar.cpp signed/unsigned comparison build failure."
Elliott Hughes [Thu, 1 May 2014 23:50:35 +0000 (23:50 +0000)]
Merge "Fix wchar.cpp signed/unsigned comparison build failure."

10 years agoFix wchar.cpp signed/unsigned comparison build failure.
Elliott Hughes [Thu, 1 May 2014 23:49:55 +0000 (16:49 -0700)]
Fix wchar.cpp signed/unsigned comparison build failure.

Change-Id: Id20b91f3d57c4430987b5cc88ac99c245801d73b

10 years agoMerge "Switch to a working UTF-8 mb/wc implementation."
Elliott Hughes [Thu, 1 May 2014 23:12:41 +0000 (23:12 +0000)]
Merge "Switch to a working UTF-8 mb/wc implementation."

10 years agoSwitch to a working UTF-8 mb/wc implementation.
Elliott Hughes [Thu, 1 May 2014 05:03:12 +0000 (22:03 -0700)]
Switch to a working UTF-8 mb/wc implementation.

Although glibc gets by with an 8-byte mbstate_t, OpenBSD uses 12 bytes (of
the 128 bytes it reserves!).

We can actually implement UTF-8 encoding/decoding with a 0-byte mbstate_t
which means we can make things work on LP32 too, as long as we accept the
limitation that the caller needs to present us with a complete sequence
before we'll process it.

Our behavior is fine when going from characters to bytes; we just
update the source wchar_t** to say how far through the input we got.

I'll come back and use the 4 bytes we do have to cope with byte sequences
split across multiple input buffers. The fact that we don't support
UTF-8 sequences longer than 4 bytes plus the fact that the first byte of
a UTF-8 sequence encodes the length means we shouldn't need the other
fields OpenBSD used (at the cost of some recomputation in cases where a
sequence is split across buffers).

This patch also makes the minimal changes necessary to setlocale(3) to
make us behave like glibc when an app requests UTF-8. (The difference
being that our "C" locale is the same as our "C.UTF-8" locale.)

Change-Id: Ied327a8c4643744b3611bf6bb005a9b389ba4c2f

10 years agoMerge "Add ability to run on host for x86/x86_64."
Christopher Ferris [Thu, 1 May 2014 21:03:27 +0000 (21:03 +0000)]
Merge "Add ability to run on host for x86/x86_64."

10 years agoAdd ability to run on host for x86/x86_64.
Christopher Ferris [Thu, 1 May 2014 20:44:57 +0000 (13:44 -0700)]
Add ability to run on host for x86/x86_64.

Change-Id: I063cb71ce0f7247cefacaa653c7b87b7b3e72025

10 years agoMerge "Modify hard-coded directory."
Christopher Ferris [Thu, 1 May 2014 20:19:20 +0000 (20:19 +0000)]
Merge "Modify hard-coded directory."

10 years agoModify hard-coded directory.
Christopher Ferris [Thu, 1 May 2014 20:00:32 +0000 (13:00 -0700)]
Modify hard-coded directory.

Use the ANDROID_DATA environment variable instead of the hard-coded
directory for these benchmarks.

Change-Id: I00bae7b4a24e81e77fc8f52e1fe99f4d4918f520

10 years agoMerge "Keep the kernel header scrubber's data structures in sync."
Elliott Hughes [Thu, 1 May 2014 17:28:12 +0000 (17:28 +0000)]
Merge "Keep the kernel header scrubber's data structures in sync."

10 years agoKeep the kernel header scrubber's data structures in sync.
Elliott Hughes [Thu, 1 May 2014 17:17:27 +0000 (10:17 -0700)]
Keep the kernel header scrubber's data structures in sync.

If you rewrite the tokens of a #if you need to rewrite the expression to match
because either might be used later. This was showing up as SIGRTMAX being
rewritten in a #define but not in the #ifndef that guarded it, for which case
I've added a unit test.

Change-Id: I6929675461a1afe272edd667594529fd84a3dc4d

10 years agoMerge "Make SIGRTMIN hide the real-time signals we use internally."
Elliott Hughes [Wed, 30 Apr 2014 18:30:14 +0000 (18:30 +0000)]
Merge "Make SIGRTMIN hide the real-time signals we use internally."

10 years agoMerge "Fix the CPU_*_S tests."
Elliott Hughes [Wed, 30 Apr 2014 18:29:31 +0000 (18:29 +0000)]
Merge "Fix the CPU_*_S tests."

10 years agoFix the CPU_*_S tests.
Elliott Hughes [Wed, 30 Apr 2014 17:45:35 +0000 (10:45 -0700)]
Fix the CPU_*_S tests.

Change-Id: Id67c48b9c12a20b01309490670438bfcd9163465

10 years agoMake SIGRTMIN hide the real-time signals we use internally.
Elliott Hughes [Wed, 30 Apr 2014 16:45:40 +0000 (09:45 -0700)]
Make SIGRTMIN hide the real-time signals we use internally.

__SIGRTMIN will continue to tell the truth. This matches glibc's
behavior (as evidenced by the fact that we don't need a special case
in the strsignal test now).

Change-Id: I1abe1681d516577afa8cd39c837ef12467f68dd2

10 years agoMerge "Fix cpu_set_t"
Calin Juravle [Wed, 30 Apr 2014 16:09:07 +0000 (16:09 +0000)]
Merge "Fix cpu_set_t"

10 years agoMerge "Adds quick_exit(3) and at_quick_exit(3) from freebsd"
Dan Albert [Wed, 30 Apr 2014 15:39:13 +0000 (15:39 +0000)]
Merge "Adds quick_exit(3) and at_quick_exit(3) from freebsd"

10 years agoFix cpu_set_t
Calin Juravle [Tue, 29 Apr 2014 19:25:26 +0000 (20:25 +0100)]
Fix cpu_set_t

- extend CPU_SETSIZE for LP64
- fix CPU_(AND|OR|XOR) macros
- fix CPU_OP_S macro
- fix __sched_cpucount
- tidy up the code

Change-Id: I741afff4d0c473e8a1ee6b4141981dc24467e0d4

10 years agoMerge "Reserve space in mbstate to allow for proper wchar support"
Calin Juravle [Wed, 30 Apr 2014 10:34:08 +0000 (10:34 +0000)]
Merge "Reserve space in mbstate to allow for proper wchar support"

10 years agoMerge "Switch to OpenBSD stdio wide printf functions."
Elliott Hughes [Wed, 30 Apr 2014 03:16:40 +0000 (03:16 +0000)]
Merge "Switch to OpenBSD stdio wide printf functions."

10 years agoAdds quick_exit(3) and at_quick_exit(3) from freebsd
Dan Albert [Wed, 30 Apr 2014 00:49:06 +0000 (17:49 -0700)]
Adds quick_exit(3) and at_quick_exit(3) from freebsd

Change-Id: I4fe88abd8f7b8aa45e58aeb2529d59a8d555d338

10 years agoSwitch to OpenBSD stdio wide printf functions.
Elliott Hughes [Wed, 30 Apr 2014 00:39:29 +0000 (17:39 -0700)]
Switch to OpenBSD stdio wide printf functions.

Change-Id: Icf4f8685d021ec6b7482ca1cc021ce8184098e4a

10 years agoMerge "Switch to OpenBSD stdio wide get/put functions."
Elliott Hughes [Wed, 30 Apr 2014 00:38:32 +0000 (00:38 +0000)]
Merge "Switch to OpenBSD stdio wide get/put functions."

10 years agoSwitch to OpenBSD stdio wide get/put functions.
Elliott Hughes [Wed, 30 Apr 2014 00:08:03 +0000 (17:08 -0700)]
Switch to OpenBSD stdio wide get/put functions.

Change-Id: I71f8769cdea874e55d397ca7682d9d4e659d3dcb

10 years agoMerge "Switch to the OpenBSD implementations of the wide scanf functions."
Elliott Hughes [Tue, 29 Apr 2014 23:57:11 +0000 (23:57 +0000)]
Merge "Switch to the OpenBSD implementations of the wide scanf functions."

10 years agoSwitch to the OpenBSD implementations of the wide scanf functions.
Elliott Hughes [Tue, 29 Apr 2014 23:28:56 +0000 (16:28 -0700)]
Switch to the OpenBSD implementations of the wide scanf functions.

This also gets us the C99 wcstoimax and wcstoumax, and a working fgetwc and
ungetwc, all of which are needed in the implementation.

This also brings several other files closer to upstream.

Change-Id: I23b025a8237a6dbb9aa50d2a96765ea729a85579

10 years agoMerge "Fix build (signed char issue)."
Elliott Hughes [Tue, 29 Apr 2014 23:06:37 +0000 (23:06 +0000)]
Merge "Fix build (signed char issue)."