Commit Graph

226 Commits

Author SHA1 Message Date
Mark Salyzyn 4887842c92 include: cleanup for -Wsystem-header
- warnings as errors, or errors introduced when -Wsystem-header
  was experimentally introduced.

Change-Id: Ia8f5b3c1c1096e191741223d52526aa48c7f1cc4
2014-05-23 15:09:57 -07:00
Colin Cross 617c28b8f2 Merge "Fix list_for_each_safe macro" 2014-05-22 22:27:14 +00:00
Colin Cross 4ecbda41c9 Merge "Add list_add_head to libcutils" 2014-05-22 22:26:43 +00: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
Samuel Ortiz f8a1089ab5 Add list_add_head to libcutils
Adds a node to the head of the linked list.

Change-Id: I03fc81f348c5c4fdab8680928b6e353413e4bc3c
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Yong Yao <yong.yao@intel.com>
2014-05-13 21:37:35 +00:00
Thierry Escande 8cc7427040 Fix list_for_each_safe macro
The second macro parameter is named 'next' like listnode structure
'next' field. Since the precompiler will expand all 'next' occurrences
in the macro definition with what is passed by the caller, it is not
possible to call this macro with something else than 'next' as second
parameter.

This patch replaces the 'next' parameter with 'n' allowing use of a
next node not named 'next'.

Change-Id: I78c859caf8193f21fe0bedaeaa8342d6e89ad14b
Signed-off-by: Thierry Escande <thierry.escande@linux.intel.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2014-05-10 09:31:52 -07: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
Mark Salyzyn a459d0b0e2 cutils: trace 64-bit compile issues
- switch format to PRId64 for int64_t
- switch format to PRId32 for int32_t

Change-Id: I1e66db06810000936d584ed49234550abd96cdff
2014-03-20 13:02:57 -07:00
Alex Ray 157e1b645a libcutils: add method to get klog level
Change-Id: I55e8311bae97703be26e57b415a8ab0a6d9b4361
2014-03-07 13:58:02 -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
Qiming Shi 4bc2f8db0a x86_64: Add atomic funtions
This patch adds atomic functions for x86_64.

Change-Id: I298c760a1e6efa2ce2c61a143f833b6785805442
Signed-off-by: Qiming Shi <qiming.shi@intel.com>
2014-02-11 16:17:39 -08:00
Elliott Hughes e9edf7a0ef LP64 should have debuggerd and debuggerd64.
Change-Id: I4e39c200e6867bb9a5bbcfec1c449b8864028feb
2014-01-31 17:15:10 -08:00
Elliott Hughes 6694d3e3d5 Remove dead code that looked like part of debuggerd.
Note that these were two different functions. The definition was unused,
and the declaration was undefined.

Change-Id: I2edd10a0ab9422cd5252bdb9ccdd726dc5fad531
2014-01-31 10:37:18 -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 d4146e6091 system/core: rename aarch64 target to arm64
Rename aarch64 build targets to arm64.  The gcc toolchain is still
aarch64.

Change-Id: Ia92d8a50824e5329cf00fd6f4f92eae112b7f3a3
2014-01-23 18:01:14 -08:00
Colin Cross 3510637c85 libcutils: fix atomic_memory_store_barrier
dmb isht is not a valid instruction, fix it to be dmb ishst
(data memory barrier, inner shareable, on writes).

Change-Id: I98723ccd8618b7863cb55da53dc29b979c9905a5
2014-01-22 19:04:28 -08:00
Ashok Bhat c15d2ce5fc AArch64: Add atomic functions
This patch adds atomic functions for AArch64. The functions
will be revisited later for potential optimizations using
assembly or otherwise.

This patch also introduces new 64-bit atomic functions for
LP64 platforms.

Change-Id: Id2127dd01cea65025f939e955d73d27e95d8687e
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
2014-01-14 12:45:58 -08:00
jp abgrall 8f4c14f1e7 am 08170103: am 91962669: Merge "cutils: list: add list_for_each_safe"
* commit '0817010366feecb53fc70719b3784dd7c6d66b55':
  cutils: list: add list_for_each_safe
2013-09-25 11:36:02 -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
Jamie Gennis f1921c7949 trace: Add support for tracing 64-bit ints.
Bug: 10624956
Change-Id: Ie1d7c8ac16b5a5ec1e63e4fb1863f5b1ab2b59e8
2013-09-18 19:03:45 +00:00
Andrew Boie 30fb83b6e5 cutils: list: add list_for_each_safe
For when you want to modify the list whilst iterating over it.

Change-Id: I84432892890987c218e56883c35e52c9ff0240a3
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2013-09-12 15:30:40 -07: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
Nick Kralevich f5d79aa4bb Merge "Don't use __attribute__(__error__)" 2013-06-18 20:23:29 +00:00
Nick Kralevich bda25e4ed5 Don't use __attribute__(__error__)
__attribute(__error__) isn't supported on clang, and generates
compiler warnings. Use __errordecl instead, which does the right thing
for different compilers.

