5423 Commits

Author SHA1 Message Date
Elliott Hughes
b20a5c8df8 am e9c216fc: Merge "Fix pthread_attr_getstack under valgrind."
* commit 'e9c216fca56e84b0d0a96f7d5e3c99d3276ef071':
  Fix pthread_attr_getstack under valgrind.
2014-10-09 22:11:00 +00:00
Elliott Hughes
9afb2f2106 Fix pthread_attr_getstack under valgrind.
valgrind seems to mess with the stack enough that the kernel will
report "[stack:pid]" rather than "[stack]" in /proc/self/maps, so
switch to the task-specific file instead to force "[stack]". (There
are two conditions in the kernel code that decides which form to
output.)

Bug: 17897476
Change-Id: Iff85ceb6d52e8716251fab4e45d95a27184c5529
2014-10-09 14:01:47 -07:00
Christopher Ferris
9d192aa08e am d0944d9e: Merge "Re-add dlmalloc for 32 bit."
* commit 'd0944d9ed38be0d74c3d8876f0f36b9ddc0ce38c':
  Re-add dlmalloc for 32 bit.
2014-10-09 18:59:39 +00:00
Christopher Ferris
f183f95946 Re-add dlmalloc for 32 bit.
It turns out that appportable has a version that calls dlmalloc directly.
Re-add the dlmalloc symbol for 32 bit only as a compatibility shim that
calls malloc.

Bug: 17881362

(cherry pick commit from c9734d24d92f4737f5ab3808c77d816a1b084582)

Change-Id: Iee9a777f66a1edb407d7563a60792b767ac4f83a
2014-10-09 11:47:01 -07:00
Dan Albert
653f30b15a am 8a7f8387: Merge "Use snprintf(3) instead of sprintf(3)."
* commit '8a7f8387b3b95de2ee0c42e34a226a1fcc066896':
  Use snprintf(3) instead of sprintf(3).
2014-10-09 00:39:27 +00:00
Dan Albert
8b3b4fa0ae am 72d72d91: Merge "Replace uses of sprintf(3) with snprintf(3)."
* commit '72d72d91262fabe6bc169618ef3acb0721441cf0':
  Replace uses of sprintf(3) with snprintf(3).
2014-10-09 00:12:30 +00:00
Dan Albert
ca75f9cdeb Use snprintf(3) instead of sprintf(3).
This change should probably be made upstream as well, but they have a
note about not using it because it isn't available on all systems.

Change-Id: I6d8404c031bd2f486532ced55d94bbb4a4cd2e71
2014-10-08 17:10:26 -07:00
Dan Albert
72d72d9126 Merge "Replace uses of sprintf(3) with snprintf(3)." 2014-10-08 23:44:48 +00:00
Dan Albert
cfd8c45725 Replace uses of sprintf(3) with snprintf(3).
At -00, the compiler warns about sprintf(3), and it is promoted to an
error by -Werror.

Change-Id: Ibb380d27d7eb09dda8ac785be2478d656b379190
2014-10-08 16:12:27 -07:00
Elliott Hughes
301c452e55 am 0511534d: Merge "Don\'t silently return EINVAL for a NULL sem_t*."
* commit '0511534dcbb00f26b2fd6209b1b60a3263bf042c':
  Don't silently return EINVAL for a NULL sem_t*.
2014-10-08 22:49:07 +00:00
Elliott Hughes
75129ae9f3 Don't silently return EINVAL for a NULL sem_t*.
Bug: 17571197
Change-Id: Ied31d8de87fc10d20dc338be0457e9a4ddb9a0a5
2014-10-08 15:11:44 -07:00
Elliott Hughes
3430ec18a4 am 5a3ca374: Merge "Revert "Work around a bug in Immersion\'s libImmEmulatorJ.so.""
* commit '5a3ca374583f7605672d9e8f9098011de240f7c4':
  Revert "Work around a bug in Immersion's libImmEmulatorJ.so."
2014-10-08 16:49:35 +00:00
Elliott Hughes
5a3ca37458 Merge "Revert "Work around a bug in Immersion's libImmEmulatorJ.so."" 2014-10-08 16:40:58 +00:00
Dan Albert
187fd4d7ab am c9e4f2de: Merge "Inline helpers need to be exported unmangled."
* commit 'c9e4f2de0a92ebf6dec336f383ba172efe1bb366':
  Inline helpers need to be exported unmangled.
