android_bionic/libc
Tom Cherry 79b724ca5a Add support for serialized property contexts
This adds support for reading a serialized
/dev/__properties__/property_info file, which contains a
serialized trie that maps property names to the SELinux context to
which they belong.

Performance wise on walleye, this change reduces the start up cost in
libc from ~3000us to ~430us.  On a benchmark that calls
__system_property_find() for each property set on the system, it
reduces the time per iteration from ~650us to ~292us.

Bug: 36001741
Test: Boot bullhead, walleye, run unit tests
Test: Benchmark initialization and lookup performance

Change-Id: I0887a3a7da88eb51b6d1bd494fa5bce593423599
2017-12-12 00:36:20 -08:00
..
arch-arm Give ELF notes 4-byte alignment. 2017-12-04 13:21:01 -08:00
arch-arm64 [AArch64] Optimized memcmp 2017-11-03 13:21:07 -04:00
arch-common/bionic Give ELF notes 4-byte alignment. 2017-12-04 13:21:01 -08:00
arch-mips Mark __BIONIC_WEAK_FOR_NATIVE_BRIDGE symbols 2017-10-27 10:01:46 +02:00
arch-mips64 Mark __BIONIC_WEAK_FOR_NATIVE_BRIDGE symbols 2017-10-27 10:01:46 +02:00
arch-x86 Mark __BIONIC_WEAK_FOR_NATIVE_BRIDGE symbols 2017-10-27 10:01:46 +02:00
arch-x86_64 Mark __BIONIC_WEAK_FOR_NATIVE_BRIDGE symbols 2017-10-27 10:01:46 +02:00
async_safe Implement pthread_attr_getinheritsched/pthread_attr_setinheritsched. 2017-10-25 14:28:42 -07:00
bionic Merge "Make our fortify FD_ISSET const, and expose the fd_mask type." 2017-12-05 17:09:17 +00:00
dns Improve glibc compatibility of gethostby*_r functions. 2017-10-23 17:38:35 -07:00
include Merge "Add more missing ELF structures/constants." 2017-12-06 16:39:31 +00:00
kernel Merge "Change ARG_MAX/_SC_ARG_MAX back to a constant." 2017-11-16 21:46:49 +00:00
malloc_debug Always wrap waitpid in TEMP_FAILURE_RETRY. 2017-11-28 12:55:19 -08:00
private Only use uids and gids for which we've allocated AIDs 2017-11-15 10:31:49 -08:00
seccomp Use -Werror in bionic 2017-10-02 13:21:22 -07:00
stdio Remove more trivial char/wchar_t printf differences. 2017-11-13 11:10:05 -08:00
stdlib Mark __BIONIC_WEAK_FOR_NATIVE_BRIDGE symbols 2017-10-27 10:01:46 +02:00
system_properties Add support for serialized property contexts 2017-12-12 00:36:20 -08:00
tools Merge "Be more specific about POSIX obsolescence." 2017-10-20 16:50:28 +00:00
tzcode Add missing includes. 2017-10-11 11:25:52 -07:00
upstream-freebsd Change ARG_MAX/_SC_ARG_MAX back to a constant. 2017-11-15 15:14:35 -08:00
upstream-netbsd libc: Add support to allow library calls to find appropriate shell executable for a process 2017-08-22 10:17:28 -07:00
upstream-openbsd Merge "More missing _unlocked <stdio.h> functions." 2017-10-31 22:43:34 +00:00
versioner-dependencies Unified sysroot: kill arch-specific include dirs. 2017-10-12 13:19:51 -07:00
Android.bp Add support for serialized property contexts 2017-12-12 00:36:20 -08:00
Android.mk
MODULE_LICENSE_BSD
NOTICE [AArch64] Optimized memcmp 2017-11-03 13:21:07 -04:00
SECCOMP_BLACKLIST.TXT
SECCOMP_WHITELIST.TXT Add <sys/random.h>. 2017-09-29 05:31:35 +00:00
SECCOMP_WHITELIST_GLOBAL.TXT
SYSCALLS.TXT Add <sys/random.h>. 2017-09-29 05:31:35 +00:00
fs_config_generator.py
libc.arm.map More missing _unlocked <stdio.h> functions. 2017-10-31 13:23:41 -07:00
libc.arm64.map More missing _unlocked <stdio.h> functions. 2017-10-31 13:23:41 -07:00
libc.map.txt More missing _unlocked <stdio.h> functions. 2017-10-31 13:23:41 -07:00
libc.mips.map More missing _unlocked <stdio.h> functions. 2017-10-31 13:23:41 -07:00
libc.mips64.map More missing _unlocked <stdio.h> functions. 2017-10-31 13:23:41 -07:00
libc.x86.map More missing _unlocked <stdio.h> functions. 2017-10-31 13:23:41 -07:00
libc.x86_64.map More missing _unlocked <stdio.h> functions. 2017-10-31 13:23:41 -07:00
libstdc++.arm.map
libstdc++.arm64.map
libstdc++.map.txt
libstdc++.mips.map
libstdc++.mips64.map
libstdc++.x86.map
libstdc++.x86_64.map
version_script.txt