Commit Graph

570 Commits

Author SHA1 Message Date
Dan Albert 1d3b492bde Revert "Move some tests to libc++."
The build system is still linking both libgcc and libcompiler-rt,
which is causing duplicate symbol errors on some architectures. This
requires a fix in the build system, so reverting for now.

This reverts commit e3cccbfd47.
2014-11-11 21:42:27 -08:00
Dan Albert 498c8135b4 am 7d196df6: Merge "Move some tests to libc++."
* commit '7d196df6f9990b5c93e0661fb0867971da7e6c34':
  Move some tests to libc++.
2014-11-12 02:52:59 +00:00
Dan Albert e3cccbfd47 Move some tests to libc++.
Bug: 15193147
Change-Id: I93244e4a5d0c751056910ec8005a92401d305716
2014-11-11 23:59:02 +00:00
Elliott Hughes aeac9cd1b3 am 85507404: Merge "Remove dead code."
* commit '855074043144e74156972e7a3416808dc6696452':
  Remove dead code.
2014-11-08 20:11:53 +00:00
Elliott Hughes 9a092dd373 Remove dead code.
__APPLE__ => HAVE_FUNOPEN.

Change-Id: I191cccd9b75020ffbb3281283ce1f1b7abc15d22
2014-11-08 11:32:07 -08:00
Michael Lentine 98a51de1cc Merge "Fix native_handle_create to check if malloc fails" into lmp-mr1-dev
automerge: b542285

* commit 'b5422854361be038b812f1c0272c66cdb4618a4b':
  Fix native_handle_create to check if malloc fails
2014-11-04 00:04:42 +00:00
Michael Lentine 2b8852dece Fix native_handle_create to check if malloc fails
Bug: 18076253
Change-Id: I8dbe3af88f52f18f74a3ab857fea53ae7585e2f7
2014-11-03 13:48:15 -08:00
Chih-Hung Hsieh 6ea35520fd am 07f1300c: am 7979f1ce: Merge "Do not inline rarely used trace function bodies."
* commit '07f1300c4c4f7d3c0df540bf8df3443c3f4539cd':
  Do not inline rarely used trace function bodies.
2014-10-15 17:57:07 +00:00
Chih-Hung Hsieh c37387a4cd am 07f1300c: am 7979f1ce: Merge "Do not inline rarely used trace function bodies."
* commit '07f1300c4c4f7d3c0df540bf8df3443c3f4539cd':
  Do not inline rarely used trace function bodies.
2014-10-15 17:57:07 +00:00
Chih-Hung Hsieh 2d3150e736 Do not inline rarely used trace function bodies.
When atrace_* functions are inlined,
the rarely used 1024-byte buffers are allocated on stack.

BUG: 17444504
Change-Id: I773512aeb70e8b79f3803c6d59cba064d2aa65b6
2014-10-14 15:37:20 -07:00
Riley Andrews d1380d645d am 33b33549: Merge "Make the default cgroup, the foreground cgroup." into lmp-mr1-dev
* commit '33b335495c7b8eea4b9af13a7157cf83cd085129':
  Make the default cgroup, the foreground cgroup.
2014-10-08 20:51:48 +00:00
Riley Andrews 522d72b702 Make the default cgroup, the foreground cgroup.
All kernel services will now be in the same cgroup as
foreground applications. This will now make kernel threads
not implicitly higher priority than android foreground
services.

Bug 17681097

Change-Id: I28e81c7aade50428d5395df86f00ce01c1e7af02
2014-10-07 19:24:54 +00:00
Chih-Hung Hsieh ddb3fe8c17 am ad0ff1d9: am 4fceda2b: Merge "Add -no-integrated-as at local level."
* commit 'ad0ff1d99cd00ce53f667b27e53f44e802315a36':
  Add -no-integrated-as at local level.
2014-10-06 22:37:48 +00:00
Chih-Hung Hsieh 2aaccfe590 am ad0ff1d9: am 4fceda2b: Merge "Add -no-integrated-as at local level."
* commit 'ad0ff1d99cd00ce53f667b27e53f44e802315a36':
  Add -no-integrated-as at local level.
2014-10-06 22:37:06 +00:00
Chih-Hung Hsieh 60c57dad4e Add -no-integrated-as at local level.
Later we will enable integrated-as as default at the global level.

BUG: 17820427
Change-Id: I1beed3e75d074d970fa9112ec1c0f0df3d43947a
2014-10-06 13:33:25 -07:00
Hans Boehm f381920b58 am 072877af: am 41198eea: Merge "Revert "Rewrite atomic.h to use stdatomic.h.""
* commit '072877af485d49f11e227c0d22a7bb4a341533d6':
  Revert "Rewrite atomic.h to use stdatomic.h."
2014-10-04 02:17:43 +00:00
Hans Boehm 054627df6b am 072877af: am 41198eea: Merge "Revert "Rewrite atomic.h to use stdatomic.h.""
* commit '072877af485d49f11e227c0d22a7bb4a341533d6':
  Revert "Rewrite atomic.h to use stdatomic.h."
2014-10-04 02:09:19 +00:00
Hans Boehm 2789faabfa Revert "Rewrite atomic.h to use stdatomic.h."
This reverts commit cb344d4640.

Change-Id: Ib17cd8d00695062177ce863cedc4ec7148012317
2014-10-04 00:49:06 +00:00
Hans Boehm 954fc61b6b am f5204549: am 028928fe: Merge "Rewrite atomic.h to use stdatomic.h."
* commit 'f5204549faf7310cc808bcb3676fb36268178e26':
  Rewrite atomic.h to use stdatomic.h.
2014-10-04 00:06:45 +00:00
Hans Boehm 2ac8207e50 am f5204549: am 028928fe: Merge "Rewrite atomic.h to use stdatomic.h."
* commit 'f5204549faf7310cc808bcb3676fb36268178e26':
  Rewrite atomic.h to use stdatomic.h.
2014-10-04 00:06:30 +00:00
Hans Boehm cb344d4640 Rewrite atomic.h to use stdatomic.h.
Replace atomic-inl.h with a file that just includes atomic.h.
Remove platform specific implementations.

Change-Id: If16d74fbe0af7836ed8c1296c17e13a2d0d20f64
2014-10-01 17:37:20 -07:00
Dan Albert c4affb2b4e am be0d295d: am 19d686ee: Merge "Don\'t manually link stlport."
* commit 'be0d295da912076239a1e112c4b7b94be10cf7af':
  Don't manually link stlport.
2014-09-26 19:53:04 +00:00
Dan Albert 31171b6e31 am be0d295d: am 19d686ee: Merge "Don\'t manually link stlport."
* commit 'be0d295da912076239a1e112c4b7b94be10cf7af':
  Don't manually link stlport.
2014-09-26 19:53:04 +00:00
Dan Albert b50af2bc60 Don't manually link stlport.
Change-Id: I60d2bc868fb9052f120103e9675046ef54f510d0
2014-09-26 10:37:30 -07:00
Elliott Hughes f9cdbb1a30 am 6c03b85f: am 32e2f1be: Merge "Clean up memset[16,32] routines: unify files names, remove redundant wrapper for 32-bit, remove Atom caches sizes for 64-bit, fix license."
* commit '6c03b85f1dcfd0efd2ec741cbfb6c5ecc404fbd8':
  Clean up memset[16,32] routines: unify files names, remove redundant wrapper for 32-bit, remove Atom caches sizes for 64-bit, fix license.
2014-09-18 03:23:47 +00:00
Elliott Hughes bdac720255 am 6c03b85f: am 32e2f1be: Merge "Clean up memset[16,32] routines: unify files names, remove redundant wrapper for 32-bit, remove Atom caches sizes for 64-bit, fix license."
* commit '6c03b85f1dcfd0efd2ec741cbfb6c5ecc404fbd8':
  Clean up memset[16,32] routines: unify files names, remove redundant wrapper for 32-bit, remove Atom caches sizes for 64-bit, fix license.
2014-09-18 03:23:08 +00:00
Varvara Rainchik 458d1253f5 Clean up memset[16,32] routines: unify files names, remove redundant wrapper
for 32-bit, remove Atom caches sizes for 64-bit, fix license.

Change-Id: Ieda6367d7b21cf25b2beda6dd8d77cf668d3f2af
Signed-off-by: Varvara Rainchik <varvara.rainchik@intel.com>
2014-09-17 18:11:18 +04:00
Christopher Ferris 6bcc4acc6f Use the correct debuggerd given the tid.
On 64 bit systems, calling dump_backtrace_to_file will automatically
call debuggerd64. If the process to dump is actually 32 bit, this
creates an unrecognizable dump backtrace. Modify the code to check the
type of the process and connect to the appropriate debuggerd process.

This change refactors both the tombstone and backtrace functionality to
allow both to work properly on 64 bit systems when dealing with mixed
processes.

Bug: 17487122

(cherry picked from commit a9fa7b87f1)

Change-Id: I3c9e0212c8720877a6af092071a3695df2a36df8
2014-09-13 16:22:17 -07:00
Christopher Ferris 07bb3f1e0b am 07dda6b5: Merge "Use the correct debuggerd given the tid." into lmp-dev
* commit '07dda6b57c6a476177b68ad42966f24cbbdb04c1':
  Use the correct debuggerd given the tid.
2014-09-13 22:54:00 +00:00
Christopher Ferris a9fa7b87f1 Use the correct debuggerd given the tid.
On 64 bit systems, calling dump_backtrace_to_file will automatically
call debuggerd64. If the process to dump is actually 32 bit, this
creates an unrecognizable dump backtrace. Modify the code to check the
type of the process and connect to the appropriate debuggerd process.

This change refactors both the tombstone and backtrace functionality to
allow both to work properly on 64 bit systems when dealing with mixed
processes.

Bug: 17487122
Change-Id: Icf123a6f4508b1aeec073663aa1a0ceae5380aa1
2014-09-12 20:12:11 -07:00
Dan Albert fb1b6daca8 am 522c1d34: am e18ed89e: Merge "Remove makefile cruft."
* commit '522c1d340b6c1742d3e47aad27b974e43fad4bc2':
  Remove makefile cruft.
2014-09-12 20:08:49 +00:00
Dan Albert fbb8db2e2a Remove makefile cruft.
Don't manually include stlport, and don't use private bionic headers.

Change-Id: I0fc4e8b34ab449e9ef07c26f71e472fca5640590
2014-09-12 10:36:26 -07:00
Dan Albert dccbb07dfb am a66532e7: am 91baad56: Merge "Fix some clang compilation issues."
* commit 'a66532e73a9c8205002482477f1bf53366d15f38':
  Fix some clang compilation issues.
2014-09-11 17:48:39 +00:00
Dan Albert 949aa23898 Fix some clang compilation issues.
Use expected inline behavior with clang.

GCC defaults to -std=gnu90, giving C89 inline semantics with GNU
extensions. Clang defaults to C99. Explicitly use gnu90.

Mark an unused parameter as __unused.

Fix some incorrect casts.

Change-Id: I05b95585d5e3688eda71769b63b6b8a9237bcaf4
2014-09-11 17:17:32 +00:00
Elliott Hughes 176fe9005d am 4592d73e: am a59b6ac6: Merge "Only the Mac doesn\'t have open_memstream."
* commit '4592d73e18684b8ba2addb97433eed4cf389e386':
  Only the Mac doesn't have open_memstream.
2014-08-21 03:16:26 +00:00
Elliott Hughes 3ff8888f66 Only the Mac doesn't have open_memstream.
We should probably move this into art, since they're the only people using it.

