Commit graph

174 commits

Author SHA1 Message Date
Igor Murashkin
63fbdb6440 libutils: Don't segfault ProcessCallStack when getting thread name fails
There's an inherent race in trying to read out the thread name from
the system and the thread closing out on its own (and thus being removed
from procfs).

Try to handle this by formatting the thread name unconditionally with
the tid when getting the thread name fails (instead of dereferencing
NULL and crashing).

Bug: 15406837
Change-Id: Ibf2208b8ce345589e7e9c57e6a307728d1121c5d
2014-08-19 11:48:52 -07:00
Elliott Hughes
10cce72c4b am 3859029a: am 7fb0ee0c: Merge "Remove androidGetTid."
* commit '3859029a48aa78150fa61eb4988214f8632b33ce':
  Remove androidGetTid.
2014-08-18 19:34:23 +00:00
Elliott Hughes
b7659613b2 Remove androidGetTid.
Bug: 17048545
Change-Id: I93cbb2d7bd18d506b5f5f7f262dd9ac0fca053b4
2014-08-18 10:47:37 -07:00
Dmitriy Ivanov
614b923241 am 52b59127: am e7ec28bb: Merge "Exclude bionic private headers from include path"
* commit '52b59127d847bef1fd16efe2df578b3079b37918':
  Exclude bionic private headers from include path
2014-07-31 17:44:36 +00:00
Dmitriy Ivanov
4ffed01fb7 Exclude bionic private headers from include path
(cherry picked from commit 9516139c03)

Change-Id: I2883e2a13a523e6938c8a3aed93e66af948cdcd8
2014-07-31 11:16:01 -07:00
Antoine Labour
71db714437 am 4bb951a8: Merge "BlobCache: fix uninitialized memory" into lmp-dev
* commit '4bb951a85a4888540caba4f14f18e99917d4c994':
  BlobCache: fix uninitialized memory
2014-07-30 16:40:33 +00:00
Dmitriy Ivanov
9516139c03 Exclude bionic private headers from include path
Change-Id: I8b1269a739a690af91c63fa0f7f8f01d2d43bb97
2014-07-31 10:21:00 -07:00
Antoine Labour
5f6ebc2f9c BlobCache: fix uninitialized memory
When flattening the BlobCache, we insert padding for alignment. Make
sure to zero the padding bytes to have reproducible results.

Bug: 16569863
Change-Id: Id39eac5e6a1687459eb6bc2074b1339393fce711
2014-07-28 15:50:33 -07:00
Tim Murray
f505dae2d5 am f2879ef6: am 6698ebf9: Merge "Fix Darwin build caused by -Wunused-parameter."
* commit 'f2879ef61453c845e2f675011e0cbc41d1396040':
  Fix Darwin build caused by -Wunused-parameter.
2014-07-25 02:24:28 +00:00
Tim Murray
b37009fa77 Fix Darwin build caused by -Wunused-parameter.
bug 16172793

Change-Id: I1d0514c00085cb5d18ebdd064e96885d6eaa1e59
2014-07-24 17:22:09 -07:00
Stephen Hines
eb49dd791e Remove invalid 64-bit host objects.
Bug: 16408818

These targets are no longer in use, since we have a proper way to create both
32-bit and 64-bit host libraries in a single build now.

Cherry-pick from AOSP: 03cc1f747c

Change-Id: Icd09f795acd220de5b5e956a8d8e1b4ab4864fa9
2014-07-25 10:39:38 -07:00
Stephen Hines
da6d2cb925 am 31dc191b: am 73290cd1: Merge "Remove invalid 64-bit host objects."
* commit '31dc191b2b39d4cbd68feba29c7692c91de57a53':
  Remove invalid 64-bit host objects.
2014-07-22 20:53:45 +00:00
Stephen Hines
03cc1f747c Remove invalid 64-bit host objects.
Bug: 16408818

