OSDN Git Service

android-x86/bionic.git
10 years ago[MIPS] Reimplement syscall to invoke the system call directly
Chris Dearman [Wed, 13 Nov 2013 22:15:31 +0000 (14:15 -0800)]
[MIPS] Reimplement syscall to invoke the system call directly

Some MIPS kernels do not correctly restart interrupted system calls that
have been invoked using the indirect syscall (NR_syscall).

The simplest workaround is to handle the indirection in userland and then
call the required system call directly.

Change-Id: I8385399621529db9a52b463c96925f6decaaca30

10 years agoMerge "Remove the mips regdef.h and fpregdef.h old kernel headers."
Elliott Hughes [Thu, 14 Nov 2013 00:18:58 +0000 (00:18 +0000)]
Merge "Remove the mips regdef.h and fpregdef.h old kernel headers."

10 years agoRemove the mips regdef.h and fpregdef.h old kernel headers.
Elliott Hughes [Thu, 14 Nov 2013 00:13:01 +0000 (16:13 -0800)]
Remove the mips regdef.h and fpregdef.h old kernel headers.

Bug: 11559337
Change-Id: I6352cac9c4ef425cb21e34d0299223711ec079af

10 years agoMerge "Add unit tests for pow's behavior with NaNs."
Elliott Hughes [Wed, 13 Nov 2013 22:57:36 +0000 (22:57 +0000)]
Merge "Add unit tests for pow's behavior with NaNs."

10 years agoAdd unit tests for pow's behavior with NaNs.
Elliott Hughes [Wed, 13 Nov 2013 21:29:23 +0000 (13:29 -0800)]
Add unit tests for pow's behavior with NaNs.

Bug: 11669804
Change-Id: Idfa6527640c8d0c2cf3e5343bf7afe013e237545

10 years agoMerge "Add a unit test for syscall(2)."
Elliott Hughes [Wed, 13 Nov 2013 21:29:05 +0000 (21:29 +0000)]
Merge "Add a unit test for syscall(2)."

10 years agoAdd a unit test for syscall(2).
Elliott Hughes [Wed, 13 Nov 2013 21:14:31 +0000 (13:14 -0800)]
Add a unit test for syscall(2).

Change-Id: Ic7d9735d46711af93c3a1747de7b2eb8cebea094

10 years agoMerge "Add extra regression tests for an already-fixed dynamic linker bug."
Elliott Hughes [Tue, 12 Nov 2013 01:01:24 +0000 (01:01 +0000)]
Merge "Add extra regression tests for an already-fixed dynamic linker bug."

10 years agoAdd extra regression tests for an already-fixed dynamic linker bug.
Elliott Hughes [Mon, 11 Nov 2013 23:48:06 +0000 (15:48 -0800)]
Add extra regression tests for an already-fixed dynamic linker bug.

Bug: https://code.google.com/p/android/issues/detail?id=61799
Change-Id: I84af68f8430a06e999297c2e57e06ecb45adf81e

10 years agoMerge "Add a temporary uapi/linux/compiler.h until upstream has one."
Elliott Hughes [Fri, 8 Nov 2013 23:20:18 +0000 (23:20 +0000)]
Merge "Add a temporary uapi/linux/compiler.h until upstream has one."

10 years agoAdd a temporary uapi/linux/compiler.h until upstream has one.
Elliott Hughes [Fri, 8 Nov 2013 23:13:54 +0000 (15:13 -0800)]
Add a temporary uapi/linux/compiler.h until upstream has one.

Bug: 11559337
Change-Id: I205974b1a26e4f85d0e11503afa80669195d211c

10 years agoMerge "Remove the dependency on the non-uapi __kernel_nlink_t."
Elliott Hughes [Fri, 8 Nov 2013 23:12:35 +0000 (23:12 +0000)]
Merge "Remove the dependency on the non-uapi __kernel_nlink_t."

10 years agoRemove the dependency on the non-uapi __kernel_nlink_t.
Elliott Hughes [Fri, 8 Nov 2013 22:38:12 +0000 (14:38 -0800)]
Remove the dependency on the non-uapi __kernel_nlink_t.

The kernel doesn't have an nlink_t; it just uses the equivalent of
uint32_t. We already had a usable __nlink_t in the C library, so
let's just define our nlink_t in terms of __nlink_t, which is what
__nlink_t was meant for anyway.

Note that our struct stat just follows the kernel, and doesn't refer
to nlink_t anyway.

Change-Id: I2a56e418e42404b1741b08c50554b03c11caebae

10 years agoMerge "Generate the uapi headers for mips and x86/x86_64."
Elliott Hughes [Fri, 8 Nov 2013 22:18:46 +0000 (22:18 +0000)]
Merge "Generate the uapi headers for mips and x86/x86_64."