Bug: 17164505
Change-Id: I67b8f0cbad4c6368d4424e6979d6b044dd36aa37
2014-08-20 16:16:24 -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
Elliott Hughes a613844e13 am e07a6e63: am 6d9a5ac3: Merge "[MIPSR6] Skip pixelflinger, memset assembler code on mips32r6"
* commit 'e07a6e6337a959c45ab71acf6ff1fad8a8ac5dfd':
  [MIPSR6] Skip pixelflinger, memset assembler code on mips32r6
2014-08-05 21:43:16 +00:00
Duane Sand 734f50c2fe [MIPSR6] Skip pixelflinger, memset assembler code on mips32r6
Temporarily use generic C-coded libpixelflinger & memset on mips32r6.

Change-Id: I629b11ba955eaba323cba1df96c39f75f4d24d62
2014-07-31 16:21:16 -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
Elliott Hughes 400c381835 Move sched_policy.c off bionic's PR_SET_TIMERSLACK_PID.
Change-Id: I3a27803d46b5b88a10aa8043a114d780ed685e56
2014-07-17 17:15:14 -07:00
Elliott Hughes e07d77e422 Use <sys/prctl.h> instead of <linux/prctl.h>.
Change-Id: I708da00e36a9da8be9184c451453774be6b78c06
2014-07-11 20:58:55 -07:00
Christopher Ferris 1472dd465c am f77cf6c6: am 5450a441: am 676f3755: Merge "Add android_memset16/android_memset32 for aarch64."
* commit 'f77cf6c6986057aceece5d7e09d1c23a9efaf20c':
  Add android_memset16/android_memset32 for aarch64.
2014-06-24 19:38:51 +00:00
Christopher Ferris d660d895c1 Add android_memset16/android_memset32 for aarch64.
Included new unit tests for these functions.

Bug: 15456369

Change-Id: I3fac02f61c62d15d54d0df51957680d7155e98ae
2014-06-23 19:28:33 -07:00
Igor Murashkin 1f7f70a629 libcutils: Fix warnings in properties.c when verbose logging is enabled
Change-Id: I07c5eb59b9395734ad3fc25eba753564c0f096a0
2014-06-20 15:57:09 -07:00
Igor Murashkin d8f2a8d34a cutils: Add property_get_bool, _get_int32, _get_int64
* Read out system properties with same syntax as SystemProperties.java
* Also adds unit test suite to validate correctness of properties
* Also fixes buffer overrun in property_get

(cherry picked from commit d4507e9246)

Change-Id: Ifd42911f93e17da09e6ff1298e8875e02f3b6608
2014-06-20 20:01:49 +00:00
Nick Kralevich 30a86ebc7a fs_mkdirs: use O_NOFOLLOW and O_CLOEXEC
Don't follow symlinks. Suggestion from Jann Horn.

Also, add O_CLOEXEC. This prevents file descriptor leakage should
this code ever run in a multithreaded environment.

I'm not sure if either of these changes actually address any
security concerns, but it's harmless, so go ahead and add it.

Bug: 15675141
Change-Id: I7ba4e9d10439b7150f59759b54e3ad8ccba411e3
2014-06-16 15:40:40 -07:00
Dan Albert 232c711795 am 46ed1c8c: am ed1a0dbd: am b44e626c: Merge "Fix windows sdk build."
* commit '46ed1c8c99fce33c78e239d4155ece84feca069d':
  Fix windows sdk build.
2014-06-13 10:24:51 +00:00
Dan Albert 9ea2ad5796 am 6dfe9495: am 9b2d964d: am 08430b1e: Merge "Use syscall(2) instead of ioprio_get/ioprio_set."
* commit '6dfe949568fa9413db72cdccb26baca2c4592a2a':
  Use syscall(2) instead of ioprio_get/ioprio_set.
2014-06-13 03:04:23 +00:00
Dan Albert 5e541bf47d Fix windows sdk build.
Change-Id: I53c9f43a5f9ae2f40de686316185d162d0e0503a
2014-06-13 04:09:37 +00:00
Dan Albert 167c0ed6da Use syscall(2) instead of ioprio_get/ioprio_set.
Change-Id: Ibfd0bdd3dd0bad9804ec9fd9292f4b68a510afdb
2014-06-12 19:48:10 -07:00
Christopher Ferris 45e2756409 am f6d8dedd: am 8af98621: am 5db5b8aa: Merge "Port libcutils memset16/32 to x86_64."
* commit 'f6d8dedd87eb8bbccbbdeb17a6d226f089449d92':
  Port libcutils memset16/32 to x86_64.
2014-06-06 17:26:01 +00:00
Henrik Smiding 86a1600fb6 Port libcutils memset16/32 to x86_64.
Port libcutils memset16/32 assembly SSE2 optimizations to x86_64
architecture. Ensures the same performance on 64-bit arch.

Change-Id: I874a71a884c0d28a152933ddff9cb886c9a6e99e
Signed-off-by: Henrik Smiding <henrik.smiding@intel.com>
2014-06-05 18:51:44 -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 59ec765382 Host multilib build of both 32-bit and 64-bit libraries.
Change-Id: I54f91f385b109fc664a1a1f9320affb2a846fef1
2014-06-05 15:26:22 -07:00
Elliott Hughes a0c01818a2 am e7110ac0: am b122da64: Merge "Fix libcutils/dlmalloc_stubs.c build breakage."
* commit 'e7110ac09bdc77c4a8f7823aa666c9929a33984c':
  Fix libcutils/dlmalloc_stubs.c build breakage.
2014-06-04 04:09:52 +00:00
Elliott Hughes b122da648d Merge "Fix libcutils/dlmalloc_stubs.c build breakage." 2014-06-04 03:50:33 +00:00
Elliott Hughes 7f0ef73e70 Fix libcutils/dlmalloc_stubs.c build breakage.
Change-Id: I344c410c100ce13c7a88063bf5354ad61c50094b
2014-06-03 20:48:44 -07:00
Mathieu Chartier 39526f7740 am 04511126: am d586e356: Merge "Fix build."
* commit '04511126a6e127705abce84735a3fe4eb48d882c':
  Fix build.
2014-06-04 01:42:00 +00:00
Mathieu Chartier e942d1f9ea Fix build.
Change-Id: I7b0cf6a248c74f1a06e0b5d51a5be13124ced6a0
2014-06-03 18:12:29 -07:00
Mathieu Chartier 53363f4fa0 am 5a8335c3: am ed30b7ea: Merge "Fix build."
* commit '5a8335c3185ec329bf43b1edc733aef38ce76c36':
  Fix build.
2014-06-04 00:11:52 +00:00
Mathieu Chartier 0b9674f241 Fix build.
Change-Id: I6bafe6221e1ce7e4b04269df90996ab08b050e93
2014-06-03 15:32:10 -07:00
Mathieu Chartier 520a893b1a am b85c2494: am 03b87b49: Merge "Make host ashmem_create_region seed only once."
* commit 'b85c2494df1e1003b3101e36b29faace3a51dc3f':
  Make host ashmem_create_region seed only once.
2014-06-03 20:54:51 +00:00
Mathieu Chartier 03b87b49fa Merge "Make host ashmem_create_region seed only once." 2014-06-03 19:02:35 +00:00
Mathieu Chartier 1104ae8cfc Make host ashmem_create_region seed only once.
Not seeding this each call should help reduce collisions when multiple
threads are calling ashmem_create_region. Also cleaned up code by
deleting gotos, and making formatting consistent.

Bug: 15394258
Change-Id: Iafdaea57b2317e0eb7c40d7b5595c523814fd88c
2014-06-03 11:47:58 -07:00
JP Abgrall 9e18975bac am c99dd0c5: am 676f7d50: am fc85a7a8: Merge "libcutils: fix rw FS remount check issue"
* commit 'c99dd0c58d2a7572740599f81b5a20ddb18dbf9e':
  libcutils: fix rw FS remount check issue
2014-06-03 01:12:15 +00:00
Hong-Mei Li 88f7683d9c libcutils: fix rw FS remount check issue
In some condition, some of FS would set disable_roll_forward option.
In this case, when we do power off or reboot, the power down progress
would stuck at android_reboot for 360 sec.
The reason is, remount_ro_done function check key word "rw" to determine
whether all the read-write FS has been remounted as read-only FS.
Unfortunately, it takes disable_roll_forward as a rw flag too by
mistake, so the check would always fail, until reach 360 sec threshold.

The patch would match "rw," from mount options, this can avoid the issue
successfully.

Change-Id: I409f9dc88c9ee5cf049615ea9dcccaf195b6bc5a
Signed-off-by: Hong-Mei Li <a21834@motorola.com>
2014-06-02 22:45:37 -07:00
Elliott Hughes b65208d1a9 am f7a7e3c3: am 6dfb039b: am 4a343436: Merge "Fix win32 undefined reference to `_socket_network_client_timeout\'."
* commit 'f7a7e3c301fdf7d98d8bcabf6fefb0fcf5bbf90d':
  Fix win32 undefined reference to `_socket_network_client_timeout'.
2014-05-20 20:18:01 +00:00
Elliott Hughes 0bff5bd952 Fix win32 undefined reference to `_socket_network_client_timeout'.
Change-Id: I063213957b8452f4690da0f64872075f7c27b4cd
2014-05-20 12:13:29 -07:00
Elliott Hughes 5756d8873b am 87d0f45b: am 2dea56e0: am 9e0a6248: Merge "Fix Windows socket_network_client.c build failures."
* commit '87d0f45b3c30dff02bd92f542e5e9e64816f5315':
  Fix Windows socket_network_client.c build failures.
2014-05-20 00:23:11 +00:00
Elliott Hughes 3edc25271f am b42f1413: am 0e71e3ab: am 9cae50b3: Merge "Bound the ADB connect time with a non-blocking connect"
* commit 'b42f141315ae0929325335645d397db04a500c88':
  Bound the ADB connect time with a non-blocking connect
2014-05-20 00:23:08 +00:00
Elliott Hughes 36739556db Fix Windows socket_network_client.c build failures.
Change-Id: Ie67a2305ade02e078bf0edf54104c295b091b1b7
2014-05-19 16:47:12 -07:00
Ken Lierman aecc6a6657 Bound the ADB connect time with a non-blocking connect
After a disconnect, the initial blocking connect takes
a long time to return, while subsequent calls return
quicks.  Switch to a non-blocking connect to make the
re-connect time more consistent and faster overall.

Change-Id: I21d02b22a8eb9a457c2f1fa95eb17894d5612ccd
Signed-off-by: Ken Lierman <ken.lierman@windriver.com>
Reviewed-by: Gumbel, Matthew K <matthew.k.gumbel@intel.com>
Reviewed-by: Jovanovic, Radivoje <radivoje.jovanovic@intel.com>
Reviewed-by: Boie, Andrew P <andrew.p.boie@intel.com>
2014-05-19 16:16:42 -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 9f437d7181 Remove unused LOCAL_LDLIBS.
Change-Id: I42aeb7668183e7a06207ee063f6eee4d37d66c6e
2014-05-07 15:36:05 -07:00
Elliott Hughes 7cc73694fa am b389440c: am 54c90a14: am 752115dd: Merge "Add Silvermont architecture cache sizes"
* commit 'b389440c8bdc06fc6d3fdaad6acb8f9c124e40a7':
  Add Silvermont architecture cache sizes
2014-05-05 22:07:02 +00:00
Elliott Hughes 752115dda7 Merge "Add Silvermont architecture cache sizes" 2014-05-05 21:59:53 +00:00
Mark Salyzyn e6fff56f2e am 027e4e77: am 74088995: am f2c0f328: Merge "libcutils: win_sdk build issues"
* commit '027e4e77c26652948f43ac07ca8a738c469d39f0':
  libcutils: win_sdk build issues