These targets are no longer in use, since we have a proper way to create both
32-bit and 64-bit host libraries in a single build now.

Change-Id: Icd09f795acd220de5b5e956a8d8e1b4ab4864fa9
2014-07-22 13:36:16 -07:00
Cylen Yao
3b13803850 am 72299bf0: [Bug]NE when playing mp3 with incorrect UTF16 char
* commit '72299bf0d240072174f847d13f1c9498b3ef9fa6':
  [Bug]NE when playing mp3 with incorrect UTF16 char
2014-06-11 12:41:36 +00:00
Cylen Yao
72299bf0d2 [Bug]NE when playing mp3 with incorrect UTF16 char
Bug: 15274351
Bug: 15539240

Many MP3 files have incorrect utf16 chars, but the
Utf16_to_utf8_length() routine checks for errors in
standard utf16 char.  utf16_to_utf8() was not checking
for errors in standard utf16 char.

Change-Id: Iafd922ff92cabe6bba8971215fcfd1fd471c894b
(cherry picked from commit 605b139cdf56364c6c9b37e59dd12efc61c24631)
2014-06-10 19:14:59 +00:00
Jeff Brown
c24b98c7d8 Add a couple of useful string functions. (DO NOT MERGE)
Change-Id: I158f69917bab5f15482dd8f2b66b36a4cc0f11ad
(cherry picked from commit 5ee915afe1)
2014-06-09 21:30:16 +00:00
Jeff Brown
5ee915afe1 Add a couple of useful string functions.
Change-Id: I158f69917bab5f15482dd8f2b66b36a4cc0f11ad
2014-06-09 14:02:52 -07:00
Ian Rogers
1165cf4f44 am 928821bd: am 72d77449: am 4ca26ce8: Merge "Host multilib build of both 32-bit and 64-bit libraries."
* commit '928821bd123aa38094289b9c62debb4d92b84069':
  Host multilib build of both 32-bit and 64-bit libraries.
2014-06-05 23:00:09 +00:00
Ian Rogers
928821bd12 am 72d77449: am 4ca26ce8: Merge "Host multilib build of both 32-bit and 64-bit libraries."
* commit '72d77449d99833140f7dd838db6556484031da29':
  Host multilib build of both 32-bit and 64-bit libraries.
2014-06-05 22:56:00 +00:00
Ian Rogers
59ec765382 Host multilib build of both 32-bit and 64-bit libraries.
Change-Id: I54f91f385b109fc664a1a1f9320affb2a846fef1
2014-06-05 15:26:22 -07:00
Mark Salyzyn
c9573e147e am b2a9129e: am bf0ed824: am 60ca7a22: Merge "libutils: turn on -Werror"
* commit 'b2a9129e8f0666884dee660515c51d4dd5c17c7a':
  libutils: turn on -Werror
2014-06-04 18:29:49 +00:00
Mark Salyzyn
b2a9129e8f am bf0ed824: am 60ca7a22: Merge "libutils: turn on -Werror"
* commit 'bf0ed82485e0166dd5f5c9415026c2dc3fd2ae4b':
  libutils: turn on -Werror
2014-06-04 18:26:41 +00:00
Mark Salyzyn
5bed803664 libutils: turn on -Werror
- Deal with some -Wunused issues
- Override PRI macros (windows)
- Revert use of PRI macros on off64_t (linux)
- Deal with a gnu++11 complaince issue

Change-Id: Ie66751293bd84477a5a6dfd8a57e700a16e36964
2014-06-02 15:57:50 -07:00
Dan Albert
70b53c4057 am 4b126c46: am e8f90ca6: am 570cd46d: Merge "Revert "Move libutils to libc++""
* commit '4b126c4604965ea029d9c741d074ad7f820b5269':
  Revert "Move libutils to libc++"
2014-05-30 20:24:07 +00:00
Dan Albert
4b126c4604 am e8f90ca6: am 570cd46d: Merge "Revert "Move libutils to libc++""
* commit 'e8f90ca60d65f5a0542b77f8f517c4fb80da2e52':
  Revert "Move libutils to libc++"