10 years agoGenerate the uapi headers for mips and x86/x86_64.
Elliott Hughes [Fri, 8 Nov 2013 19:45:48 +0000 (11:45 -0800)]
Generate the uapi headers for mips and x86/x86_64.

Bug: 11559337
Change-Id: I23b1a43e7bfa8fa6f9df7e59d2e731a0ec52dafc

10 years agoMerge "Prepare to switch to the uapi <linux/signal.h>."
Elliott Hughes [Thu, 7 Nov 2013 20:41:19 +0000 (20:41 +0000)]
Merge "Prepare to switch to the uapi <linux/signal.h>."

10 years agoPrepare to switch to the uapi <linux/signal.h>.
Elliott Hughes [Thu, 7 Nov 2013 20:28:46 +0000 (12:28 -0800)]
Prepare to switch to the uapi <linux/signal.h>.

<time.h> didn't need to copy the cruft from <signal.h>, and
<signal.h> only needs the uid_t hack when it's not using
uapi headers.

pthread_exit.cpp should include what it uses.

Change-Id: I836c36abe0f0a781d41fc425b249d1c7686bb124

10 years agoMerge "Stop using the non-uapi <linux/err.h> header file."
Elliott Hughes [Thu, 7 Nov 2013 18:44:49 +0000 (18:44 +0000)]
Merge "Stop using the non-uapi <linux/err.h> header file."

10 years agoStop using the non-uapi <linux/err.h> header file.
Elliott Hughes [Thu, 7 Nov 2013 18:31:05 +0000 (10:31 -0800)]
Stop using the non-uapi <linux/err.h> header file.

We only need it for MAX_ERRNO, and it's time we had somewhere to put
the little assembler utility macros we've been putting off writing.

Change-Id: I9354d2e0dc47c689296a34b5b229fc9ba75f1a83

10 years agoMerge "Remove pathconf's dependencies on non-uapi header files."
Elliott Hughes [Thu, 7 Nov 2013 01:32:27 +0000 (01:32 +0000)]
Merge "Remove pathconf's dependencies on non-uapi header files."

10 years agoRemove pathconf's dependencies on non-uapi header files.
Elliott Hughes [Thu, 7 Nov 2013 01:21:09 +0000 (17:21 -0800)]
Remove pathconf's dependencies on non-uapi header files.

Change-Id: I597996e4b141b009916f7ad2866dd100e08aa4d3

10 years agoMerge "Fix a TODO; we've had SOCK_CLOEXEC for a while now."
Elliott Hughes [Thu, 7 Nov 2013 01:16:47 +0000 (01:16 +0000)]
Merge "Fix a TODO; we've had SOCK_CLOEXEC for a while now."

10 years agoFix a TODO; we've had SOCK_CLOEXEC for a while now.
Elliott Hughes [Thu, 7 Nov 2013 01:04:56 +0000 (17:04 -0800)]
Fix a TODO; we've had SOCK_CLOEXEC for a while now.

Change-Id: I4bc39b57f3c33441ead74127f576bf5a4e311566

10 years agoMerge "Clean up the 32-bit kernel support, fix LP64 fcntl declaration."
Elliott Hughes [Thu, 7 Nov 2013 01:02:54 +0000 (01:02 +0000)]
Merge "Clean up the 32-bit kernel support, fix LP64 fcntl declaration."

10 years agoClean up the 32-bit kernel support, fix LP64 fcntl declaration.
Elliott Hughes [Thu, 7 Nov 2013 00:20:54 +0000 (16:20 -0800)]
Clean up the 32-bit kernel support, fix LP64 fcntl declaration.

In practice, thanks to all the registers the stubs don't actually change,
but it's confusing to have an incorrect declaration.

I suspect that fcntl remains broken for aarch64; it happens to work for
x86_64 because the first vararg argument gets placed in the right register
anyway, but I have no reason to believe that's true for aarch64.

This patch adds a unit test, though, so we'll be able to tell when we get
as far as running the unit tests.

Change-Id: I58dd0054fe99d7d51d04c22781d8965dff1afbf3

10 years agoMerge "Add processed uapi kernel headers for ARM."
Ben Cheng [Wed, 6 Nov 2013 23:55:25 +0000 (23:55 +0000)]
Merge "Add processed uapi kernel headers for ARM."

10 years agoAdd processed uapi kernel headers for ARM.
Ben Cheng [Wed, 6 Nov 2013 23:51:05 +0000 (15:51 -0800)]
Add processed uapi kernel headers for ARM.

Change-Id: Id34de841b7b4b5a1bf7d22eb793860f92f24a6e5

10 years agoMerge "Fix pread/pwrite for LP64."
Elliott Hughes [Wed, 6 Nov 2013 22:25:17 +0000 (22:25 +0000)]
Merge "Fix pread/pwrite for LP64."