2014-05-05 19:38:45 +00:00
Mark Salyzyn 02a7c3a7c3 libcutils: win_sdk build issues
Change-Id: Ic431166f686aebfd0ee00ad3224b95237ff7a0de
2014-05-05 10:29:56 -07:00
Mark Salyzyn c413e151de am b3eefcaa: am ce98dc70: am 1e10b661: Merge "libcutils: Mac build pulls in __unused from sys/cdefs.h"
* commit 'b3eefcaa934986f72a3daddf6ad86e276d14d476':
  libcutils: Mac build pulls in __unused from sys/cdefs.h
2014-05-02 22:17:57 +00:00
Mark Salyzyn edc70938be libcutils: Mac build pulls in __unused from sys/cdefs.h
Change-Id: I2da8a52e07cef0b749f7e60709536e98bd96660e
2014-05-02 19:50:20 +00:00
Mark Salyzyn b8f86480a2 am a0a461d3: am 82e1b89f: am a32e01d2: Merge "libcutils: turn on -Werror"
* commit 'a0a461d3b7d85484c10db64f078427a5be3da189':
  libcutils: turn on -Werror
2014-05-02 17:12:27 +00:00
Mark Salyzyn 12717169a5 libcutils: turn on -Werror
- Deal with some -Wunused / -Wunused-variable issues

Change-Id: I28c23fb213382a392ec30935749fb359e072d664
2014-05-01 17:58:17 -07:00
Elliott Hughes 84a445b4f5 am 29941ec8: am f8db4afb: am ab3d49b0: Merge "Use the si_code value bionic passes us."
* commit '29941ec81705bdcad2b43f0059e1288304c523e8':
  Use the si_code value bionic passes us.
2014-04-26 03:33:27 +00:00
Elliott Hughes 855fcc3114 Use the si_code value bionic passes us.
Bionic needs to re-raise various signals, which means the si_code
debuggerd sees has been clobbered. If bionic sends us the original
si_code value, we can use that instead of the one we see when the
ptrace the crashed process' siginfo.

Change-Id: If116a6bc667d55a6fb39b74f96673292af4e4c8c
2014-04-25 20:20:39 -07:00
Ruchi Kandoi f4362ccdd5 Fix build problems caused by commit:
422852ef5c for non-linux hosts.

Change-Id: I00b9c99b9d9d072f19549b3a9970a27e75cd49b7
Signed-off-by: Ruchi Kandoi <kandoiruchi@google.com>
2014-04-24 00:35:46 +00:00
Ruchi Kandoi 422852ef5c Set timer slack value according to thread foreground/background state.
Change-Id: Ia998f349129acf4602b767d1ff94839607fdbdbd
Signed-off-by: Ruchi Kandoi <kandoiruchi@google.com>
2014-04-23 21:56:40 +00:00
Henrik Smiding c27a444e54 Add Silvermont architecture cache sizes
Adds Silvermont specific cache sizes for memset16/32 SSE optimization.

Change-Id: Ib5ea086d57544e74ac384ee1ef516b8511392f70
Signed-off-by: Henrik Smiding <henrik.smiding@intel.com>
2014-04-18 11:31:54 +08:00
Igor Murashkin 8efea957be libcutils: Fix warnings in properties.c when verbose logging is enabled
Change-Id: I07c5eb59b9395734ad3fc25eba753564c0f096a0
2014-04-15 18:06:39 -07:00
Igor Murashkin d4507e9246 cutils: Add property_get_bool, _get_int32, _get_int64
* Read out system properties with same syntax as SystemProperties.java
* Also adds unit test suite to validate correctness of properties
* Also fixes buffer overrun in property_get

Change-Id: Ifd42911f93e17da09e6ff1298e8875e02f3b6608
2014-04-11 17:49:01 -07:00
Elliott Hughes 0693c5848d am 4fe18615: am 56d57e88: am 5f130216: Merge "Handle errno properly to avoid corrupt str_parms"
* commit '4fe186159386a75ce17ca0b7ba6ace4294187cb2':
  Handle errno properly to avoid corrupt str_parms
2014-04-04 01:53:51 +00:00
Jens Gulin d3c8d5b8d4 Handle errno properly to avoid corrupt str_parms
A normal sequence of calls is as follows:
str_parms_create_str, str_parms_add_str, str_parms_destroy.
In some cases the destroy caused double free.

str_parms_add_str will clone the input and send it to hashmapPut
for storage. If hashmapPut did not store the strings it will raise
errno = ENOMEM and leave caller with ownership of the strings.
In any of these cases it will be safe to destroy the str_parms.

But what if it wasn't hashmapPut that said NOMEM? What if there
was a stale NOMEM already before a successful hashmapPut?
In that case the strings will be successfully added to the list
(if new), but when str_parms_add_str sees the NOMEM it will free
them anyway, leaving dangling pointers in the str_parms!!

It is the responsibility of the caller to clear errno before any
interesting call. This patch makes sure that str_parms_add_str
reacts only on errno emmitted from hashmapPut.