2014-05-30 20:21:03 +00:00
Dan Albert
570cd46d14 Merge "Revert "Move libutils to libc++"" 2014-05-30 20:13:48 +00:00
Dan Albert
7bc49a16e8 Revert "Move libutils to libc++"
Causes issues in the unbundled branches.

This reverts commit dc133729b0.

Change-Id: I9185ce9ea9e0ea631f0bfe016edf38c6830b288a
2014-05-30 19:40:58 +00:00
Dan Albert
6f8030c565 am 58f4a09b: am 36f536fc: am 9f69e028: Merge "Move libutils to libc++"
* commit '58f4a09bb4375c2f7b85ec14449a0588e85e126a':
  Move libutils to libc++
2014-05-30 19:01:45 +00:00
Dan Albert
58f4a09bb4 am 36f536fc: am 9f69e028: Merge "Move libutils to libc++"
* commit '36f536fc7b88fe21a974bce6fed565bc622b5bc2':
  Move libutils to libc++
2014-05-30 18:43:01 +00:00
Dan Albert
9f69e028f7 Merge "Move libutils to libc++" 2014-05-30 18:32:08 +00:00
Mark Salyzyn
3051ddd13a am 4547273b: am 265262a8: am 5f815da3: Merge "String16.cpp rm unused utils/Debug.h"
* commit '4547273b427422d69260a21dd19b1480aff7b890':
  String16.cpp rm unused utils/Debug.h
2014-05-29 23:56:57 +00:00
Mark Salyzyn
4547273b42 am 265262a8: am 5f815da3: Merge "String16.cpp rm unused utils/Debug.h"
* commit '265262a8b243faa16c268ac40801a226359437a6':
  String16.cpp rm unused utils/Debug.h
2014-05-29 23:54:30 +00:00
Mark Salyzyn
6443033f6d String16.cpp rm unused utils/Debug.h
Change-Id: Ie7e3695770f20be33738a0f0a868cc914248d91a
2014-05-29 13:14:35 -07:00
Dan Albert
dc133729b0 Move libutils to libc++
Bug: 15193147
Change-Id: Ib4b1835e77279db905e098abc7c9bf8d27d66b57
2014-05-29 10:19:39 -07:00
Calin Juravle
7000e66643 am 29415ce2: am 72f51179: am cd3897d0: Merge "Move libutils from fdprintf to POSIX dprintf."
* commit '29415ce2fbb3a96e513abd00589da169d3399aee':
  Move libutils from fdprintf to POSIX dprintf.
2014-05-22 16:49:10 +00:00
Calin Juravle
29415ce2fb am 72f51179: am cd3897d0: Merge "Move libutils from fdprintf to POSIX dprintf."
* commit '72f51179849c338747fd83d638c90b6be42a43cf':
  Move libutils from fdprintf to POSIX dprintf.
2014-05-22 13:44:19 +00:00
Elliott Hughes
dcc98da018 Move libutils from fdprintf to POSIX dprintf.
Bug: 11156955
Change-Id: I70a75c07744d9897d76b180e4940b8717297c53f
2014-05-22 01:23:29 -07:00
Ying Wang
da6a0aa0df am b18da571: am 1e6cd741: am 803fb62b: Merge "Remove unused LOCAL_LDLIBS."
* commit 'b18da571f90eebedd99fe5607a6b0d7ae4e91893':
  Remove unused LOCAL_LDLIBS.
2014-05-08 18:23:57 +00:00
Ying Wang
b18da571f9 am 1e6cd741: am 803fb62b: Merge "Remove unused LOCAL_LDLIBS."
* commit '1e6cd741fd130e5916337eb75c9ceef2152035d2':
  Remove unused LOCAL_LDLIBS.
