Commit Graph

44 Commits

Author SHA1 Message Date
Mark Salyzyn 7ef5249afa liblog: suppress pmsg on user builds
- add optimized & cached LIBLOG_HIDDEN __android_log_is_debuggable()
- check when writing, either LOG_ID_SECURITY, SafetyNet or
  debuggable when pushing content to the pmsg buffer.

Bug: 27566046
Change-Id: I85f1b55ec329b38e00f4183836b6ed53046c323d
2016-03-29 13:52:21 -07:00
Mark Salyzyn 018a96d03f liblog: split out transports into separate files
Create config_logger, logger and logger_read to house the log
interfaces. Add fake_logger, logd_logger and pmsg_logger to
house the write and read transports. Allows for an easier and
direct path to add new transports to the library.

SideEffects: None, logger benchmark performance unaffected

Bug: 27176738
Bug: 27405083
Change-Id: I01b38637334a5242905c8c89f6ab0a92e2540008
2016-03-22 13:01:15 -07:00
Mark Salyzyn be1d3c21b5 liblog: audit declare LIBLOG_ABI_PUBLIC
- replace <sys/cdefs.h> with local "log_cdefs.h" which
  fortifies and expands definitions, adding LIBLOG_ABI_PUBLIC,
  LIBLOG_HIDDEN, LIBLOG_ABI_PRIVATE and LIBLOG_WEAK.
- clearly tag each interface as LIBLOG_ABI_PUBLIC, LIBLOG_HIDDEN,
  LIBLOG_ABI_PRIVATE, LIBLOG_WEAK or static depending on scope
- Add -fvisibility=hidden to ensure nothing else leaks
- some code standard adjustments

Bug: 27566046
Change-Id: Ic14033c4e6d833d973beb035ddc1c6134fb35a3f
2016-03-10 13:49:38 -08:00
Mark Salyzyn 81f407be36 liblog: __android_log_error_write use event list library
Switch to the event list library to compose the associated event.

SideEffects: Instead of composing event on a stack buffer of 512
             bytes in size, a PAGE is allocated temporarily.

Bug: 27356456
Change-Id: Ic15a87f49385834c2287ed82c26439b2c5eb4f77
2016-02-25 12:29:32 -08:00
Mark Salyzyn bd1ad049b2 liblog: event log list logging handler
Based off an initial request and effort by williamluh@google.com

- Added the following functions:

* Composing and Writing:

android_log_context create_android_logger(uint32_t tag)

int android_log_write_list_begin(android_log_context ctx)
int android_log_write_list_end(android_log_context ctx)

int android_log_write_int32(android_log_context ctx, int32_t value)
int android_log_write_int64(android_log_context ctx, int64_t value)
int android_log_write_string8(android_log_context ctx, const char *value)
int android_log_write_float32(android_log_context ctx, float value)

int android_log_write_list(android_log_context ctx, log_id_t id)

* Reading and Interpreting:

android_log_context create_android_log_parser(const char *msg, size_t len)

android_log_list_element android_log_read_next(android_log_context ctx)
android_log_list_element android_log_peek_next(android_log_context ctx)

* Destroy context used above:

int android_log_destroy(android_log_context *ctx);

- Added unit gTests

We moved implemented android_log_buffer_to_string() to the test since
it is an alternate for already existing logprint functionality.
Please move into liblog should it be of some common use, otherwise
as is it is a good means of stessing the reading and interpreting
handlers.

Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Bug: 19235719
Change-Id: I4aa1927e8e6a75f0a129d15a27c891cf1ccd4f5c
2016-02-22 16:04:41 -08:00
Mark Salyzyn 0ee8de3c2d Revert "logd: liblog: whitelist "snet_event_log""
Callers will not guarantee that they can or will ratelimit, we need to
retain the ability to blacklist snet_event_log as a result.

This reverts commit 6aa21b225d.

Bug: 26178938
Change-Id: Ibf47d2e23a84c56f5f72d02312c698df7ff2b601
2016-01-06 21:19:23 +00:00
Mark Salyzyn 6aa21b225d logd: liblog: whitelist "snet_event_log"
Dangerous bridge to cross to whitelist, who is special, who is not?
Rationalized as these events are used to catch exploits on platform.
As it stands no one should be allowed to block any messages in the
security context, not even for development purposes.

Bug: 26178938
Change-Id: Ibdc76bc0fe29ba05be168b623af1c9f41d7edbd2
2015-12-30 10:07:19 -08:00
Dmitriy Ivanov 58558a59c9 Fix bug number for linker related workarounds
Bug: http:/b/24425865
Change-Id: I87e1af3cf39b5234647ecbbd5844c9d88eeb9200
2015-09-28 10:40:35 -07:00
Stephen Hines b0e4f08226 Ensure that libbase and liblog can be built for Windows.
Change-Id: If4adf1e2bd7ec36a7f02ae2e263d2db5187c6e7b
2015-09-11 11:39:16 -07:00
Dan Willemsen 87a419c8b1 Remove USE_MINGW/CYGWIN; Whitelist windows modules
CYGWIN is not supported, USE_MINGW and HOST_OS==windows are being
replaced with LOCAL_..._windows variables.