Change-Id: If87e4bcc482f09e1c66133d33517b152ebdac65f
2014-04-03 11:19:54 -07:00
Paul McLean 55c6407041 Adding a handy predicate function (str_parms_has_key()
Change-Id: I1af5c260a1a820b65f0850ea9adb38b01fcb183c
2014-03-25 19:08:13 +00:00
Mark Salyzyn 0c3d19ff3d Merge "libcutils: 64-bit compile issues" 2014-03-07 23:33:31 +00:00
Mark Salyzyn 0425b64e0b libcutils: 64-bit compile issues
- Use inttypes.h to print uint64_t values.

Change-Id: Ia10a3b67cadcce282563467a464ec07066cc2051
2014-03-07 15:28:43 -08:00
Alex Ray 157e1b645a libcutils: add method to get klog level
Change-Id: I55e8311bae97703be26e57b415a8ab0a6d9b4361
2014-03-07 13:58:02 -08:00
Paul Kocialkowski a7e2e7634c libcutils: Socket type might contain bitwise OR flags
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
Change-Id: Ia5c8f136793a989fc1d71c61292afe4e5cf169fa
2014-02-26 11:33:45 -08:00
Elliott Hughes acc0a23a20 Merge "Remove dead code." 2014-02-20 20:06:38 +00:00
Elliott Hughes b784f37341 Remove dead code.
We have benchmarking for memset in bionic itself, and a benchmarking
framework for other native benchmarking.

Change-Id: I241a288a96d3b2d37f3d51b04a519ac23f18a989
2014-02-20 11:12:41 -08:00
Stephen Smalley eb3f421e02 Enable building init with -Wall -Werror.
Eliminates various warnings from SELinux-related code.

Bug: 12587913
Change-Id: I28921f0ebd934324436609540d95ccef58552b64
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2014-02-19 09:15:09 -05:00
Mark Salyzyn 3bca606117 libcutils: resolve warning in iosched_policy.c
(cherry picked from commit 407038cd93)

Change-Id: I35b0d1eeba21cc1ed9645a5acfa180ed20797c56
2014-01-27 15:20:23 -08:00
Mark Salyzyn b957baccd2 libcutils: bug str_parms.c:str_parms_get_float().
str_parms_get_float did not return the output into
*val. Only output if returning with no error. Audit
shows no internal users of this library function

(cherry picked from commit 8e71ddeac0)

Change-Id: I14a3f08a098072a159dd93f85ead36b3f445816f
2014-01-27 15:07:58 -08:00
Mark Salyzyn 2b94cc264f libcutils: UNUSED argument warnings
(cherry picked from commit ba02cd1e9b)

Change-Id: Ie427d481298af8d911bb2b157ebba30954335354
2014-01-27 15:07:15 -08:00
Mark Salyzyn a6aad4cdb3 libcutils: Move list.c to inlines on list.h
(cherry picked from commit 0ea3624b3e)

Change-Id: I0572555a194d2560e74dfbf07abcec05e9a276a2
2014-01-27 15:04:56 -08:00
Colin Cross 65dd88becc system/core: remove $(KERNEL_HEADERS) from includes
The kernel headers are already in the include path, and manually
adding them again will break on a multiarch build, where the
kernel headers may be different for each arch.

Change-Id: Ib13d96543f2c97b1b487a46e1748ceb2c5724169
2014-01-22 19:06:04 -08:00
Christopher Ferris 1da83c3ecc Init the abort_msg_address value.
When initiating a manual dump, the abort_msg_address parameter is random
garbage. Initialize this value to 0.

Change-Id: I9ba817ee6104f47cfcb2b746bfa6f02a259c86d7
2014-01-10 14:46:03 -08:00
The Android Open Source Project 66ed50af68 Merge commit '536dea9d61a032e64bbe584a97463c6638ead009' into HEAD
Change-Id: I5c469a4b738629d99d721cad7ded02d6c35f56d5
2013-11-22 13:44:43 -08:00
Pavel Chupin dccdb94284 Replace __reboot call with syscall
__reboot is hidden for 64-bits and should be hidden on others

Change-Id: Ib6435269aac7fa726e49cc02f8f76d2be2875bc6
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-11-21 12:35:12 -08:00
Elliott Hughes 14e28d39f7 Fix a bunch of small system/core bugs.
Missing frees in:
  adb/file_sync_client.c
  fastboot/fastboot.c
  libsparse/output_file.c

Missing closedirs in:
  adb/file_sync_service.c
  cpio/mkbootfs.c
  libcutils/dir_hash.c

Potential buffer overrun in:
  gpttool/gpttool.c

Incorrect NULL check in:
  libsparse/backed_block.c

Bug: https://code.google.com/p/android/issues/detail?id=61564
Change-Id: If97838a9e73a77aef7f416c31c237ce1fca4ce21
2013-10-29 14:12:46 -07:00
Pavel Chupin 9ff8767bc6 Eliminate text relocations in x86 optimized memset versions
Change-Id: Ieb72af8cf7f93210a68a87b1e2538deb5642f4d5
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-24 21:42:30 +04:00
Elliott Hughes 9640b30dd7 Use %zd for size_t.
Change-Id: I0139243c309e85236eb00bb471736bdd99eeec84
2013-10-18 17:11:00 -07:00
Elliott Hughes 6891df7a65 am 45ddf184: am 9b8a929d: Merge "libcutils doesn\'t need to be looking at bionic\'s privates."
* commit '45ddf184960225862c6e178588034cce676683e3':
  libcutils doesn't need to be looking at bionic's privates.
2013-10-10 10:40:11 -07:00
Elliott Hughes 7f7b12b8eb am 5baecee3: am be18538d: Merge "Cleanup x86 flags and memset versions"
* commit '5baecee3c6bf348b77b8785bcd8e35362a3507fb':
  Cleanup x86 flags and memset versions
2013-10-10 10:40:10 -07:00
Elliott Hughes 478c566a90 libcutils doesn't need to be looking at bionic's privates.
Change-Id: Ib11a0c1bdc4b85c58274b21a07aa92f958d23713
2013-10-10 09:50:56 -07:00
Pavel Chupin 4aa51cd468 Cleanup x86 flags and memset versions
ARCH_X86_HAVE_SSE2 is always true

Change-Id: I680493d14280aafad5448aec727e8d9a84a6db00
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-10 20:20:16 +04:00
Ying Wang f47c01da18 am 1690a5a6: am aa62be65: Merge "Use SSE2 enhanced memset for capable x86 processors"
* commit '1690a5a6943d4e4b65d5e4dcd077702c2c8f40a0':
  Use SSE2 enhanced memset for capable x86 processors
2013-09-26 10:56:52 -07:00
Daniel Leung 51546ee32c Use SSE2 enhanced memset for capable x86 processors
Originally, if TARGET_ARCH_VARIANT is x86-atom, the SSE2 enhanced
memset is used. This patch extends this to all x86 processors which
support SSE2 (i.e. ARCH_X86_HAVE_SSE2 is true).

Indentation added to the ifeq cases to make this easier to read.

Change-Id: I05f49e237a95359d3f2e3216b037e3fc1a0fbcb0
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2013-09-24 12:53:18 -07:00
Jeff Sharkey 500f3ffad4 am 0ee7d8c6: Fix Mac builds, for realz.
* commit '0ee7d8c68b57c02d02f707d6f71c731234d56eec':
  Fix Mac builds, for realz.
2013-09-20 18:04:53 -07:00
Jeff Sharkey 0ee7d8c68b Fix Mac builds, for realz.
Change-Id: I63e21b90e5b8a8f016dd04ceca4354793faa5e37
2013-09-20 18:00:15 -07:00
Jeff Sharkey 68955fc82e am 4481c325: Fix Mac builds.
* commit '4481c325b16d4a42fd0ebf4c8a2bb5bcc09daf5e':
  Fix Mac builds.
2013-09-20 17:39:27 -07:00
Jeff Sharkey 4481c325b1 Fix Mac builds.
Change-Id: I0eb029395a3afd2f93a7632d7d3d20d28c2ab189
2013-09-20 17:35:15 -07:00
Jeff Sharkey 9729b41574 am 44d6342c: Remove mkdir() side effect, add .nomedia, utils.
* commit '44d6342caa0db1f613809e9ba1ea8d9af0183b74':
  Remove mkdir() side effect, add .nomedia, utils.
2013-09-20 15:57:58 -07:00
Jeff Sharkey 44d6342caa Remove mkdir() side effect, add .nomedia, utils.
Before this change, FUSE lookup() would have the side effect of
creating the directory on behalf of apps.  This resulted in most
directories being created just by Settings trying to measure disk
space.  Instead, we're switching to have vold do directory creation
when an app doesn't have enough permissions.

Create fs_mkdirs() utility to create all parent directories in a
path as needed.  Allow traversal (+x) into /storage directories.

Fix FUSE derived permissions to be case insensitive.  Mark well-known
directories as .nomedia when created.

Bug: 10577808, 10330221
Change-Id: I53114f2e63ffbe6de4ba6a72d94a232523231cad
2013-09-20 14:21:09 -07:00
Colin Cross 8da6e9c717 am c9ff3714: am 596e9c63: Merge "fix valgrind ioctl warning."
* commit 'c9ff37144a7943ee1bc247cef3620c8cce22049d':
  fix valgrind ioctl warning.
2013-09-05 12:57:15 -07:00
Jin Wei b815701247 fix valgrind ioctl warning.
Initialize local variable to avoid syscall ioctl warning.

Change-Id: Ibad5b86cd799f147c71f182d654e61318e2ac15e
Origin-Change-Id: Iedf5b128ae1743f633d2821ac3e402942ad6642b
Signed-off-by: Jin Wei <wei.a.jin@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: 62797
2013-08-31 18:57:46 -04:00
Colin Cross 9227bd3855 Move liblog headers to system/core/include/log
Move the liblog headers to log/ instead of cutils/ to complete
the separation of libcutils and liblog.  cutils/log.h still
exists and includes log/log.h in order to support the many existing
modules that use cutils/log.h.

Change-Id: I2758c9f4aedcb809ca7ba8383d0f55041dd44345
2013-07-24 12:32:39 -07:00
Colin Cross a44c31cc91 am e755dfd4: Merge changes I1db3137b,I0f66144e
* commit 'e755dfd43812ebd9a0d0d6a2106316f343ffb5a2':
  toolbox: reimplement watchprops using __system_property_foreach()
  libcutils: reimplement property_list() using __system_property_foreach()
2013-06-19 10:33:42 -07:00
Greg Hackmann 6967935eb3 libcutils: reimplement property_list() using __system_property_foreach()
Signed-off-by: Greg Hackmann <ghackmann@google.com>

(cherry picked from commit e7bb159d16)

Change-Id: I0f66144eb8a4a48e04e4fcd125ad37f19ad94b8e
2013-06-18 19:26:27 -07:00
Greg Hackmann e7bb159d16 libcutils: reimplement property_list() using __system_property_foreach()
Change-Id: I273fbf7151908ee57b9b951e7d8c5f4925bbc109
Signed-off-by: Greg Hackmann <ghackmann@google.com>
2013-06-18 16:37:54 -07:00
Dima Zavin abb7d58010 HACK: cutils: restore record_stream temporarily
Restore the record_stream code in cutils that was removed
in e00a12bf8a as part of cutils
cleanup.

Unfortunately, there are some prebuilt vendor libs that rely on
this functionality that we cannot currently rebuild.

Remove at the earliest possible convenience once the vendor libs
have been fixed.

Bug: 9189218
Change-Id: I5d44126756f1e3ed194d1b5873d64d9154183199
Signed-off-by: Dima Zavin <dima@android.com>
2013-06-04 17:40:28 +00:00
Nick Kralevich b39e3a8a4f libcutils: Don't build host property support
Only build property support for the device, not for the
host. Host side property support is being removed, as it
was only really used for the simulator.

process_name.c: When building this for the host, don't
reference properties.

Change-Id: Idcea5ad52a85e47eef17a381cb0601657efbdf13
2013-05-23 11:04:54 -07:00
Dima Zavin e00a12bf8a cutils: first pass at cleaning up legacy/obsolete code in cutils
Removed unused code and moved libraries with single clients
near their respective users.

Change-Id: I65f90f8659f27bd0f44ca5ddf33da2bce14674c1
Signed-off-by: Dima Zavin <dima@android.com>
2013-05-07 00:19:44 -07:00
Nick Kralevich 072ee01430 Merge "Make init handle reboots" 2013-04-24 15:43:10 +00:00
Nick Kralevich ca8e66a8b0 Make init handle reboots
Move the responsibility for rebooting the system from the
reboot command to init. Init is in a better position to take
actions to bring the system down cleanly, including making sure
filesystems are mounted read-only.

The only UIDs which can perform an init triggered reboot are
root, system, and shell.

Modify the reboot command so that it calls into init to perform
the reboot. The reboot command no longer requires CAP_SYS_BOOT.

Remove the -n reboot option and code which supports it.  Anyone needing
to do an unclean shutdown can just do a 'echo c > /proc/sysrq-trigger'.

Modify adb so that it calls into init to perform a shutdown.

Bug: 8646621
Change-Id: I84c0513acb549720cb0e8c9fcbda0050f5c396f5
2013-04-23 13:21:40 -07:00
Todd Poynor 451a6ba829 klog: error handling fixups
Change-Id: I9014e62010c589ec30d5e99eef420353e35418b5
2013-04-22 11:07:14 -07:00
Jamie Gennis b7b2c71bf8 am 25538257: Merge "cutils: add a way to disable tracing for a process" into jb-mr2-dev
* commit '2553825797c40b14981b1b24e44475e07b02267f':
  cutils: add a way to disable tracing for a process
2013-04-16 15:18:29 -07:00
Jamie Gennis 2553825797 Merge "cutils: add a way to disable tracing for a process" into jb-mr2-dev 2013-04-16 22:12:47 +00:00
Jamie Gennis b13ea45a04 cutils: add a way to disable tracing for a process
This change adds the atrace_set_tracing_enabled call to libcutils.  The call
can be used to disable all tracing (of the atrace variety) for the current
process.  This is to be used to disable tracing in the Zygote process, as there
is no way for Zygote to be notified of changes to the enabled trace tags.

Change-Id: I0b691cc0dcfc65b16e3d17e1db2866a4deb253a7
2013-04-15 18:50:22 -07:00
Ken Sumrall 3b0511788c am 774814d1: Merge "klog: Have klog_write() call klog_init() if needed" into jb-mr2-dev
* commit '774814d1940a87175fc7dc692fef5c626d893968':
  klog: Have klog_write() call klog_init() if needed
2013-04-15 10:35:31 -07:00
Ken Sumrall 7425fd1b23 klog: Have klog_write() call klog_init() if needed
Also change klog_init() to do nothing if already initialized.

Change-Id: Ia2dfe914c9d9fd119fb8939508d57b15c9884663
2013-04-11 20:03:47 -07:00
Ying Wang 821620f593 am c796ed97: We need libcutils to include liblog
* commit 'c796ed97466510dd5239008554decbe72825e19c':
  We need libcutils to include liblog
2013-04-11 15:57:35 -07:00
Ying Wang c796ed9746 We need libcutils to include liblog
For some prebuilts were built against libcutils with liblog in it.
Unfortunately that means in the future if someone checks in prebuilts
that are built against libcutils and they don't explicitly link against
liblog, they will again prevent us from removing liblog from libcutils.

Bug: 8587800
Bug: 8580410
Change-Id: I2a5ed6233df7e7d542d1e4167bec405750c0e671
2013-04-10 17:33:48 -07:00
Keun-young Park 9c37960cd9 am 9b32f87a: Merge "Add Mips memset speedup"
* commit '9b32f87a8c489a15baea535800b7c309014bd0ee':
  Add Mips memset speedup
2013-03-29 16:09:10 -07:00
Keun-young Park 9b32f87a8c Merge "Add Mips memset speedup" 2013-03-29 21:05:23 +00:00
Jamie Gennis 774f929991 libcutils: add support for app tracing
This change adds support for tracing using the ATRACE_TAG_APP tag.  This tag is
enabled only for processes in which the /proc/<pid>/cmdline value appears in
the comma-separated list of such values in the debug.atrace.app_cmdlines system
property.  It is also only enabled if either the ro.debuggable system property
is set to 1 or the application has declared itself debuggable in its manifest,
which gets reported to libcutils by the framework.

Change-Id: Ic94ba55f4e70a9cf994056acbf151e523428b65d
2013-03-28 20:59:31 +00:00
Jeffrey Brown c5c410fe3d am 4b9bdd33: am 90dd1402: am 241194ca: Merge "[MIPS] Benchmark test for MIPS memset16/memset32"
# By Duane Sand
# Via Android Git Automerger (2) and others
* commit '4b9bdd333362c1f58260c37306f1902fb215f7bf':
  [MIPS] Benchmark test for MIPS memset16/memset32
2013-02-06 20:59:56 -08:00
Jeffrey Brown 241194cad4 Merge "[MIPS] Benchmark test for MIPS memset16/memset32" 2013-02-07 04:40:05 +00:00
Nick Kralevich b94fd1abcb cutils: remove dead code.
The last caller of this code was removed in
dalvik commit eb1703442f3fc0577b3395b7eb4d55300b4125db
(https://android-review.googlesource.com/50689)

Change-Id: I3f4865c02092752a13369a3b2c3289fc9a4f6a62
2013-01-29 13:19:20 -08:00
Elliott Hughes def8d6a706 The localtime_tz and mktime_tz extensions are now in bionic.
(cherry-pick of d03072ffde. This change
was originally committed to AOSP, is in internal master, but was somehow
lost from AOSP.)

Bug: 7012465

Conflicts:

	libcutils/Android.mk

Change-Id: I08ee8eb9b8ce5d3f9d8f2e67437d653e08697bc1
2013-01-15 11:34:08 -08:00
Duane Sand d4a80984fc [MIPS] Benchmark test for MIPS memset16/memset32
Author: Chris Dearman <chris@mips.com>
AuthorDate: 2011-07-26 19:24:40
Change-Id: I0a7b3360aaf45de8ee47744f7031b84f15f37611
2012-12-27 12:38:51 -08:00
Ben Cheng 26f447f5da am 7f692fe6: am 523e21d3: Merge "Fail-proof the inline directives for SMP atomic operations."
* commit '7f692fe6448049dca2795d7d648615a2dc7a500c':
  Fail-proof the inline directives for SMP atomic operations.
2012-12-07 14:37:04 -08:00
Ben Cheng 5206d59712 Fail-proof the inline directives for SMP atomic operations.
The various atomic operations are declared as inline in the header files
to cut the function call overhead. However, the plain inline keyword is
just a suggestion to the compiler which makes its own decision on whether
to inline them or not. Worst, if they are not inlined, the
-fvisibility-inlines-hidden compiler flag will render them as hidden
symbols in the object file. If they are picked up by the linker over the
ones supplied in libcutils.so the following warning will be reported:

warning: hidden symbol 'android_atomic_inc' in foo.o is referenced by
DSO bar.so

One way is to add __attribute__((visibility("default"))) to those inline
functions to suppress the linker warnings. A better way is to force
inlining as with this patch.

Change-Id: Ie4fcfdfaaf06f42d351619a0d89671a9df15ca2f
2012-12-07 11:07:10 -08:00
Alex Ray e7bb7bca4f cutils: trace: add atrace_update_tags()
Adds a function to read the current trace system property value, and
sets the trace tags to it, do be used as a sysprop change callback.

Change-Id: Ia6336652173aa5b07188898736c2c795a69fe79a
2012-11-28 13:56:49 -08:00
Alex Ray 0a34643160 cutils: Add tracing support
Basic tracing functionality to cutils, which can be turned on at start,
or dynamically controlled by the frameworks.  The goal is for hardware
modules to add tracing that will be controlled by their respective
services.

Change-Id: I84eeb7d6be0038f734e719074fa4a2fae4ffe9c0
2012-11-28 13:56:15 -08:00
Elliott Hughes 663005248d The localtime_tz and mktime_tz extensions are now in bionic.
Bug: 7012465

(cherry-pick of d03072ffde3279fbb60591a0d07c820d8e792762.)

Conflicts:

	libcutils/Android.mk

Change-Id: I5e34edd4c8f59cc0a4d5dcc4740707ae063608a0
2012-10-18 11:38:23 -07:00
Nick Kralevich 69ce489fc3 fs.c: Fix implicit declaration of function 'mkstemp'
system/core/libcutils/fs.c: In function 'fs_write_atomic_int':
system/core/libcutils/fs.c:109:5: warning: implicit declaration of function 'mkstemp' [-Wimplicit-function-declaration]

Change-Id: I337ecb818f85e20b058f782df45987acf2e9d6c1
2012-10-15 15:51:33 -07:00
Jeff Sharkey 489609bb44 Allow mkdir() race to succeed.
When two zygotes are starting, they both may try creating a mount
point after checking lstat().  The second mkdir() will result in
EEXIST, which is okay to ignore.

Bug: 7165469
Change-Id: If4411e2621f773c74cd05247899982fa5ebdd020
2012-09-25 13:13:08 -07:00
Jeff Sharkey 6de7026790 Wrap more system calls in TEMP_FAILURE_RETRY.
Bug: 7151474
Change-Id: I9fe19746104cf392f88ea5cf8061e2e21e334671
2012-09-13 15:11:42 -07:00
Jeff Sharkey ddb1733944 Wrap system calls in TEMP_FAILURE_RETRY.
fs_prepare_dir() is used heavily during Zygote init, and can easily
run into EINTR.

Bug: 7151474
Change-Id: I7aac43a43483d55db47ca20456fff68ce51bbc46
2012-09-13 15:02:53 -07:00
Jeff Sharkey 9685194fc9 File-system utilities for installd and zygote.
Bug: 7008879
Change-Id: Ia54b8d4ad434e8973f235e2a4728651814bef8a9
2012-08-30 10:29:41 -07:00
Duane Sand 1ca120588a Add Mips memset speedup
Change-Id: I157aa8b500e271c213bf615dd4ceb25b3aedd7c2
2012-08-29 12:33:50 -07:00
Ian Rogers fd7f1b6a50 Revert "Revert "Upgrade to dlmalloc 2.8.5.""
This reverts commit 42b83c6df7.
2012-08-28 15:52:20 -07:00
Brian Carlstrom 42b83c6df7 Revert "Upgrade to dlmalloc 2.8.5."
This reverts commit 2d13791ce7.
2012-08-22 12:10:19 -07:00
Brian Carlstrom 1768707951 am e05ac541: am 9d779bf1: Merge "Upgrade to dlmalloc 2.8.5."
* commit 'e05ac5415e861dee6a3f175c8066ff577736ba1f':
  Upgrade to dlmalloc 2.8.5.
2012-08-20 17:04:24 -07:00
Ian Rogers 2d13791ce7 Upgrade to dlmalloc 2.8.5.
Remove mspace functionality from cutils.
Directly declare mspace from dlmalloc in code flinger's code cache, and
manage without using morecore.

Depends upon: https://android-review.googlesource.com/41717

Change-Id: If927254febd4414212c690f16509ef2ee1b44b44
2012-08-20 15:30:35 -07:00
Jeff Sharkey de980f27a7 Omit multiuser.c from Windows builds.
Change-Id: I0cee35373e33084e4fc65a1d5c0b611c6fa82346
2012-08-16 17:16:43 -07:00
Jeff Sharkey 2be5338a84 Merge "Multi-user external storage support." into jb-mr1-dev 2012-08-16 14:33:00 -07:00
Jeff Sharkey 885342a0f2 Multi-user external storage support.
Remount rootfs as recursively shared, so that mount changes are
propagated into child namespaces.  Mount external storage for access
from adb.

Clean multi-user dependencies for use in Dalvik.  Also define
external storage paths.

Bug: 6925012
Change-Id: I375de581a63f4f36667894c56a34a9dd45361e8f
2012-08-15 21:10:07 -07:00
Jean-Baptiste Queru 93be76f5c0 am e8e73b01: am 311a4758: Merge "Remove system/core\'s remnants of SH support."
* commit 'e8e73b01399e8d3c3fc6b94d26ef9cc49b33dda8':
  Remove system/core's remnants of SH support.
2012-08-13 16:03:30 -07:00
Elliott Hughes 6521a41dcf Remove system/core's remnants of SH support.
SH support is long dead.

Change-Id: I6be2763ca9f1ad8b3f9b09a8ad2f1d67f1e7f802
2012-08-11 10:04:00 -07:00
Jeff Sharkey 46ac0ef00b Include to define uid_t.
Change-Id: I02d36346fc3c6236bd64309798b434405f8dfef7
2012-08-08 13:59:34 -07:00
Jeff Sharkey 9509d27252 Native utils for working with user and app IDs.
Bug: 6925012
Change-Id: I56f18826fd324f60b6e446cebd30719258e40990
2012-08-07 17:56:48 -07:00
Jeff Brown 053b865412 Enhance native stack dumps.
Provides a new mechanism for dumpstate (while running as root)
to request that debuggerd dump the stacks of native processes that
we care about in bug reports.  In this mode, the backtrace
is formatted to look similar to a Dalvik backtrace.

Moved the tombstone generating code into a separate file to
make it easier to maintain.

Fixed a bug where sometimes the stack traces would be incomplete
because we were not waiting for each thread to stop after issuing
PTRACE_ATTACH, only the main thread.  So sometimes we were missing
traces for some threads.

Refactored the logging code to prevent accidentally writing data
to logcat when explicitly dumping a tombstone or backtrace from the
console.

Only root or system server can request to dump backtraces but
only root can dump tombstones.

Bug: 6615693
Change-Id: Ib3edcc16f9f3a687e414e3f2d250d9500566123b
2012-06-08 13:29:23 -07:00
Dima Zavin 29319a6753 cutils: sched_policy: remove audio app/sys groups, merge into fg
Bug: 6528015
Change-Id: I6c2658b62442d811b53c6d18476fbd6cd45f9e3f
Signed-off-by: Dima Zavin <dima@android.com>
2012-06-04 13:20:17 -07:00
Dima Zavin 13ed76bfbc cutils: sched_policy: make bg group be nested under fg
Adds an apps cgroup which will contain fg tasks. Move the bg group
nested underneath it.

Bug: 6538553
Change-Id: I55279415da625e15a5bb061c2b45fbe7f7a4c047
Signed-off-by: Dima Zavin <dima@android.com>
2012-06-04 10:42:40 -07:00
Jeff Brown 5b878d24c1 Revert "Revert "Use O_CLOEXEC when opening cgroup fds.""
This reverts commit 4df54bc4a8.
2012-05-08 15:07:58 -07:00
Jeff Brown bff8f3fa98 Add stubs for host builds.
Bug: 4466013
Change-Id: I5633c841e71a48357bb04cd7ccc02550c17bde22
2012-05-08 15:07:32 -07:00
Jeff Brown 4df54bc4a8 Revert "Use O_CLOEXEC when opening cgroup fds."
This reverts commit e1440d81ae
2012-05-08 14:58:30 -07:00
Jeff Brown e1440d81ae Use O_CLOEXEC when opening cgroup fds.
Bug: 4466013
Change-Id: I0d2e915fc550a0ecaccad5e452dd4c87fc878b8b
2012-05-08 13:41:10 -07:00
Jeff Sharkey e34b91719c Support full 32 bits for socket tags.
Bug: 5321184
Change-Id: Iabd668674e60626caafc9b66b29fdbddc3724f58
2012-05-02 16:01:31 -07:00
Glenn Kasten 10ec3c7645 Add more SP_ constants
Change-Id: I52c8ea33b9b915fc08546f2ca0b191391f58506b
2012-04-23 17:34:06 -07:00
Glenn Kasten 69bfb1f099 Scheduling group cleanup - add comment, SP_DEFAULT
Also tid == 0 maps to gettid() on platforms that support it.
This is needed by mediaserver code that was formerly using
the old C++ API.

Change-Id: I8baaa3e42315c9b924cec26b6da01e7cb69e0078
2012-04-20 10:31:50 -07:00
Geremy Condra 15621e0970 cutils: return the remote uid on netlink recv failure
This change adds a layer of indirection to uevent's
uevent_kernel_multicast_recv, allowing dependent code to
get the remote endpoint if desired.

Change-Id: If2f00708a1dd6196c415b1ebc2a7eeb72399a90e
2012-03-29 17:07:24 -07:00
Jeff Brown 4a6b384f60 Provide portable wrapper for qsort_r.
qsort_r() is declared differently on BSD and GNU libc and
may be absent on other platforms.

Provide qsort_r_compat() which should work everywhere.

Change-Id: I17a9026573b1ed971ff7d79895e7eb41ba108807
2012-03-19 14:07:26 -07:00
Jeff Brown 14d0c6c7c0 Add missing includes.
Caused warnings about implicitly defined malloc() and sprintf().

Change-Id: Ia56309adc11caf5801ffd88e374c512b785cfd93
2012-03-19 14:06:50 -07:00
Dima Zavin c4edb9ec90 Merge "cutils: str_parms: when deleting entry, need to also remove key" 2012-03-19 09:56:14 -07:00
Glenn Kasten 0ad682cdde Merge "Add get_sched_policy_name() and use in ps and top" 2012-03-15 15:45:19 -07:00
Glenn Kasten 86c7cc8189 Add get_sched_policy_name() and use in ps and top
This will make it easier to add additional policies (cgroups) if needed.
Also added comments to the sched_policy APIs.

Change-Id: I33ce1cc4deae10983241f7391294b7a512d2c47c
2012-03-15 15:10:45 -07:00
Dima Zavin efd7501d53 cutils: str_parms: when deleting entry, need to also remove key
When removing one entry, we can't just remove it from the map since
key will not be freed. So, instead, search through the map for the key
and free it once it is found.

Change-Id: Id745c166a4acc5ea25f6d6cdbfe4f8fbc21cbbb3
Reported-by: Xin Qian <xqian@marvell.com>
Signed-off-by: Dima Zavin <dima@android.com>
2012-03-14 23:17:11 -07:00
Dima Zavin 86bfbe3cae cutils: str_parms: free the key if the value was replaced during create/add
Change-Id: I9f31da62f10f78ed11693a7c04e2be29b0790c93
Reported-by: Xin Qian <xqian@marvell.com>
Signed-off-by: Dima Zavin <dima@android.com>
2012-03-14 23:17:11 -07:00
Andrew Hsieh 9d4dbf4835 Merge "Added rules to build 64-bit libraries: lib64cutils.a and lib64log.a" 2012-03-13 16:28:08 -07:00
Dima Zavin eccfb08f38 Revert "cutils: str_parms: make test executable build for host instead"
This reverts commit 7d31e6e533.
2012-03-12 15:06:05 -07:00
Dima Zavin 7d31e6e533 cutils: str_parms: make test executable build for host instead
Change-Id: I711e03aaf859107c697c6dcb82e0ab83e94570ba
Signed-off-by: Dima Zavin <dima@android.com>
2012-03-12 11:03:38 -07:00
Dima Zavin a603e40f9e cutils: str_parms: test str_parms_add_str too
Change-Id: I93f0e577aff6b8ff23a44e29f9942a26545b6dc8
Signed-off-by: Dima Zavin <dima@android.com>
2012-03-12 11:03:38 -07:00
Dima Zavin 70b93034f3 cutils: str_parms: need to also dup the key when adding to hash
Change-Id: Iabdd2061cbc36c6f4d4eb6e46bd757b5b52e0027
Signed-off-by: Dima Zavin <dima@android.com>
2012-03-12 11:03:38 -07:00
Andrew Hsieh 99e7f7af84 Added rules to build 64-bit libraries: lib64cutils.a and lib64log.a
Both libraries are needed to build four shared libraries in 64-bit
for 64-bit emulator with "-gpu on"
  lib64OpenglRender.so
  lib64EGL_translator.so
  lib64GLES_CM_translator.so
  lib64GLES_V2_translator.so

Change-Id: If57f72d4661a74f1d5e537568881f39132e0b43d
2012-03-01 23:58:50 -08:00
David 'Digit' Turner 7913bc05be libcutils: Use proper private header to access C library's <time.h> extension
The strftime_tz() function is not a standard C library function and should not
appear in <time.h>. Instead, it is being moved to <bionic_time.h>, a private
header only available to platform libraries.

Change-Id: I4dc18939b9380725dfaa20c9e417296363bc52f4
2012-01-13 13:38:40 +01:00
Steve Block 01dda204cd Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE
Bug: 5449033
Change-Id: Ibcffdcf620ebae1c389446ce8e9d908f11ac039c
2012-01-08 11:03:26 +00:00
Steve Block ae8b56c0d1 Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE
Bug: 5449033
Change-Id: I1e070511b6a538e9f1c94657356437a457d58882
2012-01-05 22:25:38 +00:00
Steve Block fe71a61e5b Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE
Bug: 5449033
Change-Id: I4951baa981f09a84ce483e3d1bd0f9ebe009035f
2012-01-04 19:23:34 +00:00
Steve Block 8d66c49258 Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE
Bug: 5449033
Change-Id: I9244d927f14c750cd359ebffb1fc1c355a755d5a
2012-01-03 22:32:30 +00:00
Steve Block 69f4cd7f5a Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGE
Bug: 5449033
Change-Id: Ib453f869977a6e909095a578bbf0420851f887d2
2011-10-26 09:59:23 +01:00
JP Abgrall 29656d34a2 qtaguid: shhhh. LOGI -> LOGV
Less verbose output.

Bug: 5360129
Change-Id: Id32a7c61d51b6a16f50a5c8bcc75a2feaa0e34b1
2011-09-22 14:39:47 -07:00
JP Abgrall 243123fb41 libcutils: qtaguid: Support new functions, add tag resource tracking.
* Add support for
  deleteTagData(tag, uid)
  setCounterSet(counterSetNum, uid)
  setPacifier(on)

* Add resource tracking
(If only kernel process termination had a hook)
Because the xt_qtaguid netfilter module needs to keep track of
tagged sockets, it needs a way to know when the process owning
the socket has died.
Normally the app will untag the sockets. But not on crash.
So the process opens the qtaguid misc dev, which is closed on crash,
at which point the xt_qtaguid can force-untag the processes sockets,
and thus allowing their refcount to go down and release them.

* Add pacifier support
 Add function to enable/disable pacification of the xt_qtaguid
 kernel module. (mostly for debugging)

Change-Id: I7f2228e65208046dd37ec1c7407ee307d5ba9b99
2011-09-14 15:00:40 -07:00
Dima Zavin 7e14e0c974 cutils: only build klog for target
Change-Id: Id524753ca5e7271a498fdf03179bba3fdaed5729
Signed-off-by: Dima Zavin <dima@android.com>
2011-09-04 17:16:13 -07:00
Dima Zavin da04c52ab1 init/cutils: move list utility code to cutils from init
Change-Id: I357ceee813700297d8343159f22a07659e768d41
Signed-off-by: Dima Zavin <dima@android.com>
2011-09-02 12:11:18 -07:00
Dima Zavin 8f91282ebe init/cutils: move kernel logging interface to libcutils from init
Change-Id: Ia0f91b1fcd6cae69d76bf3dd841340958db938a8
Signed-off-by: Dima Zavin <dima@android.com>
2011-09-02 12:11:17 -07:00
Dima Zavin 2d55e02d0f libcutils/init: move uevent socket opening code to libcutils
Change-Id: I90adf78c0eb6185505f2bf7b62e96e25ab918345
Signed-off-by: Dima Zavin <dima@android.com>
2011-09-02 12:11:17 -07:00
Ashish Sharma 9b5c774369 libcutils: qtaguid: support socket untagging, return errors.
- Enable and rename qtaguid_tagSocket()
  - Add qtaguid_untagSocket()
  - Return kernel errors to caller

Change-Id: I8e33c8832b7f6b24ed9081f36ce1ea9ae6b099c0
Signed-off-by: Ashish Sharma <ashishsharma@google.com>
2011-08-07 23:22:59 -07:00
Jeff Brown 29e1e7393d Remove the simulator target from all makefiles.
Bug: 5010576

Change-Id: I2fcf31af681d92880e5d31a46d5f6777f7ca1977
2011-07-11 22:12:32 -07:00
Ashish Sharma 1ac6ddeba6 Move qtaguid.c from common sources in Android.mk to fix windows build.
Change-Id: I0a2d1615108b6c10064b3635d05699748a1341a4
2011-07-10 15:25:28 -07:00
Ashish Sharma 8626cce5f3 Add communication support for xt_qtaguid(network traffic accounting) kernel module.
Change-Id: Ie0fb5b593987c53ee6f906fe6e0caab5a581d5a1
2011-07-08 19:17:03 -07:00
Eric Laurent 3142a203b3 Merge "Config utils improvement" 2011-05-27 10:20:00 -07:00
jeffhao 2b8f76cdbb Tracking merge of dalvik-dev to master
Reordered bootclasspath to allow verification of all framework methods.
  git cherry-pick --no-commit  ec164a0170955fe63106c2576a65bc4ffb1df425

Address CVE-2011-1090.
  git cherry-pick --no-commit  3365288d3c00072689cd9d733e055561cadc87b5

Change-Id: I6a89bc600ced06a0cb84ae1670cb7a6ea39de9c8
2011-05-27 00:50:44 -07:00
Ken Sumrall e555f54965 Merge "Crypto changes for devices that don't write ext4 fs on wipe" 2011-05-26 20:01:19 -07:00
Ken Sumrall b05b0b5d3b Crypto changes for devices that don't write ext4 fs on wipe
This adds a new function to libcutils, partition_wiped().
This is used to determine if a partition is wiped.

Change-Id: Ibb388976c6b5bd3923b62d8f79b2b97748abf6c1
2011-05-26 19:42:32 -07:00
Eric Laurent c3cf1a8278 Config utils improvement
Added a function to free resources allocated by config node tree.

Change-Id: I2ee8ae642899ec4501fa6e490c5be7efaa2d738e
2011-05-26 13:57:03 -07:00
Nick Kralevich 57de8b8f27 rename uevent_checked_recv to uevent_kernel_multicast_recv
Change-Id: I1839627490080efcbb7269699709064856312f8b
2011-05-11 14:58:24 -07:00
Dima Zavin 14fc0c2765 libcutils: build str_parms test for target instead of host
Change-Id: Ic1cd1c26b86b051c25db2521bd90b58731e29135
Signed-off-by: Dima Zavin <dima@android.com>
2011-04-27 22:26:23 -07:00
Dima Zavin 0e02fcab11 Merge "libcutils: add a simple string parameter parsing ("a=b;c=d;") helper utils" 2011-04-27 17:07:12 -07:00
Dima Zavin c5ae7dbf4c Merge "libcutils: hashmap: save next pointer in forEach before calling callback" 2011-04-27 17:06:53 -07:00
Nick Kralevich b0d0e260bd resolved conflicts for merge of 2baeb898 to honeycomb-plus-aosp
Change-Id: Ib3169b3a36aa13ef413da624355b1737e9b76fd9
2011-04-27 13:09:24 -07:00
Vernon Tang 3f582e92f0 Fold uevent message origin checking from init into libcutils.
Change-Id: I7cbc0cb840d1b4962e6c360fdad9a9c0ce20e87b
2011-04-28 05:16:21 +10:00
Nick Kralevich de35f2741c am 03752be0: am 0c297f5e: Merge "Revert "Fold uevent message origin checking from init into libcutils.""
* commit '03752be0a437d12e19ac73ebe23385fe6f756e2c':
  Revert "Fold uevent message origin checking from init into libcutils."
2011-04-27 10:35:06 -07:00
Nick Kralevich de9e65dd65 Revert "Fold uevent message origin checking from init into libcutils."
This reverts commit 8405ec0e75.

The original change does not compile.
2011-04-27 10:21:24 -07:00
Nick Kralevich e3ab424570 am a7cf7ed9: am 282c2ab4: Merge "Fold uevent message origin checking from init into libcutils."
* commit 'a7cf7ed93486240ca48a407e67c7c3683a3b93aa':
  Fold uevent message origin checking from init into libcutils.
2011-04-27 09:59:14 -07:00
Vernon Tang 8405ec0e75 Fold uevent message origin checking from init into libcutils.
Change-Id: I1a38e611a7ad990f74306ce453740a1eeed2416d
2011-04-27 14:17:15 +10:00
Dima Zavin 0fad7d023f libcutils: add a simple string parameter parsing ("a=b;c=d;") helper utils
Change-Id: Ifabeb75550fa6e351434e6e6d036b19331daf6c1
Signed-off-by: Dima Zavin <dima@android.com>
2011-04-20 19:04:40 -07:00
Dima Zavin 4fab9ac04e libcutils: hashmap: save next pointer in forEach before calling callback
If the callback passed to forEach tries to remove the element it was passed,
there's a use-after-free of the entry pointer in forEach.

Change-Id: Ia364b4775c9c55780b23f683b30cbff511b7f944
Signed-off-by: Dima Zavin <dima@android.com>
2011-04-19 15:16:18 -07:00
satok f0a670eb12 do not merge. Fix a race in system properties.
Backport Iee1ca9b7defd6

This now passes:

$ adb shell am instrument -w -e class android.os.SystemPropertiesTest \
  com.android.frameworks.coretests.systemproperties/android.test.InstrumentationTestRunner

  (which tests setting and re-reading back system properties in a loop)

  This patch depends on I110b653a which moves property setting
  from libcutils into bionic.

  Bug: 3511230

Change-Id: I145e642bd13079677017bb64e361e176fc73b810
2011-03-15 23:15:02 -07:00
Brad Fitzpatrick 7cf20f925d Merge "Fix a race in system properties." 2011-03-14 17:09:36 -07:00
Ken Sumrall e3aeeb4de3 Try to unmount writable filesystems when rebooting
Ext4 filesystems like to be unmounted before rebooting.  The Android system
doesn't have a traditional Linux init setup, and shutting down the system
was not much more than calling sync(2) and reboot(2).  This adds a new
function to libcutils called android_reboot().  By default, it calls sync()
and then remounts all writable filesystems as read-only and marks them clean.
There is a flag parameter in which the caller can ask for sync() not to be
called, or to not remount the filesystems as read-only.  Then it will call
reboot(2) as directed by the other parameters.  This change also updates
adb, init and toolbox to call the new android_reboot() function.
Fixes bugs 3350709 and 3495575.

Change-Id: I16d71ffce3134310d7a260f61ec6f4dd204124a7
2011-03-10 18:11:46 -08:00
Brad Fitzpatrick eb1f0c6fd1 Fix a race in system properties.
This now passes:

$ adb shell am instrument -w -e class android.os.SystemPropertiesTest \
  com.android.frameworks.coretests.systemproperties/android.test.InstrumentationTestRunner

(which tests setting and re-reading back system properties in a loop)

This patch depends on I110b653a which moves property setting
from libcutils into bionic.

Bug: 3511230
Change-Id: Iee1ca9b7defd6060510a01f40fbe63ba4c96eb8d
2011-03-10 16:00:48 -08:00
Carl Shapiro 0a16d83969 Remove unconditional swap from the android atomic operations suite.
Bug: 3381237
Change-Id: I7bdc7c8eb4c1cc6303d96e40ca2f196a007c4dd2
2011-01-23 14:09:17 -08:00
Lu, Hongjiu bb12ac9b85 Assembly coded android_memset16 and android_memset32
Change-Id: Ife2dd406e1dcb962e5e97788c515ac96f5c52e44
2011-01-07 11:26:34 -08:00
Bruce Beare d7a295221a Assembly coded android_memset16 and android_memset32
Change-Id: Ifa05006df7ce7364d18eb10d64a818d619664475
Author: Lu, Hongjiu <hongjiu.lu@intel.com>
Signed-off-by: Mark Gross <mark.gross@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
2011-01-02 17:00:09 -08:00
Carl Shapiro d55f0adfb5 Qualify the source argument of atomic loads as a const pointer.
Also normalizes the opening brace placment in a few locations.

Change-Id: I8f518e933094337d5d3371321326ffc03b3a5f5a
2010-09-28 14:06:00 -07:00
Jesse Wilson 7ab237f1ef Including dl heap stubs for the dalvikvm host build
Change-Id: I9d0ce98d433f71db25c58bf464ec9317552cfae6
2010-08-18 21:23:13 -07:00
Brian Carlstrom f2af88e81a Tracking merge of dalvik-dev to gingerbread
git cherry-pick --no-commit b99a099c
git cherry-pick --no-commit 9811671e02
git cherry-pick --no-commit d0645bf0cc

Change-Id: Ie70fecaeaba97a25f114cd2717e381b5107533b1
2010-08-04 15:45:52 -07:00
Carl Shapiro 93b0cb40c1 Define inline atomic operations for x86 and ARM.
This change moves the ARM definitions into GCC extended inline
assembler.  In addition, the same set of x86 definitions are now
shared among all x86 targets.

Change-Id: I6e5aa3a413d0af2acbe5d32994983d35a01fdcb3
2010-06-23 12:51:26 -07:00
Andy McFadden 8dfa47da8c Atomic/SMP update, part 2.
Added new atomic functions, renamed some old ones.  Some #defines have
been added for backward compatibility.

Merged the pre- and post-ARMv6 implementations into a single file.

Renamed the semi-private __android_membar_full_smp to USE_SCREAMING_CAPS
since that's more appropriate for a macro.

Added lots of comments.

Note Mac OS X primitives have not been tested.

Change-Id: If827260750aeb61ad5c2b760e30658e29dbb26f2
2010-05-27 15:29:38 -07:00
Andy McFadden ac322da69e Atomic/SMP update.
Added atomic-inline.h.  Added a platform-specific memory barrier call
there.

Added android_atomic_acquire_cmpxchg() and android_atomic_release_store().
Not tested on Mac OS X or SH.

Added memory barrier calls to linux-x86 atomics.  Mac OS X has barrier
functions already.  sh isn't really SMP-ready.  linux-arm needs work
(to be done in a separate change).

Updated the makefile to make the SMP state visible to the code here.
Note that host binaries are NOT built with SMP enabled; while our hosts
are very likely SMP, it's not worth figuring out e.g. whether it's okay
to use the SSE2 mfence instruction or have to use something else.  We
haven't had barriers enabled in host tools before, so there's probably
no need to stat now.

Removed quasiatomic 64-bit calls (now part of Dalvik).

Change-Id: I49e5e6c8abe70f304cdedb9d7b8e6e65f8925815
2010-05-20 21:40:33 -07:00
Brad Fitzpatrick 86b121523d fix windows SDK build
Change-Id: I2c563b20197803cafa91214aeff2c06fc0c75580
2010-05-08 11:51:13 -07:00
Brad Fitzpatrick e43c248316 More fixes to Binder perf regression from Eclair
Re-use the file descriptor to change the cgroups.  There's a fast path
in the kernel for the case where the value's already uncahnged.  Also,
this is okay because the kernel ignores the write offset.  This is
essentially a ioctl-ish/datagram interface, despite being a fd we're
writing to.

This reduces Dalvik->Dalvik void/void Binder calls on Sapphire from
~1.2 to ~0.8 ms.  This is a bit slower than the ~0.7 ms we get
avoiding the write altogether.

strace confirms:

[pid  1557] ioctl(21, 0xc0186201 <unfinished ...>
[pid  1556] <... ioctl resumed> , 0x45399cd0) = 0
[pid  1556] write(22, "1556", 4)        = 4
[pid  1556] ioctl(21, 0xc0186201 <unfinished ...>
[pid  1555] <... ioctl resumed> , 0x45299cd0) = 0
[pid  1555] write(22, "1555", 4)        = 4
[pid  1555] ioctl(21, 0xc0186201 <unfinished ...>
[pid  1554] <... ioctl resumed> , 0x45199cd0) = 0
[pid  1554] write(22, "1554", 4)        = 4

BUG=2660235

Change-Id: Ia9f9e1d5b792eaebc9560f89931faf6df0cf9c0d
2010-05-07 15:57:44 -07:00
Brad Fitzpatrick 253e27acb6 Optimize set_sched_policy(), which gets called in every binder call.
- use static /dev/cpuctl filenames, rather than sprintf() on the fly
- use a custom formatter instead of sprintf() for the tid number

This is a simplified version of Dan's original
Ifc9c81f74fe65f0695ead53b30194bc6adf00da0 to be less risky for Froyo.

Bug: 2660235
Change-Id: I744bbc2ec01fd2569612c814a497df40a933b622
2010-05-06 11:14:09 -07:00
San Mehat 7e8529a8b5 system/core: Switch libsysutils & sched_policy LOG -> SLOG
Change-Id: Id74c6895a8012c5915f2e259339101844de7c085
Signed-off-by: San Mehat <san@google.com>
2010-03-25 09:31:42 -07:00
San Mehat 503df20759 cutils: sched_policy: Make getSchedulerGroup() play nicely with multiple control groups
Signed-off-by: San Mehat <san@google.com>
2010-03-02 17:09:56 -08:00
San Mehat 85cf56892d cutils: schedpolicy: remove stray include
Signed-off-by: San Mehat <san@google.com>
2010-02-26 11:45:27 -08:00
San Mehat e2fe261d1a cutils: iosched_policy: Don't do anything for simulator
Signed-off-by: San Mehat <san@google.com>
2010-02-26 11:02:31 -08:00
San Mehat 10d469bff9 system: Add support for getting/setting i/o priorities and include a userspace tool
Signed-off-by: San Mehat <san@google.com>
2010-02-25 14:02:55 -08:00
Barry Hayes 2dcf1fb9ff Merge "Break out create_contiguous_mspace_with_base This routine allows creating a contiguous mspace from raw mapped memory. In turn, this will enable preallocation of the 3 heap spaces, which will help remembered sets and zygote/app checks given pointer values." 2010-02-08 20:46:41 -08:00
Barry Hayes b17772dcc8 Break out create_contiguous_mspace_with_base
This routine allows creating a contiguous mspace from raw mapped memory.
In turn, this will enable preallocation of the 3 heap spaces, which will help
remembered sets and zygote/app checks given pointer values.
2010-01-26 13:35:20 -08:00
Andy McFadden fe5684ef3a Try to fix Mac build.
Throwing in an include of <unistd.h> and <sys/types.h> to get off_t
defined.  Might work.
2010-01-26 09:30:02 -08:00
Andy McFadden cf63d5d00f Implementation of open_memstream().
POSIX seems to have chosen open_memstream() over the BSD variant.  We
want something for Dalvik that will work on both GNU/Linux and Android,
so this is open_memstream() implemented in terms of BSD funopen().

For Windows there's just a stub that calls abort().

I'm putting this in libcutils since it seems inappropriate for bionic
(which provides the BSD alternatives) but isn't Dalvik-specific.
2010-01-25 15:06:03 -08:00
Barry Hayes 8cd186d9e0 Fix bogus pointer math. 2009-12-10 13:26:00 -08:00
San Mehat d7dbd7b78a am f95837a1: am cf9f442e: am c1c38dd0: system: sched_policy: Don\'t return an error when the thread we\'re trying to move exits on us
Merge commit 'f95837a1e13c9b63bfe0b0f95f00ec0d72ba2e74'

* commit 'f95837a1e13c9b63bfe0b0f95f00ec0d72ba2e74':
  system: sched_policy: Don't return an error when the thread we're trying to move exits on us
2009-12-04 04:22:14 -08:00
Doug Kwan 092799072f Add missing symbol type directives. 2009-12-03 17:20:58 -08:00
San Mehat f95837a1e1 am cf9f442e: am c1c38dd0: system: sched_policy: Don\'t return an error when the thread we\'re trying to move exits on us
Merge commit 'cf9f442ef336d4fb6300318a3137b23a4697e048' into eclair-mr2-plus-aosp

* commit 'cf9f442ef336d4fb6300318a3137b23a4697e048':
  system: sched_policy: Don't return an error when the thread we're trying to move exits on us
2009-12-03 16:38:09 -08:00
San Mehat c1c38dd01c system: sched_policy: Don't return an error when the thread we're trying to move exits on us
Signed-off-by: San Mehat <san@google.com>
2009-12-03 12:19:12 -08:00
Erik Gilling ac61a69b23 am 9fdf607c: am b63747d4: am f6eba8fa: cutils: make set_process_name set kernel thread name as well
Merge commit '9fdf607c20f9610e442baa87cac5479c98f9d200'

* commit '9fdf607c20f9610e442baa87cac5479c98f9d200':
  cutils: make set_process_name set kernel thread name as well
2009-11-05 15:52:30 -08:00
Erik Gilling 9fdf607c20 am b63747d4: am f6eba8fa: cutils: make set_process_name set kernel thread name as well
Merge commit 'b63747d4d9d2e26c90a5310c996210e722159d04' into eclair-mr2-plus-aosp

* commit 'b63747d4d9d2e26c90a5310c996210e722159d04':
  cutils: make set_process_name set kernel thread name as well
2009-11-05 15:46:45 -08:00
Erik Gilling f6eba8fac8 cutils: make set_process_name set kernel thread name as well
Signed-off-by: Erik Gilling <konkers@android.com>
2009-11-05 12:26:56 -08:00
San Mehat 1c2ce696c8 am 525fb03e: am 58e50f80: am 805d67ab: cutils: sched_policy: Fix bug where we were unable to move backgrounded threads into the foreground
Merge commit '525fb03e18f9b08651e3d8abb262d70c3482b405'

* commit '525fb03e18f9b08651e3d8abb262d70c3482b405':
  cutils: sched_policy: Fix bug where we were unable to move backgrounded threads into the foreground
2009-10-29 20:12:21 -07:00
San Mehat f15b4ef688 am 748cb49e: am cc43ee42: am d2e4e46c: cutils: schedpolicy: Add debug code to log sched policy transitions
Merge commit '748cb49e0049e0f504137a4930ec8502affbb03a'

* commit '748cb49e0049e0f504137a4930ec8502affbb03a':
  cutils: schedpolicy: Add debug code to log sched policy transitions
2009-10-29 20:09:33 -07:00
San Mehat 525fb03e18 am 58e50f80: am 805d67ab: cutils: sched_policy: Fix bug where we were unable to move backgrounded threads into the foreground
Merge commit '58e50f80307577268ecb6b86aa97236e008a9aa0' into eclair-mr2-plus-aosp

* commit '58e50f80307577268ecb6b86aa97236e008a9aa0':
  cutils: sched_policy: Fix bug where we were unable to move backgrounded threads into the foreground
2009-10-29 19:52:46 -07:00
San Mehat 748cb49e00 am cc43ee42: am d2e4e46c: cutils: schedpolicy: Add debug code to log sched policy transitions
Merge commit 'cc43ee42acc3df89f584c670c4287e25808f23b2' into eclair-mr2-plus-aosp

* commit 'cc43ee42acc3df89f584c670c4287e25808f23b2':
  cutils: schedpolicy: Add debug code to log sched policy transitions
2009-10-29 19:52:40 -07:00
San Mehat 805d67ab11 cutils: sched_policy: Fix bug where we were unable to move backgrounded threads into the foreground
Signed-off-by: San Mehat <san@google.com>
2009-10-29 13:56:26 -07:00
San Mehat d2e4e46ce4 cutils: schedpolicy: Add debug code to log sched policy transitions
Signed-off-by: San Mehat <san@google.com>
2009-10-29 11:50:01 -07:00
San Mehat 5f64815d8a am 38b2ddc4: am 17bfbd3c: am c0dfca7a: cutils: Add support for reading a processes scheduler policy
Merge commit '38b2ddc4a7cf1c47397af118a6d466d45f59da04'

* commit '38b2ddc4a7cf1c47397af118a6d466d45f59da04':
  cutils: Add support for reading a processes scheduler policy
2009-10-28 23:50:51 -07:00
San Mehat 38b2ddc4a7 am 17bfbd3c: am c0dfca7a: cutils: Add support for reading a processes scheduler policy
Merge commit '17bfbd3ccbb798aa4068cd59150ce712660a62a4' into eclair-mr2-plus-aosp

* commit '17bfbd3ccbb798aa4068cd59150ce712660a62a4':
  cutils: Add support for reading a processes scheduler policy
2009-10-28 11:52:39 -07:00
San Mehat c0dfca7ae1 cutils: Add support for reading a processes scheduler policy
Signed-off-by: San Mehat <san@google.com>
2009-10-27 12:27:42 -07:00
Ben Cheng 21ec779abe Add stack unwinding directives to atomic-android-arm.S.
For bug 2182296.

Eclair branch Dr. No approved by: hiroshi
2009-10-21 10:47:31 -07:00
Jean-Baptiste Queru 573463c31c am 62f39c10: merge from open-source master
Merge commit '62f39c105af8789fd9308fa6a5b91f0963a7c59b'

* commit '62f39c105af8789fd9308fa6a5b91f0963a7c59b':
  adb: Add "adb disconnect" command for disconnecting TCP/IP devices.
  Add support for Acer devices
  adb: Add USB Vendor IDs for LG and Huawei
  Add NOTICE file and license tag for adb
  adb: Clean up argument passing for create_service_thread()
  Revert "adb: Another attempted workaround for the adb disconnect problem."
  libsysutils: Fix some bugs in NetlinkListener and NetlinkEvent
  added SuperH atomic support to libcutils
2009-10-14 16:12:21 -07:00
Jean-Baptiste Queru 62f39c105a merge from open-source master 2009-10-14 16:02:20 -07:00
Jean-Baptiste Queru b029e92428 merge from open-source master 2009-10-14 08:19:24 -07:00
Ben Cheng afdf977b8d am 22f9d880: am 8a0a5274: Add stack unwinding directives to atomic-android-arm.S.
Merge commit '22f9d880941cf1db87fd19437bce71420eedf8bd'

* commit '22f9d880941cf1db87fd19437bce71420eedf8bd':
  Add stack unwinding directives to atomic-android-arm.S.
2009-10-13 17:06:10 -07:00
Ben Cheng 22f9d88094 am 8a0a5274: Add stack unwinding directives to atomic-android-arm.S.
Merge commit '8a0a5274ff37cbf3acad0199735a05e5fe3b5c9d' into eclair-mr2-plus-aosp

* commit '8a0a5274ff37cbf3acad0199735a05e5fe3b5c9d':
  Add stack unwinding directives to atomic-android-arm.S.
2009-10-13 09:58:49 -07:00
Ben Cheng 8a0a5274ff Add stack unwinding directives to atomic-android-arm.S. 2009-10-12 16:51:23 -07:00
Elliott Hughes 67a2ea3dea Now all the callers are gone, remove adb_networking.*.
(This is the final patch removing adb networking.)

Bug: 1122968
2009-10-02 13:29:47 -07:00
Android Code Review 808c89e120 Merge change 10445
* changes:
  added SuperH atomic support to libcutils
2009-09-17 14:04:33 -07:00
Raphael 554c0f351b am 05647c89: Merge change 25170 into eclair
Merge commit '05647c89ef330c8d3fbc3504ecb5f29db89c84fd' into eclair-plus-aosp

* commit '05647c89ef330c8d3fbc3504ecb5f29db89c84fd':
  Disable sched_policy under Windows.
2009-09-17 08:42:38 -07:00
Raphael 0384a98d6f Disable sched_policy under Windows.
This introduces a new HAVE_SCHED_H arch define, which is used
to prevent from building sched_policy.c during the Windows SDK.

Change-Id: I3667857a4ae7d6baaf1efd1cd187a5baf91419d8
2009-09-15 17:10:17 -07:00
Jean-Baptiste Queru 3e42572835 merge from open-source master 2009-09-15 07:52:20 -07:00
San Mehat 3cd5b66ba0 libcutils: Dont include kernel header + add defines
Signed-off-by: San Mehat <san@google.com>
2009-09-14 16:05:51 -07:00
San Mehat 493dad9663 libcutils: Add abstracted support for setting scheduler policies
Also changes the background policy to use SCHED_BATCH. IDLEPRIO
can cause 100% starvation.

Signed-off-by: San Mehat <san@google.com>
2009-09-12 10:48:03 -07:00
David 'Digit' Turner 833ea8d502 Fix an infinite loop in time2sub.
The problem is that time_t is signed, and the original code relied on the
fact that (X + c < X) in case of overflow for c >= 0. Unfortunately, this
condition is only guaranteed by the standard for unsigned arithmetic, and
the gcc 4.4.0 optimizer did completely remove the corresponding test from
the code. This resulted in a missing boundary check, and an infinite loop.

The problem is solved by testing explicitely for TIME_T_MIN and TIME_T_MAX
in the loop that uses this.

Also fix increment_overflow and long_increment_overflow which were buggy
for exactly the same reasons.

Also remove some compiler warnings.

Note: a similar fix was performed in bionic/libc
2009-09-09 18:32:07 -07:00
Vinay HARUGOP 02608475ed ARM architecture reference manuals for ARMv6 & ARMv7 state that the use of 'swp' instruction is deprecated
ARMv6 onwards. These architectures provide the load-linked, store-conditional pair of ldrex/strex whose use
is recommended in place of 'swp'. Also, the description of the 'swp' instruction in the ARMv6 reference
manual states that the swap operation does not include any memory barrier guarantees.This fix attempts to
address these issues by providing an atomic swap implementation using ldrex/strex under _ARM_HAVE_LDREX_STREX
macro. _ARM_HAVE_LDREX_STREX macro is defined in  cpu-features.h file and patch is submitted under change ID 11088.
This Fix is verified on ST Ericsson's U8500 platform and Submitted on behalf of a third-party:
Surinder-pal SINGH from STMicroelectronics.
2009-09-10 00:34:35 +05:30
Mathias Agopian ca5e0bc3fe android_atomic_write() implementation was using cmpxchg which was useless 2009-09-03 16:31:37 -07:00
Shin-ichiro KAWASAKI c6af9114fc added SuperH atomic support to libcutils 2009-08-04 19:14:22 +09:00
Jean-Baptiste Queru 96d58f4f52 Merge korg/donut into korg/master 2009-07-25 18:07:41 -07:00
Mathias Agopian af20325a45 Merge commit 'goog/master' into merge_master 2009-06-05 15:45:43 -07:00
Android (Google) Code Review baf83e0250 am 3f627205: Merge change 2875 into donut
Merge commit '3f6272056275a00c30c07394d63bbe81cc9c5eba'

* commit '3f6272056275a00c30c07394d63bbe81cc9c5eba':
  Added ashmem_get_size_region() function.
2009-06-02 05:30:08 -07:00
Bjorn Bringert 7be52b1a0e Added ashmem_get_size_region() function.
This is needed by the MemoryFile changes in
https://android-git.corp.google.com/g/2714
where it is used to find out whether a file descriptor
refers to an ashmem region.
2009-06-02 00:55:30 +01:00
Nick Pelly fa5bf90831 Fix bug where ECONNABORTED would have always occured on asocket_write.
Use POLLOUT for writes. Duh.
2009-05-29 16:10:22 -07:00
Nick Pelly 260f48a917 Helper to perform abortable blocking operations on a socket:
asocket_connect()
   asocket_accept()
   asocket_read()
   asocket_write()
 These calls are similar to the regular syscalls, but can be aborted with:
   asocket_abort()

Calling close() on a regular POSIX socket does not abort blocked syscalls on
that socket in other threads.

After calling asocket_abort() the socket cannot be reused.

Call asocket_destory() *after* all threads have finished with the socket to
finish closing the socket and free the asocket structure.

The helper is implemented by setting the socket non-blocking to initiate
syscalls connect(), accept(), read(), write(), then using a blocking poll()
on both the primary socket and a local pipe. This makes the poll() abortable
by writing a byte to the local pipe in asocket_abort().

asocket_create() sets the fd to non-blocking mode. It must not be changed to
blocking mode.

Using asocket will triple the number of file descriptors required per
socket, due to the local pipe. It may be possible to use a global pipe per
process rather than per socket, but we have not been able to come up with a
race-free implementation yet.

All functions except asocket_init() and asocket_destroy() are thread safe.
2009-05-29 16:10:16 -07:00
Mathias Agopian 1edfd382ba Merge commit 'goog/master' into merge_master 2009-05-27 14:25:54 -07:00
Raphael f3cdf37276 Don't compile abort_socket.c for host targets. It is only intended to run on Linux targets. 2009-05-26 13:23:23 -07:00