Commit Graph

240 Commits

Author SHA1 Message Date
Elliott Hughes
2a60b264eb am 6b69b753: am 4d2ab4c7: Merge "Fix linker crashes during unknown symbol lookup"
* commit '6b69b753d7c9820fb4fd7f88a047931c645834c8':
  Fix linker crashes during unknown symbol lookup
2013-10-31 15:13:39 -07:00
Sergey Melnikov
ebd506c69e 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
2013-10-31 15:06:20 -07:00
Elliott Hughes
26e9e3c76a am 1658691e: am 0360e3ab: Merge "<pthread.h> fixes and pthread cleanup."
* commit '1658691e0cfe2eb221bee837649de1907a579a0b':
  <pthread.h> fixes and pthread cleanup.
2013-10-31 13:43:18 -07:00
Elliott Hughes
c3f114037d <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
2013-10-31 12:31:16 -07:00
Christopher Ferris
fa088df49e am 4fbd0277: am f084f7dc: Merge "Fix up failing glibc tests."
* commit '4fbd0277aedd9cf1e81648e9a849c52211a65adf':
  Fix up failing glibc tests.
2013-10-29 18:31:05 -07:00
Christopher Ferris
13613137bc 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
2013-10-29 14:55:11 -07:00
Elliott Hughes
d1c7766aea am e9f6c480: am 3ec5d895: Merge "Fix utime/utimes when passed a NULL pointer."
* commit 'e9f6c4800816df3acec0d5683667b5aac290f049':
  Fix utime/utimes when passed a NULL pointer.
2013-10-28 13:34:32 -07:00
Elliott Hughes
27586ebe1a Fix utime/utimes when passed a NULL pointer.
Bug: 11383777
Change-Id: If944a42f3adfa8a6ce91c167c249e009ed63300a
2013-10-28 13:21:06 -07:00
Christopher Ferris
a9b95baace am 763fe341: am 93fcfeee: Merge "Update running bionic unit tests on host."
* commit '763fe3419c677e28d209ec319f743d65ff0e69c4':
  Update running bionic unit tests on host.
2013-10-25 10:40:26 -07:00
Christopher Ferris
b38e4d536f 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
2013-10-25 10:23:12 -07:00
Elliott Hughes
557a5e08c6 am e4ab1b67: am f8dfb6f2: Merge "Remove dependencies on obsolete __ARCH_WANT_SYSCALL_DEPRECATED system calls."
* commit 'e4ab1b6795e325fe346c792e6254592a8db16d4e':
  Remove dependencies on obsolete __ARCH_WANT_SYSCALL_DEPRECATED system calls.