10 years agoFix pread/pwrite for LP64.
Elliott Hughes [Wed, 6 Nov 2013 21:10:37 +0000 (13:10 -0800)]
Fix pread/pwrite for LP64.

Unlike on 32-bit systems where off_t is 32-bit, we don't want to
throw away the top 32 bits of an LP64 system's 64-bit off_t.

Change-Id: Ib2e0daeb4fc0b8ab3d1b983d0b371d8f81033b50

10 years agoMerge "Make cpp.py less braindead."
Elliott Hughes [Wed, 6 Nov 2013 20:31:09 +0000 (20:31 +0000)]
Merge "Make cpp.py less braindead."

10 years agoMake cpp.py less braindead.
Elliott Hughes [Tue, 5 Nov 2013 22:54:29 +0000 (14:54 -0800)]
Make cpp.py less braindead.

The old code ignored operator precedence (!), despite having two tables
of operator precedence. The code's still pretty awful, but I've cleaned
it up enough to fix this, the most important bug.

This patch lets us correctly clean the uapi unistd.h, stat.h, and swab.h files,
and also fixes the mess we were already making of various old kernel
header files. I've added a bunch more tests, fixed the existing tests that
the existing script was already failing (!), and changed the script so that
the tests are run every time the script is run.

We can probably remove some of the old kernel header files that we were
parsing incorrectly, but we can worry about that later.

Bug: 11253477
Change-Id: Ie66c65b3a7ae13b4e98ed8038a6a534f06eae0e5

10 years agoMerge "Fix <sys/select.h> for LP64, clean up <time.h>."
Elliott Hughes [Tue, 5 Nov 2013 21:54:38 +0000 (21:54 +0000)]
Merge "Fix <sys/select.h> for LP64, clean up <time.h>."

10 years agoFix <sys/select.h> for LP64, clean up <time.h>.
Elliott Hughes [Tue, 5 Nov 2013 21:28:36 +0000 (13:28 -0800)]
Fix <sys/select.h> for LP64, clean up <time.h>.

The 64-bit uapi headers don't define FD_CLR and friends, so this
patch updates libc/kernel/common/linux/time.h after the change
b934bbec145e9e084bf48149a3a94ae3dd132157 in external/kernel-headers,
then fixes <sys/select.h> to work in this new world, and removes
some now-unnecessary duplication from <time.h> (with other cruft
cleaned up while I'm here).

Change-Id: Ifd26f901b4d200c65065b3e6ef1b74055127e052

10 years agoMerge "Remove unnecessary #include."
Elliott Hughes [Tue, 5 Nov 2013 20:00:29 +0000 (20:00 +0000)]
Merge "Remove unnecessary #include."

10 years agoRemove unnecessary #include.
Elliott Hughes [Tue, 5 Nov 2013 19:59:06 +0000 (11:59 -0800)]
Remove unnecessary #include.

Change-Id: I99dade0b3803272ee29eba2ad36b0311f8a24c31

10 years agoMerge "Refresh libc/kernel/common/linux/uinput.h"
Elliott Hughes [Thu, 31 Oct 2013 23:03:15 +0000 (23:03 +0000)]
Merge "Refresh libc/kernel/common/linux/uinput.h"

10 years agoRefresh libc/kernel/common/linux/uinput.h
Scott Anderson [Fri, 25 Oct 2013 22:04:49 +0000 (15:04 -0700)]
Refresh libc/kernel/common/linux/uinput.h

Change-Id: Icd830af5aee63276554ebf7bfe8192965209cc59
Signed-off-by: Scott Anderson <saa@google.com>
10 years agoMerge "Fix linker crashes during unknown symbol lookup"
Elliott Hughes [Thu, 31 Oct 2013 22:06:59 +0000 (22:06 +0000)]
Merge "Fix linker crashes during unknown symbol lookup"

10 years agoFix linker crashes during unknown symbol lookup
Sergey Melnikov [Thu, 31 Oct 2013 14:02:12 +0000 (18:02 +0400)]
Fix linker crashes during unknown symbol lookup

Integration of kernel VDSO into internal bionic data structures using
common functions.
Fix for dl_iterate_phdr function: the function provides incorrect
address of object in case of nonzero virtual and base addresses.
Location in address space of a particular program header should be
calculated using the formula:  addr = base_addr + virtual_addr.

Signed-off-by: Sergey Melnikov <sergey.melnikov@intel.com>
Change-Id: Ie2ab4257fd456242aab8afed0bd5bd6b29e81d6d

10 years agoMerge "Move the pthread debugging flags to the right place."
Elliott Hughes [Thu, 31 Oct 2013 21:23:29 +0000 (21:23 +0000)]
Merge "Move the pthread debugging flags to the right place."

10 years agoMove the pthread debugging flags to the right place.
Elliott Hughes [Thu, 31 Oct 2013 21:09:39 +0000 (14:09 -0700)]
Move the pthread debugging flags to the right place.

Change-Id: Ie805bd837d1f72cdf1818e056c0baeb0857e4e84

10 years agoMerge "<pthread.h> fixes and pthread cleanup."
Elliott Hughes [Thu, 31 Oct 2013 20:36:48 +0000 (20:36 +0000)]
Merge "<pthread.h> fixes and pthread cleanup."

10 years ago<pthread.h> fixes and pthread cleanup.
Elliott Hughes [Wed, 30 Oct 2013 21:40:09 +0000 (14:40 -0700)]
<pthread.h> fixes and pthread cleanup.

<pthread.h> was missing nonnull attributes, noreturn on pthread_exit,
and had incorrect cv qualifiers for several standard functions.

I've also marked the non-standard stuff (where I count glibc rather
than POSIX as "standard") so we can revisit this cruft for LP64 and
try to ensure we're compatible with glibc.

