Commit Graph

1046 Commits

Author SHA1 Message Date
Colin Cross 810d19f99a log: add compile-time checking when ALOGV is disabled
Wrap the call in a if (0) when verbose logging is disabled
to provide compile time checking.

Also add a printf format attribute to the function to warn
if parameters are incorrect.

Change-Id: Ic77edeadcc4d886ca0f8b434f8550e18e22d5901
2014-02-09 21:59:24 -08:00
Elliott Hughes 5c4020005b Revert "Move to the canonical UniquePtr.h."
This reverts commit 2a72c575d2.

Change-Id: Idb485f1be2906e8c1c8f0da3df186a7aade027f6
2014-02-04 23:41:22 +00:00
Elliott Hughes 2a72c575d2 Move to the canonical UniquePtr.h.
Change-Id: I5330c36d2b571acb6d3debd30b8020e33aa8a4a7
2014-02-04 11:58:51 -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
Pavel Chupin c6c194ced0 LP64: Enable debuggerd/libbacktrace/libunwind.
Change-Id: I2e432839f86c33c2adbaac8cc12ca8961956044b
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2014-01-30 17:15:24 -08:00
Christopher Ferris d391c9b4ac Merge "Re-enable libunwind for arm." 2014-01-28 21:23:50 +00:00
Christopher Ferris df2906186b Re-enable libunwind for arm.
Update to handle the new optimized way that libunwind works.

In addition, a small refactor of the BacktraceMap code.

A few new tests of for good measure.

Change-Id: I2f9b4f5ad5a0dfe907b31febee76e4b9b94fb76f
2014-01-28 12:03:36 -08:00
Mark Salyzyn 44b99c22af libsysutils: SocketListener export release
* Foreground thread (legacy) closes connection by
  reporting false return value for onDataAvailable.
* Background thread can choose instead to close the
  connection asynchronously by calling release, must
  return true for the onDataAvailable method.

(cherry picked from commit d7ad4e409e)

Change-Id: I70ab37d5c22b02804aa3b4dfb26cc9b75291f8b6
2014-01-27 15:22:49 -08:00
Mark Salyzyn 23f04107dc libsysutils: Add iovec/runOnEachSocket
SocketClient:
* Replace sendDataLocked with sendDataLockedv which takes an iovec.
* Add a version of sendData, sendDatav, which takes an iovec.
* do not preserve iovec content through sendDatav

SocketListener:
* Add runOnEachSocket, which allows to to specify a SocketClientCommand to
  run individually on each socket. This allows you to do broadcast-like
  actions customized for each individual socket.
* Client safe list reference counting for sendBroadcast & runOnEach Socket

(cherry picked from commit a6e965578e)

Signed-off-by: Nick Kralevich <nnk@google.com>
Signed-off-by: Mark Salyzyn <salyzyn@google.com>

Change-Id: I716f89c01b4cb7af900045c7e41fac1492defb06
2014-01-27 15:22:04 -08:00
Mark Salyzyn 318bb72601 liblog: Add const pedantics
(cherry picked from commit 9e03ce45f9)

Change-Id: I819695b778ac08fcfc9b1a87f3f86e5715f53084
2014-01-27 15:19:53 -08:00
Mark Salyzyn 819c58a8ca liblog: Add liblog test suite
(cherry picked from commit 8d1fdb5093)

Change-Id: Ia457d518b4e7ff37e840336ff0c48583709700d4
2014-01-27 15:17:39 -08:00
Mark Salyzyn 1345f38e44 liblog: deprecate export LOGGER ioctl definitions
(cherry picked from commit 2e44a9ea25)

Change-Id: I150cad9309255bec2b8bc7230c744e9bbb1b9578
2014-01-27 15:16:43 -08:00
Mark Salyzyn e9c4196980 liblog: deprecate export of LOGGER_LOG_* defines
(cherry picked from commit 73459a5c87)

Change-Id: I263af8e889f8f2ad91b91757caf90a4d17823dab
2014-01-27 15:16:04 -08:00
Mark Salyzyn 168021c282 liblog: resolve build warning messages
(cherry picked from commit 153b370624)

Change-Id: Icc6f1f2c926a008efc4df71022cfde8d0e285880
2014-01-27 15:15:05 -08:00
Mark Salyzyn f387fa5df0 liblog: drop use of sys/cdefs.h
(cherry picked from commit c96a44888a)

Change-Id: I44ea5d6b572e3712c301e6ebf4b34e6225d7e18b
2014-01-27 15:13:17 -08:00
Mark Salyzyn 4295841ebe liblog: Interface to support abstracting log read
(cherry picked from commit 6c1b07fbbd)

Change-Id: Iedc55c1316029b4bb72f51cc656b53b0e3f90aee
2014-01-27 15:10:39 -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
Christopher Ferris 0dbce4564b Add PROT_* constants not found on windows.
Change-Id: Ic515363ed66dfb2d8e1a6fdfa274508b3a91311d
2014-01-17 08:25:26 -08:00
Christopher Ferris 46756821c4 Rewrite libbacktrace to be all C++.
This includes removing the map_info.c source and replacing it with the
BacktraceMap class to handle all map related code.