2014-05-07 23:01:12 +00:00
Ying Wang
9f437d7181 Remove unused LOCAL_LDLIBS.
Change-Id: I42aeb7668183e7a06207ee063f6eee4d37d66c6e
2014-05-07 15:36:05 -07:00
Mark Salyzyn
b16d1be557 am 2898a4ad: am 7fb0ff53: am 25f07f77: Merge changes I487ebe67,Ie7a0aeb2
* commit '2898a4ad5ede1fa3d42b4b2bd54a4b91b61bcc2b':
  libutils: FileMap styling adjustments
  libutils: FileMap 64 bit compile issues
2014-04-17 23:33:49 +00:00
Mark Salyzyn
2898a4ad5e am 7fb0ff53: am 25f07f77: Merge changes I487ebe67,Ie7a0aeb2
* commit '7fb0ff53e87115d98af7272368348bbc270516ae':
  libutils: FileMap styling adjustments
  libutils: FileMap 64 bit compile issues
2014-04-17 23:22:28 +00:00
Mark Salyzyn
cf100c9b85 am 270abd69: am ca242b49: am 280b7d40: Merge "libutils: BlobCache 64 bit compile issues"
* commit '270abd69448a1cae78649127aa43750b4067192f':
  libutils: BlobCache 64 bit compile issues
2014-04-17 19:36:37 +00:00
Mark Salyzyn
270abd6944 am ca242b49: am 280b7d40: Merge "libutils: BlobCache 64 bit compile issues"
* commit 'ca242b497daa152f517f2b74037d5e2765f3ad2d':
  libutils: BlobCache 64 bit compile issues
2014-04-17 17:07:44 +00:00
Mark Salyzyn
b618576ff1 libutils: FileMap styling adjustments
Change-Id: I487ebe67a46a7b8f680e722141dd216bbd396f3e
2014-04-17 10:02:15 -07:00
Mark Salyzyn
15085a6a2c libutils: FileMap 64 bit compile issues
Change-Id: Ie7a0aeb2a7e2d2a90aa2b97c657ea7ec566bf793
2014-04-17 09:43:36 -07:00
Mark Salyzyn
387c561300 libutils: BlobCache 64 bit compile issues
Change-Id: I60e9bddfff04f19834b83bdc26a83ca7173363c3
2014-04-17 08:32:11 -07:00
Narayan Kamath
c9cc643f8b am 48030e68: am e7ddcad8: am 0f4575db: Merge "HAVE_POSIX_CLOCKS doesn\'t imply CLOCK_BOOTTIME."
* commit '48030e68e5d2d763ab9c1ca88036837e1e4f3c08':
  HAVE_POSIX_CLOCKS doesn't imply CLOCK_BOOTTIME.
2014-04-15 20:52:51 +00:00
Narayan Kamath
48030e68e5 am e7ddcad8: am 0f4575db: Merge "HAVE_POSIX_CLOCKS doesn\'t imply CLOCK_BOOTTIME."
* commit 'e7ddcad89f2950d58b4022b55f2cf693daac2e19':
  HAVE_POSIX_CLOCKS doesn't imply CLOCK_BOOTTIME.
2014-04-15 11:02:59 +00:00
Narayan Kamath
0f4575dbbd Merge "HAVE_POSIX_CLOCKS doesn't imply CLOCK_BOOTTIME." 2014-04-15 10:56:26 +00:00
Sasha Levitskiy
e2acb82a94 am 43cb7ae6: am 4f362e43: am 835526fd: Merge "Cleanup: warning fixit."
* commit '43cb7ae6c31ced8cd518eab59dfea31ab1ade812':
  Cleanup: warning fixit.
2014-04-12 00:02:33 +00:00
Sasha Levitskiy
43cb7ae6c3 am 4f362e43: am 835526fd: Merge "Cleanup: warning fixit."
* commit '4f362e438c6ee5688c4f2f444203ed7acffa566b':
  Cleanup: warning fixit.