I've also broken out the pthread_cond* functions into a new file.

I've made the remaining pthread files (plus ptrace) part of the bionic code
and fixed all the warnings.

I've added a few more smoke tests for chunks of untested pthread functionality.

We no longer need the libc_static_common_src_files hack for any of the
pthread implementation because we long since stripped out the rest of
the armv5 support, and this hack was just to ensure that __get_tls in libc.a
went via the kernel if necessary.

This patch also finishes the job of breaking up the pthread.c monolith, and
adds a handful of new tests.

Change-Id: Idc0ae7f5d8aa65989598acd4c01a874fe21582c7

10 years agoMerge "Remove an obsolete ARM gdb hack."
Elliott Hughes [Wed, 30 Oct 2013 21:37:56 +0000 (21:37 +0000)]
Merge "Remove an obsolete ARM gdb hack."

10 years agoRemove an obsolete ARM gdb hack.
Elliott Hughes [Wed, 30 Oct 2013 21:32:42 +0000 (14:32 -0700)]
Remove an obsolete ARM gdb hack.

Experiment shows that the claim in the makefile was false: gdb works fine
setting breakpoints in these functions when compiled without special treatment.

Change-Id: Ibdf4dd5a14d171c954b8c2089daaf28e1c310be9

10 years agoMerge "Factor out some of the makefile cruft."
Elliott Hughes [Wed, 30 Oct 2013 02:13:34 +0000 (02:13 +0000)]
Merge "Factor out some of the makefile cruft."

10 years agoFactor out some of the makefile cruft.
Elliott Hughes [Tue, 29 Oct 2013 23:59:54 +0000 (16:59 -0700)]
Factor out some of the makefile cruft.

I really don't want to add yet another copy for aarch64.

Also sort arm, mips, and x86.

Also silence the "TARGET_ARCH_VARIANT" warning for non-ARM; Intel and MIPS
have both complained about it.

Change-Id: I32c592a90c0cf0cdae250d84035b3e4655543781

10 years agoMerge "Explain the sigprocmask in pthread_exit."
Elliott Hughes [Tue, 29 Oct 2013 23:29:07 +0000 (23:29 +0000)]
Merge "Explain the sigprocmask in pthread_exit."

10 years agoExplain the sigprocmask in pthread_exit.
Elliott Hughes [Tue, 29 Oct 2013 23:11:06 +0000 (16:11 -0700)]
Explain the sigprocmask in pthread_exit.

Also remove the SIGSEGV special case, which was probably because
hand-written __exit_with_stack_teardown stubs used to try to cause
SIGSEGV if the exit system call returned (which it never does, so
that dead code disappeared).

Also move the sigprocmask into the only case where it's necessary ---
the one where we unmap the stack that would be used by a signal
handler.

Change-Id: Ie40d20c1ae2f5e7125131b6b492cba7a2c6d08e9

10 years agoMerge "Fix up failing glibc tests."
Christopher Ferris [Tue, 29 Oct 2013 22:32:33 +0000 (22:32 +0000)]
Merge "Fix up failing glibc tests."

10 years agoFix up failing glibc tests.
Christopher Ferris [Mon, 28 Oct 2013 22:24:04 +0000 (15:24 -0700)]
Fix up failing glibc tests.

There is a known bug running clone with the CLONE_VM flag, so for host
create an empty test.

Change the expected output of the stdio test for a glibc difference.

Change the pause test to use ScopedSignalHandler to setup/restore the SIGALRM
handler.

After this, running bionic-unit-tests-glibc passes for all tests.

Bug: 11389824

Change-Id: Ib304eae4164115835a54991dfdca5821ecc3db5e

