b6453c52ac55f85d7f88f04db6e320825cea9bf7 |
|
30-Jun-2016 |
Josh Gao <jmgao@google.com> |
Only initialize the global stack protector once. Before, dynamic executables would initialize the global stack protector twice, once for the linker, and once for the executable. This worked because the result was the same for both initializations, because it used getauxval(AT_RANDOM), which won't be the case once arc4random gets used for it. Bug: http://b/29622562 Change-Id: I7718b1ba8ee8fac7127ab2360cb1088e510fef5c Test: ran the stack protector tests on angler (32/64bit, static/dynamic)
|
9ce09e423f24823d52f19ab8247e078977100132 |
|
12-Nov-2015 |
Mingwei Shi <mingwei.shi@intel.com> |
libc: implement kernel vdso syscalls for i386 This patch uses __kernel_vsyscall instead of "int 0x80" as the syscall entry point. AT_SYSINFO points to an adapter to mask the arch specific difference and gives a performance boost on i386 architecture. Bug: http://b/27533895 Change-ID: Ib340c604d02c6c25714a95793737e3cfdc3fc5d7 Signed-off-by: Mingwei Shi <mingwei.shi@intel.com> (cherry picked from commit be910529322b461148debefd50b9e0d67ae84f8e)
|
be910529322b461148debefd50b9e0d67ae84f8e |
|
12-Nov-2015 |
Mingwei Shi <mingwei.shi@intel.com> |
libc: implement kernel vdso syscalls for i386 This patch uses __kernel_vsyscall instead of "int 0x80" as the syscall entry point. AT_SYSINFO points to an adapter to mask the arch specific difference and gives a performance boost on i386 architecture. Change-ID: Ib340c604d02c6c25714a95793737e3cfdc3fc5d7 Signed-off-by: Mingwei Shi <mingwei.shi@intel.com>
|
12393862e55b9ab28dd29ae16fbdf498371726a7 |
|
04-Mar-2016 |
Elliott Hughes <enh@google.com> |
Improve and fix the stack-protector tests. Bug: http://b/26888853 (cherry picked from commit fc69a8ad5f0d9b63de48e3858fb4811ede7ac64e) Change-Id: Ibc431076000b9a8db46f68f858480045b03b6e79
|
fc69a8ad5f0d9b63de48e3858fb4811ede7ac64e |
|
04-Mar-2016 |
Elliott Hughes <enh@google.com> |
Improve and fix the stack-protector tests. Bug: http://b/26888853 Change-Id: I505dbf7d5934f7247fb639f55dd6a9341df3947b
|
63860cb8fd1adf3f679b9b4ad876323a8d65cd9d |
|
17-Nov-2015 |
Christopher Ferris <cferris@google.com> |
Malloc debug rewrite. The major components of the rewrite: - Completely remove the qemu shared library code. Nobody was using it and it appears to have broken at some point. - Adds the ability to enable/disable different options independently. - Adds a new option that can enable the backtrace on alloc/free when a process gets a specific signal. - Adds a new way to enable malloc debug. If a special property is set, and the process has an environment variable set, then debug malloc will be enabled. This allows something that might be a derivative of app_process to be started with an environment variable being enabled. - get_malloc_leak_info() used to return one element for each pointer that had the exact same backtrace. The new version returns information for every one of the pointers with same backtrace. It turns out ddms already automatically coalesces these, so the old method simply hid the fact that there where multiple pointers with the same amount of backtrace. - Moved all of the malloc debug specific code into the library. Nothing related to the malloc debug data structures remains in libc. - Removed the calls to the debug malloc cleanup routine. Instead, I added an atexit call with the debug malloc cleanup routine. This gets around most problems related to the timing of doing the cleanup. The new properties and environment variables: libc.debug.malloc.options Set by option name (such as "backtrace"). Setting this to a bad value will cause a usage statement to be printed to the log. libc.debug.malloc.program Same as before. If this is set, then only the program named will be launched with malloc debug enabled. This is not a complete match, but if any part of the property is in the program name, malloc debug is enabled. libc.debug.malloc.env_enabled If set, then malloc debug is only enabled if the running process has the environment variable LIBC_DEBUG_MALLOC_ENABLE set. Bug: 19145921 Change-Id: I7b0e58cc85cc6d4118173fe1f8627a391b64c0d7
|
3c8fc2fea9dac044f4903b0c315b5cda1c1f5301 |
|
08-Oct-2015 |
Josh Gao <jmgao@google.com> |
Move malloc dispatch table to __libc_globals. Change-Id: Ic20b980d1e8b6c2d4b773ebe336658fd17c737cb
|
fe9d0ed6cb10d5403e54d2dd12628a0ec345ae6e |
|
07-Oct-2015 |
Josh Gao <jmgao@google.com> |
Move setjmp cookie to a shared globals struct. Change-Id: I59a4c187d61524c4e48655c4c6376dba0d41eee2
|
93c0f5ee00d1357247fda333c9d49c8673c9c83b |
|
06-Oct-2015 |
Josh Gao <jmgao@google.com> |
Move VDSO pointers to a shared globals struct. Change-Id: I01cbc9cf0917dc1fac52d9205bda2c68529d12ef
|