Change all callers of libbacktrace map functionality.

Also modify the corkscrew thread code so that it doesn't need to build
the map twice (once in the corkscrew format and once in the libbacktrace
format).

Change-Id: I32865a39f83a3dd6f958fc03c2759ba47d12382e
2014-01-16 16:12:29 -08:00
Elliott Hughes d47ffb8890 Merge "AArch64: Add atomic functions" 2014-01-14 23:32:22 +00: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
Christopher Ferris 20303f856f Next phase of the move, reformat use C++ features.
Use the libbacktrace C++ interface instead of the C interface in debuggerd.

Reformat the debuggerd code to be closer to Google C++ style.

Fix all debuggerd casts to be C++ casts.

Add a frame number to the frame data structure for ease of formatting and
add another FormatFrameData function.

Change the format_test to use the new FormatFrameData function.

Modify all of the backtrace_test to use the C++ interface.

Change-Id: I10e1610861acf7f4a3ad53276b74971cfbfda464
2014-01-13 14:21:52 -08:00
Christopher Ferris bc12d6329e Move BACKTRACE_NO_TID to BACKTRACE_CURRENT_THREAD.
Use a bit better name for this. The other name was a bit confusing.

Change-Id: I1261f2ee3854a9c8b82133ad0bfbbbe48b43c9ac

(cherry picked from commit 242b1a8c7a)

Conflicts:
	libbacktrace/Backtrace.cpp
2014-01-09 15:49:39 -08:00
Christopher Ferris 038ac694b3 Move CallStack to libbacktrace.
Fix a small bug in the Printer for strings that didn't properly
prepend the prefix.

(cherry picked from commit 9b0e074c6d)

Change-Id: I78bfa3f76864c34f33fb439bf20dfc85616f1077
2014-01-09 15:09:13 -08:00
Christopher Ferris 9846497f79 Refactor to share map_info amongst threads.
Allow the use of the same map info to be shared when getting information on
multiple threads from the same pid.

Change-Id: I2e460e20154a10f4894ae563331fb32179e4551f
2014-01-08 15:32:28 -08:00
Rom Lemarchand ddc20de148 move sync headers from include to libsync
Make sw_sync.h private

Change-Id: I0b120ebe81fd4a191b7aa4b6a8de4f64d16e2b3e
2014-01-03 21:27:05 +00:00
Colin Cross cd8b953ede Merge changes I2d3fef08,Idb828aa4,Ica764b1f,I9ae8887b,I376fad86,I4d00a9dd
* changes:
  libion: update to latest uapi header
  libion: return -errno from ion_close
  libion: add include for size_t
  libion: add NULL checks
  libion: clean up whitespace
  libion: move ion.h into local include directory
2013-12-19 21:49:48 +00:00
Colin Cross dfe747ada3 Merge "ion: update struct and type definitions to match kernel header" 2013-12-19 21:18:51 +00:00
Brian Carlstrom 1693d7e48f Make libutils Looper independent of frameworks/native
Change-Id: I1dacca10a3cd7601abc3451b69ed761bf71c38fe
2013-12-18 22:32:13 -08:00
Rom Lemarchand 969eac8161 ion: update struct and type definitions to match kernel header
- Replacing struct ion_handle * with ion_user_handle_t
- Replacing heap_mask field name with heap_id_mask

Change-Id: Iaba1ccc62b9398a7b37c5a734bc21a9ecbbc8277
2013-12-18 18:24:50 -08:00
Colin Cross 03c932dffa libion: move ion.h into local include directory
Export it to users of libion with LOCAL_C_EXPORT_INCLUDE_DIRS

Change-Id: I4d00a9dd2e99953723994d0304ca77e0ad50a3a9
2013-12-18 18:24:50 -08:00
Elliott Hughes 532f465823 Merge "AArch64: Correction of struct surface_t" 2013-12-16 19:50:17 +00:00
Elliott Hughes fd7eabe442 Merge "Pixelflinger: Add AArch64 support to pixelflinger JIT." 2013-12-16 19:42:55 +00:00
Elliott Hughes e1a475c0b4 Merge "Force alignment of data buffer used to process netlink messages" 2013-12-14 00:13:32 +00:00
Narayan Kamath 00a258cec7 Fix ExtractEntryToFile.
We would always write uncompressed data at offset 0 instead
of the current filedescriptor offset.

Also adds a unit-test & a clarifying comment on the API.

Change-Id: If44757e96dde504ce63d81b4dec7115fc6f6d5fb
2013-12-13 17:56:57 +00:00
Ashok Bhat 658f89dc5c Pixelflinger: Add AArch64 support to pixelflinger JIT.
See the comment-block at the top of Aarch64Assembler.cpp
for overview on how AArch64 support has been implemented