10 years agoMerge "Update <sys/exec_elf.h> to include EM_AARCH64."
Elliott Hughes [Tue, 29 Oct 2013 15:50:33 +0000 (15:50 +0000)]
Merge "Update <sys/exec_elf.h> to include EM_AARCH64."

10 years agoUpdate <sys/exec_elf.h> to include EM_AARCH64.
Elliott Hughes [Tue, 29 Oct 2013 04:28:40 +0000 (21:28 -0700)]
Update <sys/exec_elf.h> to include EM_AARCH64.

Upstream added the constant for us.

Change-Id: I197e32d2e5b3fd499d069546ccfcc1d35d65e0a0

10 years agoMerge "AArch64: Add support for AArch64 to stdlib/strtod.c"
Elliott Hughes [Mon, 28 Oct 2013 23:25:27 +0000 (23:25 +0000)]
Merge "AArch64: Add support for AArch64 to stdlib/strtod.c"

10 years agoAArch64: Add support for AArch64 to stdlib/strtod.c
Serban Constantinescu [Tue, 8 Oct 2013 18:32:36 +0000 (19:32 +0100)]
AArch64: Add support for AArch64 to stdlib/strtod.c

This patch adds support for AArch64 to strtod.c definitions.

Change-Id: I9491c4371d921c00e73ae169877a9a71225731fb
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
10 years agoMerge "AArch64: Autogenerated syscalls for AArch64"
Elliott Hughes [Mon, 28 Oct 2013 23:19:46 +0000 (23:19 +0000)]
Merge "AArch64: Autogenerated syscalls for AArch64"

10 years agoAArch64: Autogenerated syscalls for AArch64
Serban Constantinescu [Thu, 10 Oct 2013 22:05:06 +0000 (23:05 +0100)]
AArch64: Autogenerated syscalls for AArch64

This patch adds AArch64 syscalls, autogenerated using:
        ./libc/tools/gensyscalls.py

Change-Id: I1cc60430423ecb52a35448bf2c358b82136b2f16
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
10 years agoMerge "AArch64: Add support for AArch64 to the syscall interface"
Elliott Hughes [Mon, 28 Oct 2013 23:17:23 +0000 (23:17 +0000)]
Merge "AArch64: Add support for AArch64 to the syscall interface"

10 years agoAArch64: Add support for AArch64 to the syscall interface
Serban Constantinescu [Mon, 7 Oct 2013 15:49:09 +0000 (16:49 +0100)]
AArch64: Add support for AArch64 to the syscall interface

This patch adds support for AArch64 to the syscall interface. The kernel
implementation exports a set of canonical syscalls, therefore some of
the userspace exported syscalls are implemented as stubs based on the
canonical set.

Change-Id: Ia965d71e97769b8be9d7655193fc40303964c4df
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
10 years agoMerge "Fix the *rand48 functions on LP64."
Elliott Hughes [Mon, 28 Oct 2013 23:09:49 +0000 (23:09 +0000)]
Merge "Fix the *rand48 functions on LP64."

10 years agoFix the *rand48 functions on LP64.
Elliott Hughes [Mon, 28 Oct 2013 22:24:26 +0000 (15:24 -0700)]
Fix the *rand48 functions on LP64.

I reported the mrand48 bug upstream, and 'matt' fixed the whole family
of functions!

Change-Id: I07fbc034e86499ce89599c3026a741738fd0cfc0

10 years agoMerge "Update <sys/exec_elf.h> to get the DF_* flags."
Elliott Hughes [Mon, 28 Oct 2013 22:03:54 +0000 (22:03 +0000)]
Merge "Update <sys/exec_elf.h> to get the DF_* flags."

10 years agoUpdate <sys/exec_elf.h> to get the DF_* flags.
Elliott Hughes [Mon, 28 Oct 2013 21:59:41 +0000 (14:59 -0700)]
Update <sys/exec_elf.h> to get the DF_* flags.

Change-Id: Ia9e785f6b95122f94ee3b01a312db1d5bb91a72e

10 years agoMerge "Don't allow text relocations on 64-bit."
Elliott Hughes [Mon, 28 Oct 2013 21:36:23 +0000 (21:36 +0000)]
Merge "Don't allow text relocations on 64-bit."

10 years agoDon't allow text relocations on 64-bit.
Elliott Hughes [Mon, 28 Oct 2013 21:19:05 +0000 (14:19 -0700)]
Don't allow text relocations on 64-bit.

I've also updated our <sys/exec_elf.h> to match upstream.

Change-Id: I52f9fce3167541811208d273ff23ceaa112f7135

10 years agoMerge "Fix utime/utimes when passed a NULL pointer."
Elliott Hughes [Mon, 28 Oct 2013 20:29:24 +0000 (20:29 +0000)]
Merge "Fix utime/utimes when passed a NULL pointer."