Bug: 23566667
Change-Id: I3e4a1e4097dc994cf5abdce6939e83a91758fd75
2015-09-02 17:10:35 -07:00
William Luh 964428c0a6 Add macro to call event logger for errors.
Bug:23180694
Change-Id: I566a290334345f48013029534efef3e08e726e40
2015-08-26 15:59:06 -07:00
Mark Salyzyn 514243d5bd liblog: deprecate TARGET_USES_LOGD
This is not the kernel logger you are loiking for

Bug: 22787659
Change-Id: Id65ed2e8e7ffe4b2be1bdeed65fa8db23bd66b51
2015-07-28 09:37:07 -07:00
Evgenii Stepanov c744ef5547 Fix SANITIZE_TARGET build of liblog.
* liblog does not use STL, don't link it.
* ASan runtime library depends on liblog, hence liblog can never be
  sanitized.

Bug: 21785137
Change-Id: I1e97378c61d4d18d740287f5f0881427aa7cc227
2015-06-12 14:18:33 -07:00
Dmitriy Ivanov fd8afe6f31 Switch liblog.so to hash-style=both
Bug: http://b/19059885
Change-Id: I7cde911f11b09c3a13553154aca6e291bb91befb
2015-05-08 14:09:24 -07:00
Dmitriy Ivanov 28a3b7cae0 Switch liblog to sysv-only hash style
Bug: 19059885
Change-Id: I5519a4e19716303692d4117bc24988f21d5a829e
2015-03-13 12:51:02 -07:00
Goran Jakovljevic 3947d5da3f Generate gnu hash for arm only
Fixes mips build failure caused by:
https://android-review.googlesource.com/#/c/139580/

As previously discussed [1], MIPS does not support GNU-style ELF hashes.

[1] https://android-review.googlesource.com/#/c/49282/2/tests/Android.mk

Change-Id: I757fef1d47663da3e414f5771dfc580ea7aa3732
2015-03-10 09:47:23 -07:00
Dmitriy Ivanov 692c0e41e1 Generate sysv hash for liblog
Bug: 19059885
Change-Id: I6fff4372504e3ca0d870c5cafe6f19d412787923
2015-03-09 18:30:54 -07:00
Mark Salyzyn 1b79369877 liblog: build cleanup
- Drop CYGWIN build checking
- Hard code the "liblog" event tag
- Drop use of internal WITH_MINGW

Change-Id: I7b63bd7fa4471f340f356b477a0e5e25fe83a851
2015-03-05 11:10:00 -08:00
Mark Salyzyn 31dd00fcf5 liblog: logprint use <endian.h> part three
Fix host/sdk builds:
- Drop logprint from list of host products
- Drop <endian.h> for FAKE_LOG_DEVICE

Change-Id: I8aa854413ff6d809f0b04987cf913eb228e4213c
2015-03-04 17:40:04 -08:00
Mark Salyzyn d45d36e011 liblog: Instrument logging of logd write drops
- If logger system is prostrated, send an event message with the
  liblog tag from the associated UID and PID with a count of
  dropped messages once logging is resumed.
- Added to the README a description of the error return values.
- Describe in the README the appropriate mitigations for dropped
  messages.
- If the caller sees this message, then
  /proc/sys/net/unix/max_dgram_qlen is likely too small

Change-Id: Iaf387b9e5e1b6aa93bebc7481f9e8353732e3229
2015-03-04 13:21:41 -08:00
Mark Salyzyn 956870518e liblog: add __android_log_is_loggable()
- Add new liblog API __android_log_is_loggable(prio, tag, def)
- future plan to integrate this into the runtime checks and into
  the logd daemon for filtration. Inert for now.

Bug: 17760225
Change-Id: I16395b4d42acc08f0209f55a1cbf87b0b2112898
2015-02-09 22:12:59 +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
Ian Rogers 59ec765382 Host multilib build of both 32-bit and 64-bit libraries.
Change-Id: I54f91f385b109fc664a1a1f9320affb2a846fef1
2014-06-05 15:26:22 -07:00
Mark Salyzyn a04464adaf liblog: set -Werror
- Deal with some -Wunused issues
- Cleanup UNUSED to __unused transition