2014-04-12 00:00:02 +00:00
Sasha Levitskiy
cdc1cfb3e5 Cleanup: warning fixit.
bootable/recovery has a dependent commit: I9adb470b04e4301989d128c9c3097b21b4dea431

Change-Id: Icf23e659265d71d5226d527c2b40cfbc132320ee
Signed-off-by: Sasha Levitskiy <sanek@google.com>
2014-04-11 16:15:46 -07:00
Narayan Kamath
ea659643ee HAVE_POSIX_CLOCKS doesn't imply CLOCK_BOOTTIME.
HAVE_POSIX_CLOCKS imples clock_gettime,settime and
CLOCK_REALTIME / CLOCK_MONOTONIC.

CLOCK_BOOTTIME appears only on newer versions of glibc
and might only be supported on newer kernels.

Change-Id: I66e724a3593538c3b80de2c5f81a964d3fa96eaf
2014-04-10 20:19:20 +01:00
Wonsik Kim
94404eef65 Merge "Clarify ownership for NativeHandle::mHandle" 2014-04-02 06:13:59 +00:00
Igor Murashkin
f15b45a7db am cb6daaaf: am 9d379a1e: am dfdbb64f: Merge "Fix stack trace logging in RefBase."
* commit 'cb6daaafa45c81c3c304eac947d2e2fca15f3171':
  Fix stack trace logging in RefBase.
2014-04-02 00:03:31 +00:00
Igor Murashkin
cb6daaafa4 am 9d379a1e: am dfdbb64f: Merge "Fix stack trace logging in RefBase."
* commit '9d379a1e02f25cbc06db55952d981b0dbba75b5c':
  Fix stack trace logging in RefBase.
2014-04-01 23:00:08 +00:00
Ian McKellar
55e0f1c8bd Fix stack trace logging in RefBase.
This was broken about 5 months ago in change I78435ed49aa196a0efb45bf9b2d58b62c41737d3.
See: https://goto.google.com/jhtss

Change-Id: Icc32993552efed3015bc1b79a7bd872d7510e020
2014-04-01 15:02:57 -07:00
Michael Wright
a45ff0f586 am df33e8b5: Add BitSet64. DO NOT MERGE
* commit 'df33e8b544c457e4b08e8fa0b8a3eaf5eaf8fc2e':
  Add BitSet64. DO NOT MERGE
2014-03-26 19:29:05 +00:00
Michael Wright
df33e8b544 Add BitSet64. DO NOT MERGE
Change-Id: Idf3e21dfaa9f90f4dcb1b4d41eed3891dda99561
2014-03-24 16:51:01 -07:00
Wonsik Kim
c4cc584bbd Clarify ownership for NativeHandle::mHandle
Change-Id: I0835278df1aa78f10d5493d7ef2c9e4a15c0fee9
2014-03-24 11:40:36 +09:00
Michael Wright
2ec064597c Add static methods to BitSet.
Also, moar testing.

Change-Id: I512b337a1a85a0794445fc6249af7ca39ba7c381
2014-03-19 11:23:01 -07:00
Michael Wright
bab6ea0bb7 Add BitSet64
Change-Id: Ia0039aae00316f42a8306a9fb8ad37269180b58c
2014-03-18 17:28:22 -07:00
Jesse Hall
29cc9ce49a Add NativeHandle, a refcounted C++ wrapper around a native_handle_t*
Change-Id: I232dfa2ad2e4a463a39e2e901e4097dffe278cc3
2014-03-05 16:12:41 -08:00
Fengwei Yin
fff9d11be5 Fix undefined args access for x86_64.
From libc manual for vsnprintf:
   The  functions  vprintf(),  vfprintf(), vsprintf(), vsnprintf()
   are equivalent to the functions printf(), fprintf(), sprintf(), snprintf(),
   respectively, except that they are called with a va_list instead of a
   variable number of arguments.  These  functions  do  not  call  the  va_end  macro.
   Because they invoke the va_arg macro, the value of ap is undefined after the call.