10 years agoFix utime/utimes when passed a NULL pointer.
Elliott Hughes [Mon, 28 Oct 2013 20:21:06 +0000 (13:21 -0700)]
Fix utime/utimes when passed a NULL pointer.

Bug: 11383777
Change-Id: If944a42f3adfa8a6ce91c167c249e009ed63300a

10 years agoMerge "Clean up linker architecture macros."
Elliott Hughes [Mon, 28 Oct 2013 18:04:22 +0000 (18:04 +0000)]
Merge "Clean up linker architecture macros."

10 years agoClean up linker architecture macros.
Elliott Hughes [Sat, 26 Oct 2013 00:38:02 +0000 (17:38 -0700)]
Clean up linker architecture macros.

We don't need our own architecture macros; the standard ones will do.

This patch also fixes some __x86_64__ tests to be USE_RELA tests instead,
because they're not actually x86_64-specific.

I've cleaned up architecture-specific code slightly so where possible
all the code corresponding to a particular architecture is together.

This patch also fixes a bug in LP64 DT_PLTGOT handling, which should be
an error rather than falling through into DT_DEBUG! There was another #ifdef
bug where we'd only report unexpected DT_ entries on MIPS.

Change-Id: Id1d04e372611f641c1aa278a18e379f28af9eaf5

10 years agoMerge "Upgrade to tzdata2013h."
Elliott Hughes [Mon, 28 Oct 2013 17:00:16 +0000 (17:00 +0000)]
Merge "Upgrade to tzdata2013h."

10 years agoUpgrade to tzdata2013h.
Elliott Hughes [Mon, 28 Oct 2013 16:38:00 +0000 (09:38 -0700)]
Upgrade to tzdata2013h.

From the release notes:

  Changes affecting current and future time stamps:

    Libya has switched its time zone back to UTC+2 without DST,
    instead of UTC+1 with DST.  (Thanks to Even Scharning.)

    Western Sahara (Africa/El_Aaiun) uses Morocco's DST rules.
    (Thanks to Gwillim Law.)

  Changes affecting future time stamps:

    Acre and (we guess) western Amazonas will switch from UTC-4 to UTC-5
    on 2013-11-10.  This affects America/Rio_Branco and America/Eirunepe.
    (Thanks to Steffen Thorsen.)

    Add entries for DST transitions in Morocco in the year 2038.
    This avoids some year-2038 glitches introduced in 2013g.
    (Thanks to Yoshito Umaoka for reporting the problem.)

Change-Id: Ic855df19773e3fbf13b941b5bfa91dcee9e181e1

10 years agoMerge "Update running bionic unit tests on host."
Christopher Ferris [Fri, 25 Oct 2013 17:37:02 +0000 (17:37 +0000)]
Merge "Update running bionic unit tests on host."

10 years agoUpdate running bionic unit tests on host.
Christopher Ferris [Fri, 25 Oct 2013 17:06:57 +0000 (10:06 -0700)]
Update running bionic unit tests on host.

Add a bionic-unit-tests-glibc-run target to run the glibc bionic unit tests.

Modify the bionic-unit-tests-run-on-host to make sure that the /system/bin
directory is created properly.

Also remove the EXTERNAL_STORAGE variable which isn't used any more.

Bug: 11234772
Change-Id: I9aea501d05700b29e938f672474d550b1872a78b

10 years agoMerge "Fix the exit syscall stub's name."
Elliott Hughes [Fri, 25 Oct 2013 16:25:22 +0000 (16:25 +0000)]
Merge "Fix the exit syscall stub's name."

10 years agoMerge "Simplify defining the linker architecture macro."
Elliott Hughes [Fri, 25 Oct 2013 16:01:20 +0000 (16:01 +0000)]
Merge "Simplify defining the linker architecture macro."

10 years agoSimplify defining the linker architecture macro.
Elliott Hughes [Fri, 25 Oct 2013 06:18:13 +0000 (23:18 -0700)]
Simplify defining the linker architecture macro.

Like the new TODO says, though, do we need this at all? Wouldn't we be better
off just using the regular architecture-specific macros? This is a dynamic
linker, so there's never a possibility of cross-linking.

Change-Id: I7be6b8663f5e585c4024a49aae383430c86a3c1b

10 years agoFix the exit syscall stub's name.
Elliott Hughes [Fri, 25 Oct 2013 05:36:58 +0000 (22:36 -0700)]
Fix the exit syscall stub's name.

I've left the exit_group syscall as _exit because otherwise we'd have to
convince the compiler that our _exit (which just calls __exit_group) is
actually "noreturn", and it seems like that would be less clean than just
cutting out the middleman.

We'll just have to trust ourselves not to add anything to SYSCALLS.TXT
that ought to be private but that only has a single leading underscore.
Hopefully we can manage that.

Change-Id: Iac47faea9f516186e1774381846c54cafabc4354

