- take android_testLog from the bonepile and resurrect
- android_testLog is used, and makes sense in its current context
as a holder for Android Logging policy.
- Default level when not specified is ANDROID_LOG_VERBOSE for
eng and userdebug, and ANDROID_LOG_DEBUG for user.
NB: Properties, which are associated with __android_log_is_loggable are
not to be adjusted in user release; it would be useful at that juncture to
return a constant of (0) for VERBOSE, and a (1) for others on user builds.
Or default level to drop to ANDROID_LOG_DEBUG for all in future.
Bug: 17760225
Change-Id: I420b5b8a94d53d664c6a8b13546ebc424a147923
- 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
The backtrace structure used to include a pointer to a backtrace_map_t
that represented the map data for a particular pc. This introduced a
race condition where the pointer could be discarded, but the backtrace
structure still contained a pointer to garbage memory. Now all of the map
information is right in the structure.
Bug: 19028453
Change-Id: If7088a73f3c6bf1f3bc8cdd2bb4b62e7cab831c0
This isn't particularly useful in and of itself, but it does introduce the
first (trivial) unit test, improves the documentation (including details
about how to debug init crashes), and made me aware of how unpleasant the
existing parser is.
I also fixed a bug in passing --- unless you thought the "peboot" and "pm"
commands were features...
Bug: 19217569
Change-Id: I6ab76129a543ce3ed3dab52ef2c638009874c3de
- create a structure to depict the private header
expected at logd end of socket.
- utilize this new structure instead of unscalable
byte stream technique used to unpack in logd.
Change-Id: I2d0e5c3531c279f2dc1fbd74807210ff8d804de0
On 64 bit systems, calls to dump_backtrace_to_file or dump_tombstone
try and directly contact the correct debuggerd (32 bit vs 64 bit)
by reading the elf information for the executable.
Unfortunately, system_server makes a call to dump_backtrace_to_file
and it doesn't have permissions to read the executable data, so it
defaults to always contacting the 64 bit debuggerd.
This CL changes the code so that all dump requests go to the 64 bit
debuggerd, which reads the elf information and redirects requests for
32 bit processes to the 32 bit debuggerd.
Testing:
- Forced the watchdog code in system_server to dump stacks and
verified that all native stacks are dumped correctly.
- Verified that dumpstate and bugreport still properly dump the native
processes on a 64 bit and 32 bit system.
- Intentionally forced the 64 bit to 32 bit redirect to write only a
byte at a time and verified there are no errors, and no dropped data.
- Used debuggerd and debuggerd64 to dump 32 bit and 64 bit processes
seemlessly.
- Used debuggerd on a 32 bit system to dump native stacks.
Bug: https://code.google.com/p/android/issues/detail?id=97024
Change-Id: Ie01945153bdc1c4ded696c7334b61d58575314d1
Under some unknown circumstances, debuggerd could become unresponsive.
If you try and take a bugreport during this time, it will hang forever.
Adding functions that have a timeout will allow dumpstate to stop if
dumping is taking too long.
Bug: 18766581
(cherry picked from commit 5f2ff6a910)
Change-Id: I39e8e9c60209e3ef9efac795fedb8e1edce2bd3e
Packets captured and logged by the NFLOG target are unicast, so
extend to catch and decode them. To avoid escaping issues, the raw
contents are passed around as hex strings.
Bug: 18335678
Change-Id: Ib7299500baa00080a1f000f9da843eb527363353
Under some unknown circumstances, debuggerd could become unresponsive.
If you try and take a bugreport during this time, it will hang forever.
Adding functions that have a timeout will allow dumpstate to stop if
dumping is taking too long.
Bug: 18766581
Change-Id: I85053b8dcfe6224e2b64b4d8f7f2ef448b3cda34
system/core/include/utils/Mutex.h:134:25: error: non-constant-expression
cannot be narrowed from type 'long long' to '__kernel_time_t' (aka
'long') in initializer list [-Wc++11-narrowing]
system/core/include/utils/Mutex.h:135:26: error: non-constant-expression
cannot be narrowed from type 'long long' to 'long' in initializer list
[-Wc++11-narrowing]
Change-Id: Icb9df26aeb01617da5ab1c36987289f7c2b11954
This is not available for host builds because OSX doesn't have
pthread_mutex_timedlock() or equivalent.
Bug: 18842510
Change-Id: I072e74ab1a6f770fd245828b39c5f954dda1113b
The ANDROID_SINGLETON_STATIC_INSTANCE is used in some files
out of the android namespace. If it does not use full qualified
names, users of this macro will need to use it inside the 'android'
namespace to avoid warnings from clang compiler.
Change-Id: Ie4d4ba2b57fdc72d0deb3b7c2326304a44a1300f
This should probably be in libcutils instead, so code that needs to
care about Windows can use readv/writev.
Change-Id: I7c2ceec3f742cee0e44f69fd4c88459376bd0e08
As well intentioned as these were, uint16_t and C++11's char16_t are
_not_ actually compatible. They are not implicitly convertible, and
they mangle differently, so they are not even ABI compatible. In our
now wonderous world of C++11, no one should be using these, so just
kill them.
Bug: 18300613
Change-Id: I06d92d7f1d937dd94a620874323d4c50eb6a31bd
Needed for cases where something should be constexpr if possible, but
not being constexpr is fine if in pre-C++11 code (such as a const
static float member variable).
Bug: 18466763
Change-Id: I635d062575ba2fbc4cbe3a89f730128c404d95e1
This means that code that uses libcutils no longer has to ensure that
it's set ANDROID_SMP in the calling code's Android.mk for this to
function correctly.
Change-Id: I80c7ff170cd621106f34d6b74689d6b4f03e4eb7
This should not be committed until win_sdk and aarch64 builds are
fixed in the presence of this CL.
This reverts commit 2789faabfa.
We additionally remove uniprocessor support from the earlier CL,
thus avoiding a potential compiler code reordering issue.
Change-Id: I7207a5ca2efa907a6f757f172d7090a62b2311fe
Files that included FileMap.h (possibly transitively), before including
ByteOrder.h (which pulls in winsock2.h directly), will experience a
compiler warning/error from the latest mingw headers. This happens because
the headers require that winsock2.h come before windows.h in all cases.
The simplest (and most error-proof) fix for now is to include winsock2.h
before this use of windows.h.
Change-Id: I33069e4c9962d9820d0ea5976554f89d7ff6307c
libc++ also defines these types for pre-C++11, and the two definitions
need to match to avoid redefinition errors.
Bug: 18300613
Change-Id: I1e9198d39f7c470f37bc6edba2dca2d499f54c9b
Also:
- add kPreInitiliazed state to native bridge with check transition:
kOpened->kPreInitialized->kInitialized
- made sure we free the memory for the code_cache_path
- tidy up some error messages
- tidy up tests
- add a dummy native bridge to test with
Bug: 18027433
Bug: 18097480
(cherry picked from commit f9d9e2a2d9)
Change-Id: I9ce578949dbe522d5033465df7ca49fdd3aa3cbf
Also:
- add kPreInitiliazed state to native bridge with check transition:
kOpened->kPreInitialized->kInitialized
- made sure we free the memory for the code_cache_path
- tidy up some error messages
- tidy up tests
- add a dummy native bridge to test with
Bug: 18027433
Bug: 18097480
Change-Id: I39f74c93580f2e224080dd3df2ffaa9cf9f8cd9c
When atrace_* functions are inlined,
the rarely used 1024-byte buffers are allocated on stack.
BUG: 17444504
Change-Id: I773512aeb70e8b79f3803c6d59cba064d2aa65b6
Replace atomic-inl.h with a file that just includes atomic.h.
Remove platform specific implementations.
Change-Id: If16d74fbe0af7836ed8c1296c17e13a2d0d20f64
Add a method to set up /proc/cpuinfo with enough privileges. Set
up the environment for an app in InitializeNativeBridge().
Turn on -Wall for libnativebridge.
(cherry picked from commit 962eb40abb)
(cherry picked from commit ab0da5a9a6)
(cherry picked from commit 2f71cb24fa)
(cherry picked from commit 04054e28e2)
(cherry picked from commit 4390a63236)
Bug: 17671501
Change-Id: Id4f4127d82737b5e56a77175e1068ff5cea60f9d
Add a method to set up /proc/cpuinfo with enough privileges. Set
up the environment for an app in InitializeNativeBridge().
Turn on -Wall for libnativebridge.
Change-Id: I0b93da93251c6b4638de786bf98cf99df07c3fc2
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
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
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
These are no longer used, and we want to strongly discourage future use.
Keep the 32-bit variants while there are still uses. All users should move
to C11 or C++11 atomics.
(Resolved conflicts in atomic-...64.h with uniprocessor support
removal as in AOSP.)
Bug:16880454
Change-Id: I122b541cfd29ef4a6c932647f85d0d6a9d802061
(cherry picked from commit 9959ed9530)
These are no longer used, and we want to strongly discourage future use.
Keep the 32-bit variants while there are still uses. All users should move
to C11 or C++11 atomics.
Change-Id: I122b541cfd29ef4a6c932647f85d0d6a9d802061
Do not allow arbitrary paths for the native bridge - only allow
simple names.
Do not allow re-setup of the native bridge.
Bug: 16404669
(cherry picked from commit cd2ef4c1af)
Change-Id: Ie22de356d2307fe2758f9094a85d44e61a4098a1
Do not allow arbitrary paths for the native bridge - only allow
simple names.
Do not allow re-setup of the native bridge.
Bug: 16404669
Change-Id: Ie22de356d2307fe2758f9094a85d44e61a4098a1
It's important because entry names can be encoded in UTF-8 and can have \0
character in the middle.
Use vector instead of char* for prefix in IterationHandle.
Bug: 16162465
Change-Id: Ie34c8d7c6231cc258530c22bdde5542895213649
Add new public method to allow checkisc if an archive has entry names encoded in
UTF-8. If not then they will be encoded in IBM PC character encoding.
Bug: 16162465
Change-Id: I4468d76accca8a9b0b31cae8d43399ffc22cad42
in StartIteration. This method should always be called when the
iteration is over to make sure that we don't leak memory.
Change-Id: I5205c754dfafbab9bb5f06003c3663d2ec4e8a35
This patch makes the Renamer class destructor virtual and fixes
the incorrect constructor initialization list ordering.
These issues and related compiler warnings have been suppressed
by the build system which uses the gcc isystem command
line option, unless a project explicitly adds the include the path
system/core/include to Android.mk and uses the templates.
Change-Id: Iff76a655eb8bd547adfe994c7315a005e98aed41
Signed-off-by: Ukri Niemimuukko <ukri.niemimuukko@intel.com>
Signed-off-by: Mingwei Shi <mingwei.shi@intel.com>
Signed-off-by: Yong Yao <yong.yao@intel.com>
Indicate if trigger capture is returned with
recognition event in implementation properties
Add coarse confidence level to keyphrase recognition event.
Add capture format to recognition event
Bug: 12378680.
Change-Id: I52303ce2e46b9ebfb9993e47d153799921f9f8e7
Define a type for unique audio Ids allocated by AudioFLinger
for use as session Ids or I/O handles.
Bug: 12378680.
Change-Id: Ic9019fff97a1227b60e48c88c57d25dbbdcd7d1e
struct audio_config definition moved from hardware/audio.h to
system/audio.h for use inside the framework and not only at the HAL.
Added frame_count field to struct audio_config.
Bug: 14815883.
Change-Id: Ib0e99a60234b8e5302eb882b89e5a021a94ec2cb
Flag AUDIO_FLAG_BEACON characterizes streams where the system
ensures that the playback of the sound will be compatible
with its use as a broadcast for surrounding people
and/or devices. Ensures audibility with no or minimal
post-processing applied.
Bug 15415971
Change-Id: I1df9dc50e3fcc973a0709a55df5b3bd95f81eb58
http://ag/507249 removed a bunch of supposedly dead (unused) code. It turns out
at least ifc_disable() is being used in some protected partner branches. Put
back that as well as ifc_enable() to keep it symmetric.
Bug: 15413389
Change-Id: Ibec83a66e5d9079876ccf36d250b95b7c0294c03
Don't define char16_t on platforms where char16_t is a keyword, as
C11 and C++11 define it to be.
(cherry picked from commit dfdbe61d28)
Change-Id: I6717bc2133c1363ecd85861f3869e1eabd2ce96a
New Usage Type: AUDIO_POLICY_FORCE_FOR_HDMI_SYSTEM_AUDIO
New Config Type: AUDIO_POLICY_FORCE_HDMI_SYSTEM_AUDIO_ENFORCED
When HDMI-CEC system audio mode is enabled, AudioService will
call
setForceUse(AUDIO_POLICY_FORCE_FOR_HDMI_SYSTEM_AUDIO,
AUDIO_POLICY_FORCE_HDMI_SYSTEM_AUDIO_ENFORCED);
in order to notify enabled system audio mode, so that
audio policy manager chooses proper output.
When it turns into off, AudioService will call
setForceUse(AUDIO_POLICY_FORCE_FOR_HDMI_SYSTEM_AUDIO,
AUDIO_POLICY_FORCE_NONE);
Along with it, add new audio output devic type,
AUDIO_DEVICE_OUT_AUX_LINE, in order to distinguish
line out for headphone and aux output of av device.
Bug: 16305986
Bug: 16002150
Change-Id: Idecdf626737f6635ea3cda638c343260b1661c77
Added sound model implementor UUID.
Added capture preamble duration in recognition event.
Replaced number of users by list of user IDs in key phrase
descriptor.
Report confidence level for each user with user ID in recognition
event.
Added more configuration data to start_recognition() grouped in a
recognition configuration structure.
- List of keyphrases to listen to
- Recognition mode
- List of users with min confidence level
Added definitions for sound model load callback event.
Bug: 12378680.
Change-Id: Ia8c12ab20448b702d13db964bdd90ac4117a58d7
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
System Audio Control in HDMI-CEC delegates audio
output to Audio Receiver and audio output port
is one of ARC, SPDIF and analog output (line).
Change-Id: Ieb325f754f039e09aae68b700349861ca4e08cbc
Glibc declares unused fields as __unused and so a #define for __unused causes
issues when we built against glibc on the host. Rename __unused to __UNUSED as
a workaround.
This fixed checkbuild for 64-bit host builds. Bug: 13751317
Change-Id: Ic2cd52518c16661497cc819cb3fd7f1fa5c6f0fb
Looks like this got left behind in mips by mistake, and
84c3e99231 carried this over to mips64.
Clean up before it wastes any more time...
Change-Id: I6aeaa6e68be81f94065589337e2f7d3483e6e43c
* 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
1. Accept that parseNetlinkMessage can only parse one netlink
message, because its way of returning output is to modify its
member variables (mAction, mParams, etc.). Currently, it
loops through all the messages it finds, updating its member
variables as it goes along, and always returns true at the end
of the buffer. This has the following problems:
1. Since the function always returns true even when no
messages were parsed, the caller has no way to know if
parsing succeeded, and we get lots of "No subsystem found
in netlink event" logs if the buffer did not contain any
valid messages we were interested in.
2. If there are multiple messages in the buffer, all but the
last message will be silently ignored.
3. If there are multiple messages and previous messages have
more parameters than the last one, the resulting event will
have a mixture of parameters from multiple messages.
Instead of doing all this, change the contract to "parse the
first valid message of interest in the buffer and return true,
or return false if there were no such messages", and update
the code and the comments accordingly.
2. Modify the caller (NetlinkListener) so it doesn't log an
error when parseBinaryNetlinkMessage returns false, because
this can now simply mean that we weren't interested in that
particular message. parseBinaryNetlinkMessage already logs
more informative errors.
3. Provide utility functions to check received message lengths and
to convert message types to message names.
4. Simplify logging duplicate attributes.
5. Use the appropriate IFLA_xxx macros instead of rolling our own
code to parse link state messages.
6. Move all the parsing code out to per-message-type parsing
functions to order to simplify parseBinaryNetlinkMessage.
Bug: 9180552
Change-Id: I6bbc2f7a104f618674dde2369c1fd5e93ea49430
I haven't seen this warning in any AOSP code, but some of our code is
using this header differently than the rest of the build system, and
hits this warning-turned-error:
error: "__USE_MINGW_ANSI_STDIO" is not defined [-Werror=undef]
Change-Id: I3c5a91f107af8bf6078e06f2ce326c5466349b79
Currently, /system/xbin/su is world executable. Prior to SELinux
enforcement, anyone (including third party apps) could run su.
The su code itself checks to see if the calling UID is root or shell.
Rather than relying on enforcement within the su binary, modify the
binary so it has group=shell, and remove world-execute permission.
This helps avoid some annoying SELinux denial messages as third party
apps call su on userdebug/eng builds.
Change-Id: I61c9231bb7e201d14ee3a5b6fe81b3fa7b12599f
Add header file sound_trigger.h containing
base definitions and data types for sound
trigger native service and HAL.
Change-Id: Ie357d8c3909d0e1afda230523aded2d8699c69f1
Define a UID to be used by the process responsible for creating shared
RELRO files for the WebView native library, and create a directory owned
by that UID to use to store the files.
Bug: 13005501
Change-Id: I5bbb1e1035405e5534b2681f554fe16f74e3da1a
These headers are needed for pid_t and free when using libc++ headers (POSIX
does not require that the symbols be exposed with the previous includes).
Change-Id: Ia51a4fdfdbae7377130a43c401c2d8d241671d1e
Added definitons and structures for new audio routing features
in the framework and audio HAL.
The structures describe the objects needed to perform audio
routing and audio gain control: different variants of audio ports
and their corresponding configurations as well as gain controllers.
Change-Id: Iecd1b9186831067a52cc55619a63b7bba57dcbd9
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>
This library is dynamically loaded and used by bionic, to replace selected
standard socket syscalls with versions that talk to netd.
Implement connect() by requesting that the socket be marked with the netId of
the default network and then calling through to the actual syscall.
There are two escape hatches:
+ If the fwmark server is unavailable, it isn't an error; we proceed with the
syscall. This might help at boot time (when the server isn't ready yet) and if
we get rid of the fwmarkd socket entirely in future platform versions.
+ If the ANDROID_NO_USE_FWMARK_CLIENT environment variable is set, we don't
attempt to use the fwmark server (even if it's available). This allows apps to
sidestep unforseen issues in production at runtime.
(cherry picked from commit 0581cb455ef924f128a5c6d46bc70868b5099eec)
Change-Id: Ib6198e19dbc306521a26fcecfdf6e8424d163fc9
This library is dynamically loaded and used by bionic, to replace selected
standard socket syscalls with versions that talk to netd.
Implement connect() by requesting that the socket be marked with the netId of
the default network and then calling through to the actual syscall.
There are two escape hatches:
+ If the fwmark server is unavailable, it isn't an error; we proceed with the
syscall. This might help at boot time (when the server isn't ready yet) and if
we get rid of the fwmarkd socket entirely in future platform versions.
+ If the ANDROID_NO_USE_FWMARK_CLIENT environment variable is set, we don't
attempt to use the fwmark server (even if it's available). This allows apps to
sidestep unforseen issues in production at runtime.
Change-Id: Ib6198e19dbc306521a26fcecfdf6e8424d163fc9
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>
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>
Forward declare ucontext_t so that it's not necessary for ucontext.h
to be included in the global header.
(cherry picked from commit b138037b26)
Change-Id: I0ffb5bf7c53da8467dd8770880ff412a5158d639
Forward declare ucontext_t so that it's not necessary for ucontext.h
to be included in the global header.
Change-Id: Ic13677dd572ab1acd927f0a17b284f9b417a642f
With __USE_MINGW_ANSI_STDIO mingw compiler uses its own replacement
printf*/scanf* libraries instead of Microsoft's ones which aren't always
C99 compatible. Declare "archetype" of attribute format to gnu_printf
because the default "printf" in mingw follows MS standard.
One result is that "%z" (a gnu-extension) is accepted w/o warning by
mingw compiler
Change-Id: I3e92f34e2a1e8d664b4f1f55d450f7c2790671f3
This new version doesn't require any specialized thread
implementation, it uses the Current implementation to do its job.
In addition, it runs much faster when multiple threads are trying
to unwind at the same time since the global signal lock is held for
only a small amount of time. Even running through the threads one at
a time should be faster since it no longer requires two passes through
the unwound stacks.
The new code now allows multiple simultaneous unwinds of the
same thread.
Finally, add the ability to unwind from a ucontext_t passed in. This
functionality doesn't work for remote unwinds yet.
Change-Id: I4d181d7ca5ffd2acfd1686e668e6d21e36b425cb
to AUDIO_CHANNEL_OUT_QUAD_BACK and AUDIO_CHANNEL_OUT_5POINT1_BACK
respectively, for consistency with terminology used in downmix effect
For the time being, preserve the old names to avoid changing existing code.
Change-Id: I11131e3f66087090a590c93921092ca4fc78cf1c
Automatically assigned as a GID to all apps running under the same
Android profile. Used for exposing to or sharing files with apps
running in a specific profile.
Analogous to AID_SHARED_GID only the sharing is between processes with
the same userId rather than with the same appId.
The name to be displayed for uids/gids with this AID is 'u*_everyone'.
Change-Id: I46efb749f74cb86868c5609a0ce1a6aab2f9e9c9
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
Using __builtin_c{l,t}zl fails on 64b systems as unsigned long is
8B there. However, unsigned int is only guaranteed to be 2B. Introduce
a check that should be optimized away by the compiler.
Change-Id: I854d0817c6bb5ae13c257241240664bf8f1a7c8a
* 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
The way libunwind handles local unwinds is different from remote unwinds,
so create a new map object to handle the differences.
Add new test to verify the map data is being generated correctly.
Add new tests to check for leaks.
Refactor the BACK_LOGW code into a single header file.
Change-Id: I01f3cbfc4b927646174ea1b614fa25d23b9b3427
* commit 'e42e9db3143f819e19684d4f882ef3834454a44d':
logcat: test White Black list
logd: Find log time for arbitrary time to tail
logd: liblog: logcat: Arbitrary time to tail
* commit '19bbf92de92ad9dbfb26b3a94025bf6e6cb72cee':
logcat: test White Black list
logd: Find log time for arbitrary time to tail
logd: liblog: logcat: Arbitrary time to tail
- 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
- 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
Change-Id: I1572338c1b34bd968ad7867857ef708156ec3b6a
- structure packing
- move towards log_time from struct timespec
- extend log_time to cover differences between
log_time and struct timespec
Change-Id: I106ed0b609917306d170044054b5b32645f2a295
- init: set /proc/sys/net/unix/max_dgram_qlen to 300
- libsysutils: Add listen backlog argument to startListener
- logd: set listen backlog to 300
Change-Id: Id6d37d6c937ba2d221e76258d89c9516619caeec
* 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
* 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>
Change-Id: I47929a5432977a1d7235267a435cec0a7d6bd440
* Create a new userspace log daemon for handling logging messages.
Original-Change-Id: I75267df16359684490121e6c31cca48614d79856
Signed-off-by: Nick Kralevich <nnk@google.com>
* Merge conflicts
* rename new syslog daemon to logd to prevent confusion with bionic syslog
* replace racy getGroups call with KISS call to client->getGid()
* Timestamps are filed at logging source
* insert entries into list in timestamp order
* Added LogTimeEntry tail filtration handling
* Added region locking around LogWriter list
* separate threads for each writer
* /dev/socket/logd* permissions
Signed-off-by: Mark Salyzyn <salyzyn@google.com>
(cherry picked from commit 3e76e0a497)
Author: Nick Kralevich <nnk@google.com>
Change-Id: Ice88b1412d8f9daa7f9119b2b5aaf684a5e28098
With AArch64 the enumerations with values in the range
0x80000000 to 0x80000007 are being assigned to ssize_t
typed variables which are 64-bit rather than 32-bit, and
are being used in conditions where they are being checked
for being negative. This is not the case when ssize_t is
64-bit, so redefine this to INT32_MIN value.
Change-Id: I7a031a940a28658b3bf34bebac93dfb3ba397b05
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Eliminates various warnings from SELinux-related code.
Bug: 12587913
Change-Id: I28921f0ebd934324436609540d95ccef58552b64
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
* Create a new userspace log daemon for handling logging messages.
Original-Change-Id: I75267df16359684490121e6c31cca48614d79856
Signed-off-by: Nick Kralevich <nnk@google.com>
* Merge conflicts
* rename new syslog daemon to logd to prevent confusion with bionic syslog
* replace racy getGroups call with KISS call to client->getGid()
* Timestamps are filed at logging source
* insert entries into list in timestamp order
* Added LogTimeEntry tail filtration handling
* Added region locking around LogWriter list
* separate threads for each writer
* /dev/socket/logd* permissions
Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Change-Id: Ice88b1412d8f9daa7f9119b2b5aaf684a5e28098
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
The script that writes the recovery partition after a successful
update of system needs to be made executable. This change also moves
it from /system/etc to /system/bin.
Bug: 12893978
Change-Id: I686e2392a2392515a6859a7381b735de1007b7ea
Note that these were two different functions. The definition was unused,
and the declaration was undefined.
Change-Id: I2edd10a0ab9422cd5252bdb9ccdd726dc5fad531
Adding opus to the list of audio formats enum.
This CL is part of adding Opus decoding support to android.
Change-Id: I41decf426ed3f76c10b27f247b1264010689c759
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