2014-10-08 00:13:09 +00:00
Dan Albert
c9e4f2de0a Merge "Inline helpers need to be exported unmangled." 2014-10-08 00:01:08 +00:00
Dan Albert
658727e111 Inline helpers need to be exported unmangled.
__open_2() is used by the fortify implementation of open(2) in
fcntl.h, and as such needs an unmangled C name. For some reason
(inlining?), this doesn't cause problems at the default optimization
level, but does for -O0.

The rest of these didn't cause build failures, but they look suspect
and probably will, we just haven't caught them yet.

Bug: 17784968
Change-Id: I7391a7a8999ee204eaf6abd14a3d5373ea419d5b
2014-10-07 16:46:47 -07:00
Elliott Hughes
3d773274ad Revert "Work around a bug in Immersion's libImmEmulatorJ.so."
This reverts commit 7d3f553f989f830976efa92ddc3c84661d4d42aa.

Change-Id: I8909b6aa1d97e9a61dbe95a2d91b9fbe336b58f0
2014-10-07 23:31:06 +00:00
Elliott Hughes
f6aec38582 am b5e7eba6: Work around a bug in Immersion\'s libImmEmulatorJ.so.
* commit 'b5e7eba6d1b97e471996fcfe7dbde7cbba7512ef':
  Work around a bug in Immersion's libImmEmulatorJ.so.
2014-10-07 23:22:28 +00:00
Elliott Hughes
b5e7eba6d1 Work around a bug in Immersion's libImmEmulatorJ.so.
This library calls pthread_mutex_lock and pthread_mutex_unlock with a NULL
pthread_mutex_t*. This gives them (and their users) one release to fix things.

Bug: 17443936

(cherry picked from commit 7d3f553f989f830976efa92ddc3c84661d4d42aa)

Change-Id: Ie26bbecd3a74d61113b51c18832872499b97ee86
2014-10-07 16:08:46 -07:00
Elliott Hughes
7d3f553f98 Work around a bug in Immersion's libImmEmulatorJ.so.
This library calls pthread_mutex_lock and pthread_mutex_unlock with a NULL
pthread_mutex_t*. This gives them (and their users) one release to fix things.

Bug: 17443936
Change-Id: I3b63c9a3dd63db0833f21073e323b3236a13b47a
2014-10-07 16:02:11 -07:00
Dan Albert
24095148c9 am eeb9aa02: Merge "Use snprintf instead of sprintf."
* commit 'eeb9aa02b7f307a1d9b80731dd69ef9dd2f47e47':
  Use snprintf instead of sprintf.
2014-10-07 18:47:04 +00:00
Elliott Hughes
d87d401ab1 Improve <sys/cdefs.h>.
Fix and use __RENAME (and lose ___RENAME --- two underscores should be
enough for anybody). This was the point of this change, because I want
to use __RENAME to support the two basename variants and the two
strerror_r variants.

Lose a bunch of macros that weren't being used.

Lose three dead files from the DNS code.

Bug: 17784968

(cherry picked from commit 2cfb4e8e2e217ef0e4140dcbf9b3da809781158c)