10 years agoMerge "Use hidden visibility for generated stubs whose names begin with underscores."
Elliott Hughes [Fri, 25 Oct 2013 00:20:24 +0000 (00:20 +0000)]
Merge "Use hidden visibility for generated stubs whose names begin with underscores."

10 years agoMerge "Start moving 32-bit cruft somewhere it won't pollute 64-bit."
Elliott Hughes [Fri, 25 Oct 2013 00:18:15 +0000 (00:18 +0000)]
Merge "Start moving 32-bit cruft somewhere it won't pollute 64-bit."

10 years agoStart moving 32-bit cruft somewhere it won't pollute 64-bit.
Elliott Hughes [Fri, 25 Oct 2013 00:14:55 +0000 (17:14 -0700)]
Start moving 32-bit cruft somewhere it won't pollute 64-bit.

Change-Id: I03a6a50a5243f29e50fb58a3cf8b5e7198640baa

10 years agoUse hidden visibility for generated stubs whose names begin with underscores.
Elliott Hughes [Fri, 25 Oct 2013 00:03:20 +0000 (17:03 -0700)]
Use hidden visibility for generated stubs whose names begin with underscores.

Change-Id: Idb39fd04b7a14114801624e744e76e0e7913d951

10 years agoMerge "Let the compiler worry about implementing ffs(3)."
Elliott Hughes [Thu, 24 Oct 2013 23:35:51 +0000 (23:35 +0000)]
Merge "Let the compiler worry about implementing ffs(3)."

10 years agoLet the compiler worry about implementing ffs(3).
Elliott Hughes [Thu, 24 Oct 2013 23:29:40 +0000 (16:29 -0700)]
Let the compiler worry about implementing ffs(3).

It does at least as good a job as our old hand-written assembly anyway.

Change-Id: If7c4a1ac508bace0b71ee7b67808caa6eabf11d2

10 years agoMerge "Revert "Don't warn about x86 text relocations. They're too prevalent.""
Elliott Hughes [Thu, 24 Oct 2013 23:05:24 +0000 (23:05 +0000)]
Merge "Revert "Don't warn about x86 text relocations. They're too prevalent.""

10 years agoRevert "Don't warn about x86 text relocations. They're too prevalent."
Elliott Hughes [Thu, 24 Oct 2013 22:58:28 +0000 (22:58 +0000)]
Revert "Don't warn about x86 text relocations. They're too prevalent."

This reverts commit 5be2c5998c996ff9d5efb94c127d9b832a295822.

Change-Id: I3fc8ca530cdbd74c834fb9cfabe812c9386419fc

10 years agoMerge "Remove dependencies on obsolete __ARCH_WANT_SYSCALL_DEPRECATED system calls."
Elliott Hughes [Thu, 24 Oct 2013 22:49:48 +0000 (22:49 +0000)]
Merge "Remove dependencies on obsolete __ARCH_WANT_SYSCALL_DEPRECATED system calls."

10 years agoRemove dependencies on obsolete __ARCH_WANT_SYSCALL_DEPRECATED system calls.
Elliott Hughes [Thu, 24 Oct 2013 22:15:14 +0000 (15:15 -0700)]
Remove dependencies on obsolete __ARCH_WANT_SYSCALL_DEPRECATED system calls.