We need to allocate/end new va_list for each vsnprintf.

Change-Id: I66ec058033be1cb918e7b2bc84ca546800da226b
Signed-off-by: Fengwei Yin <fengwei.yin@intel.com>
2014-02-27 01:17:09 +08:00
Christopher Ferris
038ac694b3 Move CallStack to libbacktrace.
Fix a small bug in the Printer for strings that didn't properly
prepend the prefix.

(cherry picked from commit 9b0e074c6d)

Change-Id: I78bfa3f76864c34f33fb439bf20dfc85616f1077
2014-01-09 15:09:13 -08:00
Brian Carlstrom
1693d7e48f Make libutils Looper independent of frameworks/native
Change-Id: I1dacca10a3cd7601abc3451b69ed761bf71c38fe
2013-12-18 22:32:13 -08:00
Greg Hackmann
64289760a2 SystemClock: use clock_gettime() on devices without /dev/alarm
On devices with an up-to-date kernel, the back-in-time bug affecting
clock_gettime() has been fixed and it can safely be used as an
alternative to the ANDROID_ALARM_GET_TIME ioctl.  To ensure consistent
behavior on existing devices, make clock_gettime() a fallback for when
the alarm driver isn't available.

Change-Id: I384af5e7ec9e73e0bad4b6b0f987a8ea4583cba6
Signed-off-by: Greg Hackmann <ghackmann@google.com>
2013-12-17 14:45:39 -08:00
Shuo Gao
eb0eb4f79f fix corruption in Vector<> when malloc falied
1. When alloc or realloc failed in the function SharedBuffer::editResize,
it would return a NULL pointer, then mStorage would update to be 1 by
SharedBuffer::data() if no pointer check here, which is an obviously
wrong address, and would cause corruption when used it e.g. in capacity().

So add the pointer check here for the return value of SharedBuffer::editResize,
if it's NULL do not use it to update mStorage, to avoid the value of mStorage
polluted.

2. when alloc or realloc falied in _grow & _shrink function, mStorage keep
the original value, so mCount should not be updated here.

Otherwise, mStorage might be 0 but mCount>0, so a corruption would happend
when it try to delete items from the Vector since mCount>0.

Change-Id: I7c3814e843c459834ca5eed392e8d63d1cb7d2d8
Signed-off-by: Shuo Gao <shuo.gao@intel.com>
Signed-off-by: Jian Luo <jian.luo@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Author-tracking-BZ: 139626
2013-10-30 23:24:29 -07:00
Igor Murashkin
e65b7ea880 utils: Fix broken sdk build on windows
Bug: 11324229
Change-Id: Ia50e79b5e2430faea77b0c98902e8e018fb9ceff
2013-10-30 18:09:52 -07:00
Igor Murashkin
81f2c3d211 utils: Fix broken build
Bug: 11324229
Change-Id: I7e4f514c5531e4c0c11bb0ba5d67e4dabbcd5792
2013-10-30 16:05:45 -07:00
Igor Murashkin
ec79ef2e7b utils: Add ProcessCallStack to collect stack traces for all threads in a process
- Also add a Printer class (print lines to logcat, fd, or strings)

Bug: 11324229
Change-Id: I78435ed49aa196a0efb45bf9b2d58b62c41737d3
2013-10-25 19:24:56 -07:00
Ben Cheng
5cd118178e Disable timestamp logging.
The kernel problem has been fixed long time ago and the ad-hoc logging
mechanism is not thread safe and can flood the log with spurious
messages.

BUG: 10899829
Change-Id: I63278db51295e744eed3e47dc8d4cfe621c0d8f7
2013-09-23 22:39:15 -07:00
Alex Ray
d98e07fdf9 move libs/utils to libutils
Change-Id: I6cf4268599460791414882f91eeb88a992fbd29d
2013-08-02 14:40:08 -07:00