Change-Id: I5e96146f92c0521248c78c0933bec5e9a9818222
2014-10-07 11:40:09 -07:00
Dan Albert
b0fd55608e Use snprintf instead of sprintf.
At -O0, the attribute warning on sprintf is actually triggered (why
doesn't this happen with -Os?!) and promoted to an error by -Werror.
asctime64_r() is a non-standard function, but the IBM docs state that
the buffer is assumed to be at least 26 characters wide, and the
format string does limit to that (assuming a 4 digit year, also
defined by the IBM docs).

http://www-01.ibm.com/support/knowledgecenter/SSLTBW_2.1.0/com.ibm.zos.v2r1.bpxbd00/asctimer.htm

Change-Id: I1c884474a769aa16c53e985c3d8d694c478c1189
2014-10-07 11:28:47 -07:00
Elliott Hughes
6c4e16f634 Merge "further cleanup memcpy fortify implementation" into lmp-mr1-dev 2014-10-07 00:30:34 +00:00
Christopher Ferris
27355affc1 am d11eac34: Force export symbols on all x86 variants in libc.
* commit 'd11eac3455a059a092ceee92eda9905e1d661e94':
  Force export symbols on all x86 variants in libc.
2014-10-07 00:20:10 +00:00
Christopher Ferris
015a48af36 am 81fca356: Merge "Force export symbols on all x86 variants in libc."
* commit '81fca35672df90e2f770e67bbf7e7735c6ff8bd8':
  Force export symbols on all x86 variants in libc.
2014-10-06 23:50:42 +00:00
Christopher Ferris
6869d26ad9 Force export symbols on all x86 variants in libc.
For silvermont, the __popcountsi2 symbol does not get exported by libc.
But for atom, this symbol is exported. Since we already exported this symbol
for previous releases, it's better to just follow through and force
the export, but only for 32 bit. x86 64 bit will not export this symbol.

Bug: 17681440

(cherry picked from commit d11eac3455a059a092ceee92eda9905e1d661e94)

Change-Id: I93704c721d98d569922f606f214069bda24872ba
2014-10-06 16:41:46 -07:00
Nick Kralevich
d9813e3e7f am b5cba608: Merge "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions"
* commit 'b5cba6081bc9179d3ea2aa1bfd77dd8de1c88525':
  cdefs.h: add artificial attribute to FORTIFY_SOURCE functions
2014-10-06 23:28:47 +00:00
Nick Kralevich
db408bf421 further cleanup memcpy fortify implementation
Bug: 17784968

(cherry picked from commit b84f667e9312611536a564700daea11c12b6fcfa)

Change-Id: I68fc2cc0a1ee7f0887edf3681eb83ef678de1383
2014-10-06 16:18:32 -07:00
Christopher Ferris
d11eac3455 Force export symbols on all x86 variants in libc.
For silvermont, the __popcountsi2 symbol does not get exported by libc.
But for atom, this symbol is exported. Since we already exported this symbol
for previous releases, it's better to just follow through and force
the export, but only for 32 bit. x86 64 bit will not export this symbol.

Bug: 17681440
Change-Id: I6c62245f0960910f64baaaf6d9d090bf3ea5f435
2014-10-06 15:51:26 -07:00
Nick Kralevich
1aaa17802c cdefs.h: add artificial attribute to FORTIFY_SOURCE functions
Otherwise the gcc compiler warning doesn't show up.

Add -Wno-error to fortify related tests. Fortify related tests
are expected to be examples of bad programs, and in many
cases shouldn't compile cleanly. Rewriting them to compile
cleanly isn't feasible nor desirable.

Bug: 17784968
Change-Id: I93bececa7444d965f18c7c27d46e7abce5c49a02
2014-10-06 15:11:52 -07:00
Dmitriy Ivanov
bfbe68fc24 am 6d569b92: Merge "Add file_offset parameter to android_extinfo"
* commit '6d569b92012543a297dccf2dfeaa648d07b3c133':
  Add file_offset parameter to android_extinfo
2014-10-06 17:29:06 +00:00
Dmitriy Ivanov
6d569b9201 Merge "Add file_offset parameter to android_extinfo" 2014-10-06 17:19:39 +00:00
Nick Kralevich
7ad2147a08 string.h: remove unused variable
(cherry picked from commit 48be71d02b6cc4e6493d38cdd6b7779032c38901)

Bug: 17784968
Change-Id: Iac7732fb4f7fe42977cb9f62472bb636e17e5232
2014-10-06 10:17:01 -07:00
Dmitriy Ivanov
07e5bc152d Add file_offset parameter to android_extinfo
Bug: 17762003
Change-Id: I8fb267a3155acef3dba534038cf5d1ef00d7154b
2014-10-06 10:02:34 -07:00
Nick Kralevich
e88b00c51d am a6eef3be: Merge "Revert "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions""
* commit 'a6eef3be105fb34161fd1b1d513f7d03b5f1bbe9':
  Revert "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions"
2014-10-06 00:44:49 +00:00
Nick Kralevich
a6eef3be10 Merge "Revert "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions"" 2014-10-06 00:40:07 +00:00
Nick Kralevich
884a3de60f Revert "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions"
Broke the build.

In file included from frameworks/rs/cpu_ref/rsCpuCore.cpp:36:
system/core/include/cutils/properties.h:118:1: error: unknown attribute '__artificial__' ignored [-Werror,-Wunknown-attributes]
__BIONIC_FORTIFY_INLINE
^
bionic/libc/include/sys/cdefs.h:537:110: note: expanded from macro '__BIONIC_FORTIFY_INLINE'
#define __BIONIC_FORTIFY_INLINE extern __inline__ __always_inline __attribute__((gnu_inline)) __attribute__((__artificial__))
                                                                                                             ^
1 error generated.
make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/libRSCpuRef_intermediates/rsCpuCore.o] Error 1
This reverts commit 9b543ffeac216189cc8125f7624da9a8cbcbe2e4.