Change-Id: Ifb0797a5de703cc5b3c39dcd97bcfaf404f1cafa
2013-06-18 12:14:47 -07:00
Tobias Grosser 9ede33233f Set ATRACE_ENABLE() to '0' if not availble
Change-Id: Iec61d275cd7b2be65f828c282f97cc59adf4cc0b
2013-06-17 18:38:02 -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 e44c6b7183 Merge "property_get: do argument checking." 2013-05-24 21:36:30 +00:00
Nick Kralevich 1c743de2bd Merge "properties.h: avoid duplicating constant values" 2013-05-24 21:36:22 +00:00
Tim Murray d8b11c1ddd Add ATRACE_TAG_RS.
Change-Id: Iaff497a1cb04a797441b5bb47b30ad6f09db8e95
2013-05-23 13:46:12 -07:00
Nick Kralevich 0e54ec825e property_get: do argument checking.
Try to verify, at compile time, that the supplied
value buffer is large enough.

Change-Id: I91fa560d3ceff87609194269356ac634bdbf2ede
2013-05-23 11:05:16 -07:00
Nick Kralevich 53df3ade9b properties.h: avoid duplicating constant values
Use the constant value from sys/system_properties.h,
rather than having two copies of this constant in two
different places.

This partially addresses the TODO in the header file.

Change-Id: Ic0b098cb8caf562ed2a25a0cf8cd412ba2e06884
2013-05-23 11:05:16 -07:00
Jamie Gennis a0e780edd3 am 6e46a3b8: am a1ee12ca: Merge "libcutils: add a trace tag for Dalvik" into jb-mr2-dev
* commit '6e46a3b8e64a7a2ca4754ed7b1f9922719bd0a9b':
  libcutils: add a trace tag for Dalvik
2013-05-08 15:03:54 -07:00
Jamie Gennis 2b68e0675b libcutils: add a trace tag for Dalvik
This change adds a trace tag bit for Dalvik.  It also allows the ATRACE_*
macros to be called from code compiled for the host with no effect.

Bug: 8856374
Change-Id: I9c17129d6cc170cae00b6500485b5b5fa4b5e647
2013-05-07 15:19:34 -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 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
Jamie Gennis dcbe6b4b17 am b7b2c71b: am 25538257: Merge "cutils: add a way to disable tracing for a process" into jb-mr2-dev
* commit 'b7b2c71bf8bf685af4c716e78d5c70decab98b54':
  cutils: add a way to disable tracing for a process
2013-04-16 15:21:50 -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 cb1300a255 am 3b051178: am 774814d1: Merge "klog: Have klog_write() call klog_init() if needed" into jb-mr2-dev
* commit '3b0511788c86968860a682b6652c26c4415fa222':
  klog: Have klog_write() call klog_init() if needed
2013-04-15 10:38:50 -07:00
Ken Sumrall 774814d194 Merge "klog: Have klog_write() call klog_init() if needed" into jb-mr2-dev 2013-04-15 17:33:27 +00:00
Dianne Hackborn 9bd89925ef am c08b50df: am 24bc41b7: Add new resources trace.
* commit 'c08b50dfc68504b692c13194e86d33328d373019':
  Add new resources trace.
2013-04-12 17:03:06 -07:00
Dianne Hackborn 24bc41b78c Add new resources trace.
Change-Id: I63398f282fe7bf04f1c4cefa8f602100f403fa7c
2013-04-12 14:51:43 -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
Elliott Hughes e5f8a692e4 Modify debuggerd to cope with the abort message.
(cherry picked from commit 707b8bbe18)

Bug: 8531731
Change-Id: I2785a07ef83e085f338d3094f9972de23117807c
2013-04-05 15:59:17 -07:00
Elliott Hughes 879d21ebc3 am 8a4ae0a8: resolved conflicts for merge of f79c0518 to jb-mr2-dev-plus-aosp
* commit '8a4ae0a873862ea0a4764cd3492467843485f1e5':
  Modify debuggerd to cope with the abort message.
2013-04-05 14:36:51 -07:00
Elliott Hughes 8a4ae0a873 resolved conflicts for merge of f79c0518 to jb-mr2-dev-plus-aosp
Change-Id: I106a2aa7ec393a68e51132bf277b22bece155a8e
2013-04-05 13:46:55 -07:00
Elliott Hughes 707b8bbe18 Modify debuggerd to cope with the abort message.
Bug: 8531731
Change-Id: I416ec1da38a8a1b0d0a582ccd7c8aaa681ed4a29
2013-04-04 13:52:01 -07:00
Jamie Gennis 15311e0830 am 38e1bb86: am 774f9299: libcutils: add support for app tracing
* commit '38e1bb8617ee6b7913b9b7b7c40e43338ea5c947':
  libcutils: add support for app tracing
2013-03-28 14:04:50 -07: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
Ian Rogers 63c939aadc am da204c5c: am 62980e81: Inline ldrex/strex for thumb2, remove ARMv5 remnants.
* commit 'da204c5c4244ea67aacbd29c222d0a2d1c35b443':
  Inline ldrex/strex for thumb2, remove ARMv5 remnants.
2013-03-21 21:41:49 +00:00