(aarch64 kernels don't have these system calls.)

Change-Id: I6f64075aa412f71520f2df71c3d69b647f91c1ca

10 years agoMerge "Add __EXPORTED_HEADERS__ as predefined macro."
Ben Cheng [Wed, 23 Oct 2013 22:47:21 +0000 (22:47 +0000)]
Merge "Add __EXPORTED_HEADERS__ as predefined macro."

10 years agoAdd __EXPORTED_HEADERS__ as predefined macro.
Ben Cheng [Wed, 23 Oct 2013 21:38:25 +0000 (14:38 -0700)]
Add __EXPORTED_HEADERS__ as predefined macro.

To weed out stuff like this in uapi/linux/types.h

ifndef __EXPORTED_HEADERS__
warning "Attempt to use kernel headers from user space, see
http://kernelnewbies.org/KernelHeaders"
endif /* __EXPORTED_HEADERS__ */

Change-Id: I6506cea6248f7a3b44a839b98e91bdd0d3a6c4cd

10 years agoMerge "Don't warn about x86 text relocations. They're too prevalent."
Elliott Hughes [Wed, 23 Oct 2013 20:58:37 +0000 (20:58 +0000)]
Merge "Don't warn about x86 text relocations. They're too prevalent."

10 years agoDon't warn about x86 text relocations. They're too prevalent.
Elliott Hughes [Wed, 23 Oct 2013 20:45:01 +0000 (13:45 -0700)]
Don't warn about x86 text relocations. They're too prevalent.

We should fix this (and disallow it for x86_64), but for now let's get CTS
running again.

libdvm.so and libcutils.so are the main problems.

$ scanelf -qT out/target/product/generic_x86/symbols/system/lib/libcutils.so
  libcutils.so: (memory/data?) [0x4125] in (optimized out: previous android_memset16) [0x4100]
  libcutils.so: (memory/data?) [0x424F] in (optimized out: previous android_memset16) [0x4100]
  libcutils.so: (memory/data?) [0x42F8] in (optimized out: previous android_memset16) [0x4100]
  libcutils.so: (memory/data?) [0x4349] in (optimized out: previous android_memset16) [0x4100]
  libcutils.so: (memory/data?) [0x4406] in (optimized out: previous android_memset16) [0x4100]
  libcutils.so: (memory/data?) [0x45AC] in (optimized out: previous android_memset32) [0x4590]
  libcutils.so: (memory/data?) [0x4650] in (optimized out: previous android_memset32) [0x4590]
  libcutils.so: (memory/data?) [0x46F9] in (optimized out: previous android_memset32) [0x4590]
  libcutils.so: (memory/data?) [0x474A] in (optimized out: previous android_memset32) [0x4590]
  libcutils.so: (memory/data?) [0x4807] in (optimized out: previous android_memset32) [0x4590]

Bug: 11353056
Change-Id: Id4a76b310be7fe858a8a60d0d260b09913b66be9

10 years agoMerge "MIPS' pipe(2) is weird, but MIPS' pipe2(2) is the same as everyone else's."
Elliott Hughes [Wed, 23 Oct 2013 18:27:35 +0000 (18:27 +0000)]
Merge "MIPS' pipe(2) is weird, but MIPS' pipe2(2) is the same as everyone else's."

10 years agoMerge "Fix header file dependencies."
Elliott Hughes [Wed, 23 Oct 2013 18:27:00 +0000 (18:27 +0000)]
Merge "Fix header file dependencies."

10 years agoFix header file dependencies.
Elliott Hughes [Wed, 23 Oct 2013 18:25:54 +0000 (11:25 -0700)]
Fix header file dependencies.

MIPS' asm/fcntl.h assumes a bunch of __kernel_* types are already declared.

Change-Id: Iff701bbb5ede9667a78230c2de3a8f4fe41371c5

10 years agoMIPS' pipe(2) is weird, but MIPS' pipe2(2) is the same as everyone else's.
Elliott Hughes [Wed, 23 Oct 2013 18:21:36 +0000 (11:21 -0700)]
MIPS' pipe(2) is weird, but MIPS' pipe2(2) is the same as everyone else's.

arch/mips/kernel/syscall.c has a special sysm_pipe wrapper, but there's
no special treatment of pipe2 because it carries no historical baggage.

Change-Id: I892c0f690b21992c8a48276a9b732126f18fc0ee

10 years agoMerge "Remove dependencies on obsolete __ARCH_WANT_SYSCALL_NO_FLAGS syscalls."
Elliott Hughes [Wed, 23 Oct 2013 17:26:40 +0000 (17:26 +0000)]
Merge "Remove dependencies on obsolete __ARCH_WANT_SYSCALL_NO_FLAGS syscalls."

10 years agoRemove dependencies on obsolete __ARCH_WANT_SYSCALL_NO_FLAGS syscalls.
Elliott Hughes [Wed, 23 Oct 2013 16:48:29 +0000 (09:48 -0700)]
Remove dependencies on obsolete __ARCH_WANT_SYSCALL_NO_FLAGS syscalls.

(aarch64 kernels only have the newer system calls.)

Also expose the new functionality that's exposed by glibc in our header files.

Change-Id: I45d2d168a03f88723d1f7fbf634701006a4843c5

10 years agoMerge "Move away from the __ARCH_WANT_SYSCALL_NO_AT system calls."
Elliott Hughes [Tue, 22 Oct 2013 23:32:24 +0000 (23:32 +0000)]
Merge "Move away from the __ARCH_WANT_SYSCALL_NO_AT system calls."

10 years agoMove away from the __ARCH_WANT_SYSCALL_NO_AT system calls.
Elliott Hughes [Tue, 22 Oct 2013 20:28:46 +0000 (13:28 -0700)]
Move away from the __ARCH_WANT_SYSCALL_NO_AT system calls.

Modern architectures only get the *at(2) system calls. For example,
aarch64 doesn't have open(2), and expects userspace to use openat(2)
instead.

Change-Id: I87b4ed79790cb8a80844f5544ac1a13fda26c7b5

10 years agoMerge "AArch64: Fix definitions for STDINT_LIMITS"
Elliott Hughes [Tue, 22 Oct 2013 19:41:26 +0000 (19:41 +0000)]
Merge "AArch64: Fix definitions for STDINT_LIMITS"