In addition, this commit contains
[x] AArch64 inline asm versions of gglmul series of
    functions and a new unit test bench to test the
    functions

[x] Assembly implementations of scanline_col32cb16blend
    and scanline_t32cb16blend for AArch64, with unit
    test bench

Change-Id: I915cded9e1d39d9a2a70bf8a0394b8a0064d1eb4
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
2013-12-12 17:30:13 +00:00
Ashok Bhat d10afb1748 Pixelflinger: Fix issue of pointers being stored in ints
Pixelflinger's code makes assumptions, at certain places,
that pointers can be stored as ints. This patch makes use
of uintptr_t wherever pointers are stored as int or cast
to int.

Change-Id: Ie76f425cbc82ac038a747f77a95bd31774f4a8e8
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
2013-12-12 17:30:13 +00:00
Marcus Oakland 6053564160 AArch64: Correction of struct surface_t
The struct in the union with GGLSurface in struct surface_t assumed
that the reserved field, which corresponds to the GGLsizei version
field in the GGLSurface structure (where GGLsizei is define as being
ssize_t in the system/core/include/pixelflinger/pixelflinger.h header
file) is uint32_t. That is appropriate to the 32-bit system but is
not appropriate to the 64-bit system, where ssize_t is 64-bits rather
than 32-bits.

The 32-bit system has also been tested and has no regression
because of this change.

Change-Id: I5cd84fd4a18fa0e63e27975f7b3d3e95b99cea58
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
2013-12-10 18:13:26 +00:00
Narayan Kamath 48a6d3de59 am ac3ab308: Merge "Fix Mac OS build for libziparchive."
* commit 'ac3ab308f657f70e2747734d5ff2158aa943b25e':
  Fix Mac OS build for libziparchive.
2013-12-06 10:32:07 -08:00
Narayan Kamath 574c3b35df Fix Mac OS build for libziparchive.
BSD off_t are implicitly 64 bit so the platform
doesn't define off64_t.

Change-Id: I51cbe94ead01d2d6bc7c5010d9472487bee7c2d3
2013-12-06 18:27:53 +00:00
Narayan Kamath 51a1d4e3f6 am a2125077: Merge "Unify zipfile implementations : Step 1."
* commit 'a2125077e104941f797f93fbe6bfad22ef60a1d8':
  Unify zipfile implementations : Step 1.
2013-12-06 05:37:39 -08:00
The Android Open Source Project 7fc7a07b23 Merge commit '252d9030cd4b2e3e6cf13fa33f328eccedb5e26c' into HEAD 2013-12-05 12:38:34 -08:00
Narayan Kamath 7462f02f82 Unify zipfile implementations : Step 1.
Extract zip file processing logic from libdvm into a
standalone library.

This library is a stricter than the libdvm library in
several ways:
- Duplicate zip entry names are now disallowed. Files with
  such entries will fail to parse.
- We now verify CD file size information with the individual
  file header information. (This was pointed out as a deficiency
  of this implementation in past discussions.)
- We also add support for crc checking, which means we might
  need to parse the optional data descriptor footer (if one
  exists).

We also provide an API for iterating over the entries of
a zip file. This library is optimized for two use cases :

- Lookup for a single entry in the file, with the intention
  of processing or extracting the data associated with that
  entry
- Iterating over all entries in a file *and* processing
  / extracting their data.

Change-Id: Ia87de6184ef753cc470b0af755c47a4f92ac8198
2013-12-04 13:28:40 +00:00
The Android Open Source Project 66ed50af68 Merge commit '536dea9d61a032e64bbe584a97463c6638ead009' into HEAD
Change-Id: I5c469a4b738629d99d721cad7ded02d6c35f56d5
2013-11-22 13:44:43 -08:00
Elliott Hughes f98e4bf7fb Fix build.
Change-Id: I6552bf9f83faa97bd5a844381aceb3ef85f86c76
2013-11-21 22:09:46 -08:00
Lorenzo Colitti c7eec83f08 Support parsing RDNSS ND options from netlink.
The RDNSS options (RFC 6106) used to configure DNS servers via
router advertisements are passed from the kernel to userspace via
RTM_NEWNDUSEROPT netlink messages. Add code to NetlinkEvent to
parse them.

Also fix a compiler warning and a couple of style issues.

[Cherry-pick of b185e90dcc]

Bug: 9180552
Change-Id: I6c532c8f0ceef3afdc977a431a036df398013e1a
2013-11-20 10:31:19 +09:00
Lorenzo Colitti 526b838c9d Switch back to subsystem "net" for netlink events.
The change to enable address tracking via netlink incorrectly
changed the subsystem of rtnetlink events from "net" to
"interface". This broke interface add/delete notifications,
which come from the kernel with subsystem "net".

Switch back to "net" and deal with address tracking via new
action codes instead of a new subsystem.

[Cherry-pick of f34861346d]

Bug: 10433320
Change-Id: Ibf30efb426949dfd02304cc1d9adb1c005a539a6
2013-11-20 10:29:42 +09:00