Change-Id: I6a1198747505dcb402b722887c1bfbc3a628a8b8
2014-10-06 00:39:47 +00:00
Nick Kralevich
5ba8094f8b am 558ec810: Merge "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions"
* commit '558ec8103bad6eed78c3e372fc9b2535a3486745':
  cdefs.h: add artificial attribute to FORTIFY_SOURCE functions
2014-10-06 00:17:23 +00:00
Nick Kralevich
558ec8103b Merge "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions" 2014-10-06 00:10:48 +00:00
Nick Kralevich
32cfbb7605 am db6fea86: Merge "further cleanup memcpy fortify implementation"
* commit 'db6fea86a5cb70c5aaad61ef6c126557f36e138b':
  further cleanup memcpy fortify implementation
2014-10-05 16:54:37 +00:00
Nick Kralevich
b84f667e93 further cleanup memcpy fortify implementation
Change-Id: I0380f3c8ca8f9bb8a206accd839c32c9daf13c56
2014-10-05 06:52:24 -07:00
Nick Kralevich
9b543ffeac cdefs.h: add artificial attribute to FORTIFY_SOURCE functions
Otherwise the gcc compiler warning doesn't show up.

Delete some unittests. These unittests no longer compile cleanly
using -Wall -Werror, and rewriting them to compile cleanly
isn't feasible.

Bug: 17784968
Change-Id: I9bbdc7b6a1c2ac75754f5d0f90782e0dfae66721
2014-10-04 22:01:41 -07:00
Nick Kralevich
b93a965bce am ae97a776: Merge "string.h: remove unused variable"
* commit 'ae97a776ea900e5923d6d320d72dcc04b224796e':
  string.h: remove unused variable
2014-10-04 22:47:07 +00:00
Nick Kralevich
48be71d02b string.h: remove unused variable
Change-Id: I08b7dab1b374ad427fcbee4183f2c7d93d0199a9
2014-10-04 15:20:00 -07:00
Alex Van Brunt
02542b3bbd am a5087148: Reimplement clock(3) using clock_gettime(3)
* commit 'a508714800242b294291060641ed35d719bdc857':
  Reimplement clock(3) using clock_gettime(3)
2014-10-04 16:44:11 +00:00
Elliott Hughes
5f86872e67 am 4ef0e59f: Merge "Reimplement clock(3) using clock_gettime(3)"
* commit '4ef0e59f339ad138eabe3bc408beda6004f5ea83':
  Reimplement clock(3) using clock_gettime(3)
2014-10-04 02:17:19 +00:00
Alex Van Brunt
a508714800 Reimplement clock(3) using clock_gettime(3)
Unlike times(), clock_gettime() is implemented as a vDSO on many architectures.
So, using clock_gettime() will return a more accurate time and do so with less
overhead because it does have the overhead of calling into the kernel.

It is also significantly more accurate because it measures the actual time in
nanoseconds rather than the number of ticks (typically 1 millisecond or more).

Bug: 17814435

(cherry picked from commit 8d0b2dbf2154d5da17ff09b1d4f864d281362ad2)

Change-Id: Id4945d9f387330518f78669809639952e9227ed9
2014-10-03 19:05:52 -07:00
Alex Van Brunt
8d0b2dbf21 Reimplement clock(3) using clock_gettime(3)
Unlike times(), clock_gettime() is implemented as a vDSO on many architectures.
So, using clock_gettime() will return a more accurate time and do so with less
overhead because it does have the overhead of calling into the kernel.

It is also significantly more accurate because it measures the actual time in
nanoseconds rather than the number of ticks (typically 1 millisecond or more).

Bug: 17814435
Change-Id: Id4945d9f387330518f78669809639952e9227ed9
2014-10-03 18:54:28 -07:00
Elliott Hughes
22f5a61d95 am ea9800e9: Explain why clock(3) isn\'t broken.
* commit 'ea9800e98598c71fe76c4e2a0d0498b6bd490a83':
  Explain why clock(3) isn't broken.
2014-10-04 00:06:27 +00:00