Commit graph

126 commits

Author SHA1 Message Date
Mark Salyzyn
31f7df5fd1 liblog: reject empty logging messages
A regression after "liblog: Instrument logging of logd write drops"
where an empty payload would result in an insufficient iovec to
report the write drop.

Change-Id: Iffabcfbb0680898d7a42004700e638e9d940ff5f
2015-03-18 23:43:42 +00: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
Elliott Hughes
02ff4b8feb Fix __android_log_assert to abort.
If you rely on __builtin_trap, it's likely to use an illegal instruction,
which is a misleading way to abort. If we just call abort, it's more
immediately obvious that we've aborted.

Bug: 19644330
Change-Id: I63a962e4748aec7b019ea94b007593e478a3b61a
2015-03-07 11:21:37 -08:00
Mark Salyzyn
8470dad24f Revert "liblog: logprint use <endian.h>"
This reverts commit 66bfc5ccbd.

Bug: 19634248
Change-Id: I7c4851a247042193674f226fd0d5c5663e8074c7
2015-03-06 20:46:31 +00: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
051222c243 Merge changes I12d6aa4e,I9e802113,I2b30e0fc,Iaf387b9e
* changes:
  logcat: remove dead label code
  logcat: do not stop on unexpected log ID
  Revert "logd: Add minimum time bucket statistics"
  liblog: Instrument logging of logd write drops
2015-03-05 01:12:06 +00:00
Mark Salyzyn
f8d62a0107 liblog: logprint use <endian.h> part deux
Change-Id: I042194d0f5ec444dd192ee9da50d6b48d556f8ac
2015-03-04 16:20:50 -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
66bfc5ccbd liblog: logprint use <endian.h>
Change-Id: I0ec0fe3e954f6f04964d58e57c817d28057b630b
2015-03-04 12:48:04 -08:00
Mark Salyzyn
6eef417119 liblog: add pstore read
Used to pull the Android log messages after a reboot. Adding
an ANDROID_LOG_PSTORE flag to the mode parameter in calls to
android_logger_list_alloc() and android_logger_list_alloc_time().
The side effects are that android_logger_clear() and
android_logger_list_read() will react with the user space
pstore driver. Forms a companion to the pstore console logs.

Change-Id: I7bb07b87b3bf73f059a21af3f810af37c7715b6d
2015-02-26 06:37:35 -08:00
Mark Salyzyn
2d3f38a6b8 liblog: introduce ANDROID_LOG_* flags
Move away from using POSIX open(2) flags and introduce ANDROID_LOG_* flags to
replace them. Add security by preventing random mode flags from getting into
underlying POSIX calls. ANDROID_LOG_* flags overlap POSIX O_* flag definitions.

Change-Id: Ib32bb64c287e8bf150be62242e1ba46bb37839fc
2015-02-25 17:44:18 +00:00
Mark Salyzyn
53016d8949 liblog: test: ARM64: Enable 32 and 64-bit liblog_benchmark
- Enable build for 32 and 64 bit benchmark executables
- Fix some cosmetics issues in logd_write.c

Change-Id: I544446e5116607d7fec89171135f6e1eff6aebd8
2015-02-10 18:15:51 +00: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
Yabin Cui
4a6e5a3b64 Kill HAVE_PTHREADS.
Bug: 19083585
Change-Id: Ic09eb3dd250bc5c5b63cac7998f99f5fa007f407
2015-01-27 14:23:22 -08:00
Mark Salyzyn
d91ab5815d liblog: add pstore write
Used to push the Android log messages into pstore
(when available, and no propagation of error).

Change-Id: I9def8cf796d35d347f502d9745d5f42ec1200253
2015-01-23 23:33:31 +00:00
Mark Salyzyn
7a80940121 liblog: use private/android_logger.h
- fix a latent issue with retransmitting on failure.

Change-Id: I2d0e5c3531c279f2dc1fbd74807210ff8d804de1
2015-01-23 23:32:50 +00:00
Mark Salyzyn
e2428429e0 liblog: logcat color output corrupted on 32-bit
sizeof(suffixBuf), not sizeof(suffixLen)!

Change-Id: I6e085089237585bb8b406372639b644556747699
2015-01-22 10:00:04 -08:00
Mark Salyzyn
decd92945f liblog: Add log_time += operator
Change-Id: I1d2987b6cb333fc344d4fee1b7bb25f32a4143c6
2015-01-05 16:27:54 +00:00
Elliott Hughes
111e3d3d9c Only Windows doesn't have <sys/uio.h>.
This should probably be in libcutils instead, so code that needs to
care about Windows can use readv/writev.

Change-Id: I7c2ceec3f742cee0e44f69fd4c88459376bd0e08
2014-11-25 13:27:43 -08:00
Elliott Hughes
2a5fecb3cd Only Win32 doesn't have writev.
Change-Id: I9b5328cea3c88a75135dcb0711cbb5471e8fa388
2014-11-25 10:25:42 -08:00
Andreas Gampe
1f742864fa Liblog: Remove unused function
For build-system CFLAGS clean-up, remove unused function.