Change-Id: Icd33808d4c974625f4fd0a126a90a2b4c90c8314
2014-05-07 16:56:21 -07:00
Ying Wang 9f437d7181 Remove unused LOCAL_LDLIBS.
Change-Id: I42aeb7668183e7a06207ee063f6eee4d37d66c6e
2014-05-07 15:36:05 -07:00
Mark Salyzyn 1c95047939 logd: liblog: logcat: enable prune features for user
- Enable whitelist, blacklist and logsize tuneables for user

Change-Id: Id0c283844c71c5263a8cfbebf2e550f7ac415858
2014-04-02 13:12:04 -07:00
Christopher Tate 5a6b8d15ea Fix build some more
Missed one.

(cherry picked from commit f7f080ce62)

Change-Id: I33bf8bcc651330b9bc434da02c47c29bc0d54369
2014-03-15 14:16:26 -07:00
Christopher Tate dc507769b5 Fix the build
(cherry-picked from commit 296dc44637)

Change-Id: I924f4796fbb70a0f45cc23a852e26e634c5b0e0e
2014-03-15 13:57:34 -07:00
Mark Salyzyn c0626fdcaf liblog: Build Breakage in sdk(linux)
- Build Breakage in branch: aosp-idea133 @ 1072786

Change-Id: I36da253b69a66977ec568a5f96d38b970c25fe3e
2014-03-14 12:05:57 -07:00
Mark Salyzyn fa3716b250 logd: liblog: logcat: Arbitrary time to tail
Change-Id: I10e8d92c933e31ee11e78d2d1114261a30c4be0e
2014-03-14 10:23:51 -07:00
Mark Salyzyn dfa7a07f5b logd: liblog: logcat: Add LogWhiteBlackList
- liblog android_logger_get_log_size and android_logger_get_readable_size
  adjusted to return long instead of int because of -G flag extending range

NB: ifdef'd only for userdebug and eng builds

- liblog Add android_logger_[sg]et_prune_list and android_logger_set_log_size
- logcat Add -P, -p and -G flags
- logd Add LogWhiteBlackList and configurable log size

(cherry picked from commit 18a5432158)

Change-Id: I1572338c1b34bd968ad7867857ef708156ec3b6a
2014-03-13 14:48:07 -07:00
Mark Salyzyn 99ff9469c5 logd: default user space logger
Change-Id: I16825c26f098241376d4014f3a8e93174387dbcf
2014-03-12 13:17:57 -07:00
Mark Salyzyn 154f4608aa liblog: enable logging to logd.
* Modify liblog to send all messages to the new syslog user
  space daemon.

Original-Change-Id: I0ce439738cd921efb2db4c1d6a289a96bdbc8bc2
Original-Change-Id: If4eb0d09409f7e9be3eb4bb7017073dc7e931ab4
Signed-off-by: Nick Kralevich <nnk@google.com>

* Add a TARGET_USES_LOGD make flag for BoardConfig.mk to manage
  whether logd is enabled for use or not.
* rename syslog to logd to avert confusion with bionic syslog
* Add fake log support back in
* prefilter for logging messages from logd
* Fill in timestamps at logging source
* update abstract log reader
* switch from using suffix for id to v3 format
* log a message when creating devices that a deprecated interface
  is being utilized.

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

(cherry pick from commit 099e2c1f6f706a8600c1cef74cce9066fc315480)

Change-Id: I47929a5432977a1d7235267a435cec0a7d6bd440
2014-02-28 13:49:11 -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
Colin Cross 11aa6ee98c liblog: fix build again
log_read.c has to be in the target sources on all platforms, but
never needs to be in the host sources.

(cherry picked from commit 3c37fae4a4)

Change-Id: Ie0829f3f1daf16d151c401653dbef603b1c2f59d
2014-01-27 15:13:49 -08:00
Mark Salyzyn 015c8e76ca liblog: git_master@964770 build problem
- darwin does not get log reader

(cherry picked from commit 5feea68908)

Change-Id: I64eb69a6099a88d2acf501de725c35741fd7e551
2014-01-27 15:12:15 -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
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
Elliott Hughes f82e741163 Make a liblog.so for the host too.
Change-Id: I0317bb3b80c6555bcb1ff9f2238f32be5f7adedb

Conflicts:

	liblog/Android.mk
2012-05-03 16:04:57 -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
Jeff Brown 29e1e7393d Remove the simulator target from all makefiles.
Bug: 5010576

Change-Id: I2fcf31af681d92880e5d31a46d5f6777f7ca1977
2011-07-11 22:12:32 -07:00
The Android Open Source Project dd7bc3319d auto import from //depot/cupcake/@135843 2009-03-03 19:32:55 -08:00
The Android Open Source Project e54eebbf1a auto import from //depot/cupcake/@135843 2009-03-03 18:29:04 -08:00
The Android Open Source Project 4f6e8d7a00 Initial Contribution 2008-10-21 07:00:00 -07:00