2013-10-24 15:56:17 -07:00
Elliott Hughes
11952073af Remove dependencies on obsolete __ARCH_WANT_SYSCALL_DEPRECATED system calls.
(aarch64 kernels don't have these system calls.)

Change-Id: I6f64075aa412f71520f2df71c3d69b647f91c1ca
2013-10-24 15:48:32 -07:00
Elliott Hughes
e514d2fe66 resolved conflicts for merge of 1dbf56aa to klp-dev-plus-aosp
Change-Id: Ia1d1467065320941d6dc3a50f7ea85eb4dbf3841
2013-10-22 16:41:42 -07:00
Elliott Hughes
f8fcfbc85a 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
2013-10-22 16:31:01 -07:00
Elliott Hughes
081b40f378 am 550ccc2e: am 8c39e58b: Merge "Make sure we have a mkfifo symbol."
* commit '550ccc2e20cb1998a959a7abb24f5ec382a93192':
  Make sure we have a mkfifo symbol.
2013-10-22 12:08:51 -07:00
Elliott Hughes
594b1a4af2 Make sure we have a mkfifo symbol.
Bug: https://code.google.com/p/android/issues/detail?id=58888
Change-Id: Ic0a883a5f30beb82cb7be3c4e81b6d693d5fbb4d
2013-10-22 12:03:19 -07:00
Elliott Hughes
5f985ebb1b am a5826391: am 393484ab: Merge "Fix statvfs tests for the host."
* commit 'a5826391e9afafcb688c103282a30254928f61f3':
  Fix statvfs tests for the host.
2013-10-21 20:16:54 -07:00
Elliott Hughes
3d305f1d62 Fix statvfs tests for the host.
Using /proc seems like a better idea because it's more similar across devices.
I've switched to ensuring we check the initial and final elements in the struct
too, so we have more reason to believe the whole struct is converted correctly.

Change-Id: Ia23403369485747c1452292f6c9df2bb233c04fb
2013-10-21 19:27:19 -07:00
Elliott Hughes
c6557e3c83 am f777c50a: am c284d47c: Merge "Fix the system property tests to use ."
* commit 'f777c50a7130271ed6fefa9bd2bae78be998f4b0':
  Fix the system property tests to use $ANDROID_DATA.
2013-10-21 17:45:21 -07:00
Elliott Hughes
e4375196d6 Fix the system property tests to use $ANDROID_DATA.
This lets them work on the host.

Change-Id: I771ccc67652ae37451b45859c7831116cd830086
2013-10-21 17:40:15 -07:00
Elliott Hughes
f1a93bf7da am 8173b001: am ac5d29fe: Merge "Fix the x86_64 clone implementation."
* commit '8173b00125bc0bdeda09d9b9d4f34a2f82b66016':
  Fix the x86_64 clone implementation.
2013-10-21 14:27:20 -07:00
Elliott Hughes
53bfdae4ff Fix the x86_64 clone implementation.
Change-Id: Ia75f46dcb4d3222049e9a6a6fabc2b17223b47f7
2013-10-18 19:39:09 -07:00
Elliott Hughes
7d0204b685 am f7de5d57: am 25269b88: Merge "Fix the time unit tests for systems with 64-bit time_t."
* commit 'f7de5d57732d67f967243bea5e01f6da6be5f517':
  Fix the time unit tests for systems with 64-bit time_t.
2013-10-18 16:59:10 -07:00
Elliott Hughes
0c40152767 Fix the time unit tests for systems with 64-bit time_t.
Change-Id: I29df50b25d022c1c00906e71b612defa58e46e81
2013-10-18 16:21:54 -07:00
Elliott Hughes
f00e772b25 am 63e118b7: am d0402acd: Merge "x86_64: Fix bionic tests build-and-run"
* commit '63e118b7dbadb49037cd20f8355e27fe4ac20f3b':
  x86_64: Fix bionic tests build-and-run
2013-10-18 15:11:33 -07:00
Pavel Chupin
17558dec7f x86_64: Fix bionic tests build-and-run
Change-Id: Iab48362893a212afbcbc362fdfaff5bfa5b55259
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-18 15:04:19 -07:00
Elliott Hughes
ceb6832ca0 am 7d604133: am e3cc1555: Merge "Fix some test assumptions that are wrong for __LP64__."
* commit '7d604133770ae3d9da84737a527907a94683fe21':
  Fix some test assumptions that are wrong for __LP64__.
2013-10-18 13:36:22 -07:00
Elliott Hughes
925753aa11 Fix some test assumptions that are wrong for __LP64__.
Change-Id: Ic79cd5858ceb611640a76bd03f3da4925d3150d9
2013-10-18 13:17:18 -07:00
Elliott Hughes
7efbac17bf am 2039949b: am 967cd1bc: Merge "Fix sigaction(3) for 64-bit."
* commit '2039949b225a3f6414250385b8d814440c24bab5':
  Fix sigaction(3) for 64-bit.
2013-10-17 11:52:30 -07:00
Elliott Hughes
c7e9b23317 Fix sigaction(3) for 64-bit.
Also clean up <signal.h> and revert the hacks that were necessary
for 64-bit in linker/debugger.cpp until now.

Change-Id: I3b0554ca8a49ee1c97cda086ce2c1954ebc11892
2013-10-17 11:36:55 -07:00
Elliott Hughes
6b9321b858 am d6e117b6: am 1f29c2f5: Merge "Switch sigpending over to rt_sigpending."
* commit 'd6e117b64bdfbf8d793eb59ea9604b806608ec75':
  Switch sigpending over to rt_sigpending.
2013-10-16 16:09:42 -07:00
Elliott Hughes
40d105ccb3 Switch sigpending over to rt_sigpending.
Change-Id: I7b28984796b5fb343cfbcc47e0afc3a84293d417
2013-10-16 14:07:01 -07:00
Elliott Hughes
afaebc3fef am 87fc78de: am 608c65f6: Merge "Fix sigsuspend to use rt_sigsuspend on all platforms."
* commit '87fc78de6c869d0403ccdd2e756ec1f5d456f3d3':
  Fix sigsuspend to use rt_sigsuspend on all platforms.
2013-10-15 18:20:32 -07:00
Elliott Hughes
1f5af926fa Fix sigsuspend to use rt_sigsuspend on all platforms.
Change-Id: I981c1a66d35480d4457a0a08a1b042dac94daa5b
2013-10-15 18:15:19 -07:00
Elliott Hughes
4681f8244e am 5b3f1d8b: am 22b83da4: Merge "Clean up the sigprocmask/pthread_sigmask implementation."
* commit '5b3f1d8b3a6a1caf059dc376e4967a27ddd57dac':
  Clean up the sigprocmask/pthread_sigmask implementation.
2013-10-15 14:16:02 -07:00
Elliott Hughes
19e62325c2 Clean up the sigprocmask/pthread_sigmask implementation.
Let's have both use rt_sigprocmask, like in glibc. The 64-bit ABIs
can share the same code as the 32-bit ABIs.

Also, let's test the return side of these calls, not just the
setting.

Bug: 11069919
Change-Id: I11da99f85b5b481870943c520d05ec929b15eddb
2013-10-15 11:23:57 -07:00
Stephen Hines
8161b23689 am 4691325d: am abeafbd6: Merge "Wrap sprintf()/snprintf() macros to prevent expansion errors."
* commit '4691325d48406033632fe84a944ac9c3bd2e5097':
  Wrap sprintf()/snprintf() macros to prevent expansion errors.
2013-10-11 16:33:07 -07:00
Stephen Hines
78f6db64fe am 36959302: am 8704ada3: Merge "Fix clang warnings in bionic."
* commit '36959302a334499c7d2ddf4a090e2ab7e3a8ae1d':
  Fix clang warnings in bionic.
2013-10-11 16:33:03 -07:00
Stephen Hines
abeafbd6d5 Merge "Wrap sprintf()/snprintf() macros to prevent expansion errors." 2013-10-11 23:28:32 +00:00
Stephen Hines
6c7b3cb056 Fix clang warnings in bionic.
This fixes a few diverse issues that clang warns on in bionic. First,
it specifies the appropriate converted types for format specifiers.
The "h" and "hh" modifiers specify that the user is passing a short or
char respectively. We were passing int deliberately in both cases and
relying on the compiler to implicitly downcast to the smaller type.
We also remove the non-standard "d" suffix from our double-precision
floating point constant. This is an extension for gcc that clang does
not implement. The third fix is to mark the c1 variable as unused,
since it truly is neither read nor written.

Change-Id: I4793352b9d3e58f1f4cac9e7581ef4b2a70b43c7
2013-10-11 16:20:08 -07:00
Stephen Hines
6e38072add Wrap sprintf()/snprintf() macros to prevent expansion errors.
Previously, FORTIFY_SOURCE used single macros to define these standard
functions for use with clang. This can cause conflicts with other macros used
to call these functions, particularly when those macros expand the number of
arguments to the function. This change wraps our macro definitions, so that
expansion properly takes place for programmer arguments first.

Change-Id: I55929b1fd2a643b9d14a17631c4bcab3b0b712cf
2013-10-11 12:14:49 -07:00
Nick Kralevich
49bb53c8e2 am 95de0df8: am eda2679e: Merge "FORTIFY_SOURCE: fortify read()"
* commit '95de0df8c2daeefca358010f2d15c3346a5284f1':
  FORTIFY_SOURCE: fortify read()
2013-10-09 21:28:52 -07:00
Nick Kralevich
b036b5ca36 FORTIFY_SOURCE: fortify read()
Change-Id: Ic7de163fe121db13e00560adb257331bc709814d
2013-10-09 20:17:03 -07:00
Nick Kralevich
b8771d9fd8 am b35ebe3d: am 848efa9d: Merge "Revert "FORTIFY_SOURCE: fortify read()""
* commit 'b35ebe3d7097899fd4498ebb2b93e48fd836ebcf':
  Revert "FORTIFY_SOURCE: fortify read()"
2013-10-09 16:53:05 -07:00
Nick Kralevich
8d25327639 Revert "FORTIFY_SOURCE: fortify read()"
This change reverts
* fb3f956d07.
* 65c99de2cb

Change-Id: Id5774eeede41130579115cf67a72ee914f2b47d5
2013-10-09 16:46:25 -07:00
Nick Kralevich
45e3076cdc am 731ced6b: am c147478c: Merge "FORTIFY_SOURCE: fortify read()"
* commit '731ced6b289629a552b5841561fdcccf08d8c43a':
  FORTIFY_SOURCE: fortify read()
2013-10-09 16:32:25 -07:00
Nick Kralevich
65c99de2cb FORTIFY_SOURCE: fortify read()
Change-Id: I3d7b4ec86d04efb865117ce7629a2e26917f3331
2013-10-09 13:44:38 -07:00
Nick Kralevich
6f10368926 am 2e819c58: am 2ff3c746: Merge "Check memory size on FD_* functions"
* commit '2e819c58c9396eec3e4311ef2c9bdcadd107f001':
  Check memory size on FD_* functions
2013-10-03 15:57:09 -07:00
Nick Kralevich
7943df62f7 Check memory size on FD_* functions
Make sure the buffer we're dealing with has enough room.
Might as well check for memory issues while we're here,
even though I don't imagine they'll happen in practice.

Change-Id: I0ae1f0f06aca9ceb91e58c70183bb14e275b92b5
2013-10-03 15:45:10 -07:00
Elliott Hughes
fa9fb5cb01 am 2a3d760e: am 00a816e5: Merge "Fix 32-bit issues in tests, and add a trivial test for the FD_* macros."
* commit '2a3d760e0fc0cbd2cac03754949457c062ced5f5':
  Fix 32-bit issues in tests, and add a trivial test for the FD_* macros.
2013-10-02 21:04:32 -07:00