Change-Id: I8c28c4bbbadaea6a5b32483e9e220794967bdd4e
2014-11-24 10:36:55 -08:00
Elliott Hughes
9768d24fa0 Kill LOCAL_SOCKET_NAMESPACE.
Change-Id: I18928f89f66c37be310c45ff4c05a6d47ab84f66
2014-11-21 22:50:20 -08:00
Yabin Cui
8a98535bcb kill HAVE_LOCALTIME_R
Bug: 18361583
Change-Id: Icdc745a5204bba26c6438d16ed38ec791e136163
2014-11-13 10:11:23 -08:00
Dan Albert
f2dedb7a5f Move liblog tests and benchmarks to libc++.
Bug: 15193147
Change-Id: Ib063eb9490e40f9d10c0b0f29b7808c729e4fff9
2014-11-12 03:44:16 +00:00
Adam Lesinski
b2042f7263 am a1ac84cd: MingW doesn\'t handle __attribute__((weak)) for Windows PE
* commit 'a1ac84cd8d7357f38a9fc60ab9d42e81d1790fd2':
  MingW doesn't handle __attribute__((weak)) for Windows PE
2014-10-20 21:15:53 +00:00
Adam Lesinski
a1ac84cd8d MingW doesn't handle __attribute__((weak)) for Windows PE
Windows PE format doesn't have the same support for weak symbols
as ELF does.

The symbol android_log_id_to_name was strangely omitted from the
resulting Windows executable and the callsite where it was supposed
to be called was relaced with a different symbol, which caused a crash
in AAPT on Windows.

This change works due to a careful set of #ifdefs that ensure only one
definition of android_log_id_to_name is defined, but there are other
uses of __attribute__((weak)) which should be inspected.

Change-Id: I3b58076e31d9b28c5143773a170e9ffda9fa3815
2014-10-20 12:33:59 -07:00
Dan Albert
e18ed89eae Merge "Remove makefile cruft." 2014-09-12 18:07:26 +00:00
Dmitriy Ivanov
5f68087efe Add -std=gnu++11 to test cflags
Change-Id: Ife92cea10021658eba6e22a7ebc9e31f3d194a25
2014-09-12 10:39:12 -07: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
Pierre Zurek
ead88fca6e liblog: logcat: colored output.
This patch adds a new '-v color' option to logcat so that the output is
colored similar to the ones in DDMS. Simply type "adb logcat -v color"
to use it. Works well with bash in gnome-terminal. NO GUARANTEE IT WILL
WORK ON A NON xterm STYLE TERMINAL.

Signed-off-by: Michael Zimmermann <sigmaepsilon92@gmail.com>
Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Change-Id: I9189c5f27fed991579edbcbc6834536eb8112152
2014-09-11 19:04:17 -07:00
Dmitriy Ivanov
85af05ae37 Fix typo: ifndef -> ifneq
Change-Id: Id71c70b6fcd2659078a19cc652fd02807372f3a0
2014-08-25 16:26:29 -07:00
Dan Albert
c68fedce06 Update for public android_set_abort_message().
Since android_set_abort_message() is quite helpful to the platform, it's
becoming promoted to a real header with a non-private name.

Bug: 17059126
Change-Id: I3ed12b66eb07f3a6a08366d5eee147809d9a3ce9
(cherry picked from commit 4047075da6)
2014-08-19 10:39:46 -07:00
Dan Albert
4047075da6 Update for public android_set_abort_message().
Since android_set_abort_message() is quite helpful to the platform, it's
becoming promoted to a real header with a non-private name.

Bug: 17059126
Change-Id: I3ed12b66eb07f3a6a08366d5eee147809d9a3ce9
2014-08-18 17:29:34 -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
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
Nick Kralevich
118d1b3930 logd_write: set SOCK_CLOEXEC on socket
Socket file descriptors remain open across exec unless
SOCK_CLOEXEC is set. Enable this option, to avoid leaking
file descriptors.

See https://android-review.googlesource.com/53736 for a similar
problem with the old logging code.

Change-Id: I9e045d2291ae6680044ab86604f3ff2c55b5eaed
2014-07-02 22:30:39 -07:00
Nick Kralevich
2a4d05a4e3 implement LOG_EVENT_STRING
Implement LOG_EVENT_STRING, so that native code can create new
event log entries. This is needed to support logging SELinux denials
to the event log.

Change-Id: I6a269a832bc2f5e5da6c9dbd169ed2f901b49166
2014-07-01 12:22:04 -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
90aa3d59a5 liblog: test: Send bionc's fatal logging to the crash log
Bug: 14159417
Change-Id: Ia2e29ce03d4e2b02919c62be091da37ce4082647
2014-06-03 09:29:11 -07:00
Mark Salyzyn
076ba81ce9 liblog: cache getuid() syscall
BUG: 15315766
Change-Id: I8f889a1c6ede74f2621f1b8ea5fda666c4b9cba2
2014-06-02 12:33:57 -07:00
Ben Cheng
43232920f3 Address additional warnings found by GCC 4.9.
Change-Id: I8aae6c3e1ccc2294f4db455e1b4f3b4c34a00aaf
2014-05-20 10:51:02 -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
Elliott Hughes
26864bf9cb Switch to the new bionic fatal logging interface.
This is more general and will work for anyone's custom logging
code, as long as they use ANDROID_LOG_FATAL priority.

Change-Id: Iaf7fc0858fce04f3af407882a58ee5a827d50ddd
2014-05-06 20:40:15 -07:00
Mark Salyzyn
5045f57525 liblog: logcat: Move library print test into gTest
Change-Id: Icd33808d4c974625f4fd0a126a90a2b4c90c8315
2014-05-02 14:16:00 -07:00
Mark Salyzyn
d2e3747e70 liblog: test bionic libc_logging.cpp
Change-Id: Ia778c43513a28c85ae54e96926ee9ed56717d527
2014-04-25 10:59:29 -07:00
Mark Salyzyn
8444eb81b3 logd: liblog: ALOG silently drops excessively long messages
Bug: 14280914
Change-Id: Idddd29784625094e54144953c29f64692a88eee9
2014-04-24 15:49:57 -07:00