OSDN Git Service
Dan Albert [Tue, 2 Aug 2016 22:19:26 +0000 (15:19 -0700)]
Only check arch tag if we have *any* arch tags.
With the introduction of new tags for ndk_library, we'll have a lot
of tags that aren't architecture tags. If we have something tagged
`introduced=21`, it should be in all architectures.
Change-Id: Ib67f07db14625f6903919c181050316eb183bed5
Dan Albert [Tue, 2 Aug 2016 22:15:09 +0000 (15:15 -0700)]
Add pylintrc.
Disable all the style differences present in genversion-scripts.py.
Change-Id: I7672d34c4f7698ba445968dd5d9f5ef1fdc60056
Dimitry Ivanov [Tue, 2 Aug 2016 18:17:08 +0000 (18:17 +0000)]
Merge "Correct libstdc++ version"
Treehugger Robot [Tue, 2 Aug 2016 02:30:14 +0000 (02:30 +0000)]
Merge "More stdio one-liners."
Elliott Hughes [Mon, 1 Aug 2016 23:35:17 +0000 (16:35 -0700)]
More stdio one-liners.
This actually turns up a bug in fmemopen, so I guess that's what I'll
look at next...
Change-Id: I2971ecd1b5a3a3c7f43c22d985f88e389af89e97
Treehugger Robot [Mon, 1 Aug 2016 23:25:59 +0000 (23:25 +0000)]
Merge changes I2d334db2,Iab9fbc73
* changes:
Clean up 32-bit x86 memset assembler.
Fix x86 __memset_chk.
Dimitry Ivanov [Mon, 1 Aug 2016 22:45:42 +0000 (15:45 -0700)]
Correct libstdc++ version
The version script is introduced in O
Bug: http://b/
28987948
Change-Id: Icd0a27d1b67e8227e44aa6e771816f0e6ed489b8
Treehugger Robot [Mon, 1 Aug 2016 21:33:25 +0000 (21:33 +0000)]
Merge "Update testing docs."
Dimitry Ivanov [Mon, 1 Aug 2016 21:01:28 +0000 (21:01 +0000)]
Merge "Sync linker with internal branch"
Elliott Hughes [Mon, 1 Aug 2016 21:00:45 +0000 (14:00 -0700)]
Clean up 32-bit x86 memset assembler.
Change-Id: I2d334db29226f9c60cf20220a569f1b772bf7c66
Elliott Hughes [Mon, 1 Aug 2016 20:16:37 +0000 (13:16 -0700)]
Update testing docs.
Change-Id: Ic0e1c3105d1cf8e73c0fbfd51052895beed76227
Treehugger Robot [Mon, 1 Aug 2016 20:05:43 +0000 (20:05 +0000)]
Merge "More stdio cleanup."
Dimitry Ivanov [Thu, 21 Jul 2016 18:33:40 +0000 (11:33 -0700)]
Sync linker with internal branch
This change includes dlwarning implementation and
the compatibility greylist for apps targeting pre-N.
Change-Id: Ibf02a07cc58cbbb1a5aef4ac34558c5d43e4305f
Test: Run bionic-unit-tests --gtest_filter=dl*:Dl*
Treehugger Robot [Mon, 1 Aug 2016 17:27:36 +0000 (17:27 +0000)]
Merge "Restore attribute alloc_size for GCC."
Lev Rumyantsev [Sat, 30 Jul 2016 00:55:42 +0000 (17:55 -0700)]
Fix x86 __memset_chk.
When __memset_chk_fail moved to C++, we didn't take into account
that the stack wasn't set up correctly for the jump from assembler.
Presumably no one had run the 32-bit x86 tests until now!
Bug: http://b/
30513094
Change-Id: Iab9fbc731b6bfecd7ca4d3f3844d0568a5d30d86
Elliott Hughes [Sat, 30 Jul 2016 16:58:15 +0000 (09:58 -0700)]
Restore attribute alloc_size for GCC.
clang doesn't support attribute alloc_size, but GCC uses it to give
diagnostics where clang can't, and we had a test for one such case.
Bug: http://b/
30513330
Change-Id: I4c14771258992d6bea684db7f91d60312642662f
Treehugger Robot [Sat, 30 Jul 2016 02:07:16 +0000 (02:07 +0000)]
Merge changes I946cde38,I4b8e0ea1,I2e8141a8
* changes:
Mark LIBC_O as being a future version.
Mark LIBC_N as being introduced in android-24.
Annotate the libc version map with NDK info.
Dan Albert [Fri, 29 Jul 2016 00:41:57 +0000 (17:41 -0700)]
Mark LIBC_O as being a future version.
None of these symbols are in the NDK yet. Skip them.
Change-Id: I946cde38e767190c396593d562babc90457973fb
Dan Albert [Fri, 29 Jul 2016 01:08:42 +0000 (18:08 -0700)]
Mark LIBC_N as being introduced in android-24.
Change-Id: I4b8e0ea1fc9b42c1f98f36ae7aaaae2c6322e16b
Dan Albert [Thu, 28 Jul 2016 06:56:54 +0000 (23:56 -0700)]
Annotate the libc version map with NDK info.
Generated by running
https://android-review.googlesource.com/#/c/251477/ for libc.
Test: make checkbuild with
https://android-review.googlesource.com/#/q/branch:master+topic:ndk_library-libc-libm
Change-Id: I2e8141a83c1d79fd89b5e5c4432400b8301ba347
Elliott Hughes [Fri, 29 Jul 2016 23:31:52 +0000 (16:31 -0700)]
More stdio cleanup.
Time to get back to cleaning up stdio, so start with a bunch of easy
one-liners...
Change-Id: I8df5fdc72500a89b977bfaa6c64c3639198d4e3e
Treehugger Robot [Fri, 29 Jul 2016 22:20:50 +0000 (22:20 +0000)]
Merge "Improvements to initialization of linker_allocator"
Treehugger Robot [Fri, 29 Jul 2016 22:13:56 +0000 (22:13 +0000)]
Merge "Upgrade to tzcode-2016f."
Dimitry Ivanov [Fri, 29 Jul 2016 20:25:33 +0000 (13:25 -0700)]
Improvements to initialization of linker_allocator
Make linker_allocator independent of the order of global constructors.
Bug: http://b/
30483811
Change-Id: I18a323175661b8e1c9e398f2d6112f7a08d2cceb
Test: boot the device with I3ac91758a1a043146c65f2ae0f36fcfbe372c30f
Elliott Hughes [Fri, 29 Jul 2016 21:04:17 +0000 (14:04 -0700)]
Upgrade to tzcode-2016f.
No significant changes other than a default implementation of strftime_l.
Change-Id: I6edd2c03e5e7559f012c0c87d43f7109d641d3ca
Dimitry Ivanov [Thu, 28 Jul 2016 22:38:08 +0000 (22:38 +0000)]
Merge "Add symbol versions to libstdc++.so"
Dimitry Ivanov [Thu, 28 Jul 2016 20:52:17 +0000 (13:52 -0700)]
Add symbol versions to libstdc++.so
Bug: http://b/
28987948
Change-Id: I3853528bd432ceab37e4867f2c4112d9ee0b40dc
Treehugger Robot [Thu, 28 Jul 2016 00:20:36 +0000 (00:20 +0000)]
Merge "Add IOV_MAX to <limits.h>."
Treehugger Robot [Wed, 27 Jul 2016 22:33:52 +0000 (22:33 +0000)]
Merge "Admit that we don't actually support thread priority inheritance."
Elliott Hughes [Wed, 27 Jul 2016 22:24:47 +0000 (15:24 -0700)]
Add IOV_MAX to <limits.h>.
strace 4.13 assumes we have IOV_MAX. POSIX says it lives here. 1024 is
a Linux kernel limitation.
Change-Id: Icb428172670e4936a459db38a6a190b7178fe9f3
Elliott Hughes [Wed, 27 Jul 2016 21:05:10 +0000 (14:05 -0700)]
Admit that we don't actually support thread priority inheritance.
Bug: https://code.google.com/p/android/issues/detail?id=218323
Change-Id: I6c69b0fbb8414e7cc2deeb8be50b6af4830ed55e
Treehugger Robot [Wed, 27 Jul 2016 18:44:07 +0000 (18:44 +0000)]
Merge "Clean up <uchar.h> and <wctype.h> transitive includes."
Christopher Ferris [Wed, 27 Jul 2016 17:56:55 +0000 (17:56 +0000)]
Merge "More kernel header cleanup."
Elliott Hughes [Wed, 27 Jul 2016 17:45:05 +0000 (10:45 -0700)]
Clean up <uchar.h> and <wctype.h> transitive includes.
Bug: http://b/
30367366
Change-Id: I63212a34c54ca07223a15aa5be4da3bdc6aa38a8
Treehugger Robot [Wed, 27 Jul 2016 00:30:30 +0000 (00:30 +0000)]
Merge changes I0262eed9,Iba9ee03a
* changes:
Add a temporary hack to work around __NDK_FPABI__.
Remove _GNU_SOURCE guard on tmpnam.
Dan Albert [Tue, 26 Jul 2016 23:27:31 +0000 (16:27 -0700)]
Add a temporary hack to work around __NDK_FPABI__.
Test: make checkbuild
Bug: http://b/
27533932
Change-Id: I0262eed91b10b0dd5fe27a61fb8f35b3c062280e
Dan Albert [Tue, 26 Jul 2016 23:26:15 +0000 (16:26 -0700)]
Remove _GNU_SOURCE guard on tmpnam.
This shouldn't be guarded by _GNU_SOURCE. external/opencv3 expects
P_tmpdir to be available.
http://pubs.opengroup.org/onlinepubs/
009695399/functions/tmpnam.html
Test: make checkbuild
Change-Id: Iba9ee03aec6e712356b571f7165ed1809e6227fe
Treehugger Robot [Mon, 25 Jul 2016 23:48:07 +0000 (23:48 +0000)]
Merge "Remove #pragma GCC visibility."
Elliott Hughes [Mon, 25 Jul 2016 22:57:02 +0000 (15:57 -0700)]
Remove #pragma GCC visibility.
We have better control over visibility now.
Bug: http://b/
24767418
Change-Id: Ifa9a1e5af4bd4217db08422050908770247b3b69
Elliott Hughes [Mon, 25 Jul 2016 22:32:56 +0000 (22:32 +0000)]
Merge "Stop #define'ing __func__ and __restrict."
Elliott Hughes [Mon, 25 Jul 2016 16:20:57 +0000 (09:20 -0700)]
Stop #define'ing __func__ and __restrict.
__STDC_VERSION__ isn't defined for __cplusplus, so we've been removing
such checks. Some got missed.
Stop defining __func__ and just use the __PRETTY_FUNCTION__ GCC extension
in <assert.h>. Also fix the #if there so that C++ gets __assert2 rather
than __assert, and rewrite the cast to work with -I rather than -isystem.
Also remove __restrict and just always use the __restrict GCC extension.
Add a trivial test for <assert.h>.
Bug: http://b/
30353757
Change-Id: Ie49bb417976293d3a9692b516e28fe3c0ae0a6d9
Test: ran bionic unit tests.
Treehugger Robot [Sat, 23 Jul 2016 03:51:19 +0000 (03:51 +0000)]
Merge "Remove bionic's now-unused UniquePtr."
Treehugger Robot [Sat, 23 Jul 2016 03:47:18 +0000 (03:47 +0000)]
Merge "Remove unnecessary 'extern's."
Elliott Hughes [Sat, 23 Jul 2016 02:52:46 +0000 (19:52 -0700)]
Remove bionic's now-unused UniquePtr.
Change-Id: Id77dbdd6d4255ae8317449725ef093be9422407f
Elliott Hughes [Sat, 23 Jul 2016 01:57:12 +0000 (18:57 -0700)]
Remove unnecessary 'extern's.
Change-Id: Iba2b3fb6ff88e504f1657b915120ae43d58a1e03
Treehugger Robot [Sat, 23 Jul 2016 01:48:21 +0000 (01:48 +0000)]
Merge "Always include <sys/cdefs.h>."
Elliott Hughes [Fri, 22 Jul 2016 21:56:18 +0000 (14:56 -0700)]
Always include <sys/cdefs.h>.
I made a mistake caught by code review earlier, so let's try to be
safer by default.
This patch also moves all our "forwarding" headers to the guardless
just-include-the-other-thing style that we usually use. (Where we
have a comment explaining where the header comes from, I've kept
that.)
Change-Id: I37342cf5e2563c6a269b2ba61a697069b1c7913b
Elliott Hughes [Sat, 23 Jul 2016 00:01:08 +0000 (00:01 +0000)]
Merge "Remove __BIONIC_LEGACY_INLINE."
Josh Gao [Fri, 22 Jul 2016 22:26:36 +0000 (15:26 -0700)]
Remove __BIONIC_LEGACY_INLINE.
Don't use the same declaration to declare both static and non-static
functions, to make life easier for versioner.
(Also, remove __BIONIC_LEGACY_INLINE from two functions in termios.h
that weren't actually legacy inlines.)
Bug: http://b/
30170081
Change-Id: Ibb73377d77a2b4cee016289b7c46a01452e45fae
Dimitry Ivanov [Fri, 22 Jul 2016 22:44:53 +0000 (22:44 +0000)]
Merge "Add sanity checks for e_shentsize and e_shstrndx"
Elliott Hughes [Fri, 22 Jul 2016 21:35:02 +0000 (21:35 +0000)]
Merge "Make it possible to build bionic with -I instead of -isystem."
Elliott Hughes [Fri, 22 Jul 2016 18:36:17 +0000 (11:36 -0700)]
Make it possible to build bionic with -I instead of -isystem.
Various things:
* work around -Wnullability-completeness.
* use C++ casts in C++ and C casts in C.
* stop using attributes clang doesn't support (such as `warning`).
* remove duplicate definitions of XATTR_CREATE and XATTR_REPLACE.
Change-Id: I07649e46275b28a23ca477deea119fe843999533
Dimitry Ivanov [Fri, 22 Jul 2016 19:50:59 +0000 (12:50 -0700)]
Add sanity checks for e_shentsize and e_shstrndx
This helps us avoid situations when malformed elf-files
are mistakenly loaded, - which might result in unexpected
behavior.
Bug: http://b/
30166532
Test: bionic-unit-tests --gtest_filter=dl*:Dl*
Change-Id: Idd6b4fa20e1d69a9f8d8391ba69c724d930fee51
Christopher Ferris [Wed, 20 Jul 2016 19:28:56 +0000 (12:28 -0700)]
More kernel header cleanup.
Modify the generate script to add a new option and copy the types.h
arm header file since it's not currently being created properly. Also
manually generate the arm types.h uapi header since it's not being
properly generated right now.
Modify both generate scripts to delete the target directories before
adding the files to handle moved/deleted header files.
Move the common/scsi headers into android and delete the common
directory. Change the scripts to reflect this change.
Update the scsi headers since they've been modified in upstream kernels.
Bug:
30072483
Change-Id: Ia43d4b238b6a041350d60cc30184ecbd4829d7d5
Treehugger Robot [Fri, 22 Jul 2016 19:20:58 +0000 (19:20 +0000)]
Merge changes I7718b1ba,I648adc35
* changes:
Only initialize the global stack protector once.
Make getpid work before TLS has been initialized.
Treehugger Robot [Fri, 22 Jul 2016 00:28:18 +0000 (00:28 +0000)]
Merge "Only define sa_family_t once."
Elliott Hughes [Thu, 21 Jul 2016 23:38:43 +0000 (16:38 -0700)]
Only define sa_family_t once.
Change-Id: Icf700910c836d22c8a27ad026ec8af11697edd5a
Treehugger Robot [Thu, 21 Jul 2016 08:06:33 +0000 (08:06 +0000)]
Merge "Treat "persist.sys.timezone" as being a Java-format timezone."
Elliott Hughes [Thu, 21 Jul 2016 00:23:54 +0000 (17:23 -0700)]
Treat "persist.sys.timezone" as being a Java-format timezone.
POSIX and Java disagree about the sign in a timezone string like "GMT+3".
This means that if you set "persist.sys.timezone" to such a string, native
code and Java code disagree about what time it is. Resolve this by
translating to POSIX form for native code.
Bug: http://b/
25463955
Change-Id: I7c08c459dd8514348a12ce419edcbfbfe8f6d327
Test: manually tested with setprop and date.
Dimitry Ivanov [Thu, 21 Jul 2016 00:08:46 +0000 (00:08 +0000)]
Merge "Pass argc/argv/envp to dso constructors"
Dimitry Ivanov [Wed, 20 Jul 2016 22:33:07 +0000 (15:33 -0700)]
Pass argc/argv/envp to dso constructors
The glibc implementation of the loader passes argc/argv/envp
to all elf constructors. This change makes bionic linker
behave in the same way.
Bug: http://b/
30145768
Change-Id: I1c65c42aa5305a5b133c64b5748205bbde869e0e
Test: run bionic-unit-tests --gtest_filter=dl*:Dl*
Evgenii Stepanov [Wed, 20 Jul 2016 20:31:41 +0000 (20:31 +0000)]
Merge "Align-up and randomize shared libraries."
Christopher Ferris [Wed, 20 Jul 2016 18:03:47 +0000 (18:03 +0000)]
Merge "Move/remove android only kernel uapi headers."
Evgenii Stepanov [Fri, 15 Jul 2016 23:31:42 +0000 (16:31 -0700)]
Align-up and randomize shared libraries.
This change implements the following property:
Any 2**N aligned memory region on size 2**N contains no more than one DSO.
The value N can be configured, with 16 or 18 looking like a good choice.
Additionally, DSOs are loaded at random page-aligned address inside these large
regions.
This change has dual purpose:
1. Larger values of N allow a lot more compact CFI shadow implementation.
See change I14dfea630de468eb5620e7f55f92b1397ba06217.
For example, CFI shadow for the system_server process has the following size (RSS, KB):
152 for N = 12, 32 for N = 16, 16 for N = 18.
2. Extra randomization is good for security.
This change does not result in extra RAM usage, because everything is still page-aligned.
It does result in a bit more VM fragmentation because of the gaps between shared libraries.
As it turns out, this fragmentation is barely noticeable because the kernel creates new mapping
at the highest possible address, and we do enough small mappings to almost completely fill the
gaps (ex. in the Zygote the gaps are filled with .ttf file mappings and thread stacks).
I've measured VM fragmentation as the sum of all VM gaps (unmapped regions) that are larger
than 1MB according to /proc/$PID/maps. On aosp_angler-userdebug, the numbers are (in GB):
| N = 12 | N = 18
system_server | 521.9 | 521.1
zygote64 | 522.1 | 521.3
zygote32 | 2.55 | 2.55
mediaserver | 4.00 | 4.00
Change-Id: Ia6df840dd409c82837efd1f263be420d9723c84a
Treehugger Robot [Tue, 19 Jul 2016 21:57:27 +0000 (21:57 +0000)]
Merge "Expand the testing docs slightly."
Treehugger Robot [Tue, 19 Jul 2016 21:48:25 +0000 (21:48 +0000)]
Merge "Remove __LIBC_ABI_PUBLIC__."
Elliott Hughes [Tue, 19 Jul 2016 21:09:10 +0000 (14:09 -0700)]
Expand the testing docs slightly.
Change-Id: I4b172eefd8f456a62b24520a9f04f500a1d6bc85
Elliott Hughes [Tue, 19 Jul 2016 20:56:46 +0000 (13:56 -0700)]
Remove __LIBC_ABI_PUBLIC__.
We have much better control over visibility now, so we don't need to
pollute the headers with cruft.
Bug: http://b/
24767418
Change-Id: I349f4c3bc30102477375ad9f80926e560c7c1d8b
Christopher Ferris [Mon, 18 Jul 2016 23:27:22 +0000 (16:27 -0700)]
Move/remove android only kernel uapi headers.
Move all of the uapi kernel headers that are only found in the android
kernel, and are still used by the tree into their own directory.
Delete all of these files that are not used.
Also, delete binder.h from the linux directory since it already exists
in the linux/android directory.
Bug:
30072483
Change-Id: I879f16e366f7670b8be3546b0a9cf9567fce6526
Treehugger Robot [Tue, 19 Jul 2016 17:52:03 +0000 (17:52 +0000)]
Merge "Add a test for a known kernel bug."
Treehugger Robot [Mon, 18 Jul 2016 20:39:10 +0000 (20:39 +0000)]
Merge "Don't declare SYS_* constants for unavailable __NR_* constants."
Elliott Hughes [Fri, 15 Jul 2016 22:47:47 +0000 (15:47 -0700)]
Don't declare SYS_* constants for unavailable __NR_* constants.
Bug: https://code.google.com/p/android/issues/detail?id=215853
Change-Id: Iaaa3ce888deb8d032208bf636b7badaed6a72d30
Treehugger Robot [Fri, 15 Jul 2016 22:31:13 +0000 (22:31 +0000)]
Merge "Convert linker from Android.mk to Android.bp"
Treehugger Robot [Fri, 15 Jul 2016 21:33:00 +0000 (21:33 +0000)]
Merge "Put the legacy stdio fds back for pre-M."
Treehugger Robot [Fri, 15 Jul 2016 20:56:01 +0000 (20:56 +0000)]
Merge "Add an alias for _CTYPE_N."
Colin Cross [Thu, 14 Jul 2016 23:05:46 +0000 (16:05 -0700)]
Convert linker from Android.mk to Android.bp
Change-Id: Ibf7da301defb2fd7e24fb3f4cd2e967a8f376497
Dan Albert [Fri, 15 Jul 2016 18:32:23 +0000 (11:32 -0700)]
Put the legacy stdio fds back for pre-M.
Change-Id: I2e397b04cba2969b9f9a3767b9b2fd12a289fcd2
Dan Albert [Fri, 15 Jul 2016 18:31:11 +0000 (11:31 -0700)]
Add an alias for _CTYPE_N.
gnustl is using this. It would be easy to change gnustl to *not* use
it for Android, but we've had this in released NDKs for years now so
we probably need this anyway.
Change-Id: I398a550664bf4ccbd9ea54f53c65428293a599a4
Yabin Cui [Fri, 15 Jul 2016 01:29:28 +0000 (01:29 +0000)]
Merge "Force pthread_cond_timedwait_relative_np using CLOCK_MONOTONIC."
Treehugger Robot [Fri, 15 Jul 2016 00:52:37 +0000 (00:52 +0000)]
Merge "Fix clean mma in bionic"
Elliott Hughes [Fri, 15 Jul 2016 00:07:17 +0000 (17:07 -0700)]
Add a test for a known kernel bug.
Bug: http://b/
27265969
Change-Id: I981cb6a91015bd17d362987ed12c8ca638987c5b
Colin Cross [Thu, 14 Jul 2016 23:53:18 +0000 (16:53 -0700)]
Fix clean mma in bionic
Change-Id: If2410c5ff9c08372098e5ec831e33e4da0e04b30
Treehugger Robot [Thu, 14 Jul 2016 21:05:27 +0000 (21:05 +0000)]
Merge "Convert bionic benchmarks and tests to Android.bp"
Treehugger Robot [Thu, 14 Jul 2016 20:11:20 +0000 (20:11 +0000)]
Merge "Fix typo in the comment"
Colin Cross [Thu, 14 Jul 2016 19:43:29 +0000 (19:43 +0000)]
Merge "Convert malloc_debug from Android.mk to Android.bp"
Treehugger Robot [Thu, 14 Jul 2016 19:34:47 +0000 (19:34 +0000)]
Merge "Move relocation_packer from Android.mk to Android.bp"
Colin Cross [Mon, 11 Jul 2016 23:20:06 +0000 (16:20 -0700)]
Convert bionic benchmarks and tests to Android.bp
The compile-time tests and a few custom libraries for dynamic linker
testing are still compiled in make.
Also converts the make rules to run tests on the host to shell scripts
in tests/run-on-host.sh and benchmarks/run-on-host.sh
Change-Id: I6f174b3a69d58c4ed74d29f4e79332d483681534
Dimitry Ivanov [Thu, 14 Jul 2016 18:15:44 +0000 (11:15 -0700)]
Fix typo in the comment
Addressing review comment from change I11bc2567b0cff89f48699ec74015991fee5b137b
Change-Id: I5d479ef61421c86fae06167815aa0a2681d9142d
Dimitry Ivanov [Thu, 14 Jul 2016 18:12:59 +0000 (18:12 +0000)]
Merge "linker: Improve elf-file validation"
Elliott Hughes [Thu, 14 Jul 2016 16:54:23 +0000 (16:54 +0000)]
Merge "Support 32-bit ARM vdso."
Colin Cross [Wed, 13 Jul 2016 18:15:21 +0000 (11:15 -0700)]
Convert malloc_debug from Android.mk to Android.bp
Change-Id: I60ad376d222a92a29263c2804dcd1bd0d3c383d0
Colin Cross [Wed, 13 Jul 2016 21:01:45 +0000 (14:01 -0700)]
Move relocation_packer from Android.mk to Android.bp
Change-Id: I3d24f8513fe3ca19900705d4861ab797464e0930
Treehugger Robot [Thu, 14 Jul 2016 00:22:34 +0000 (00:22 +0000)]
Merge "Fix dlext.ns_smoke test"
Dimitry Ivanov [Thu, 14 Jul 2016 00:06:36 +0000 (17:06 -0700)]
linker: Improve elf-file validation
1. Make sure that the .dynamic section offset and size matches
PT_DYNAMIC segment offset and filesz
2. No section offset can be 0
Bug: http://b/
16548758
Bug: http://b/
29637134
Change-Id: I11bc2567b0cff89f48699ec74015991fee5b137b
Test: Install and start the app from http://b/
29637134
Dimitry Ivanov [Wed, 13 Jul 2016 23:28:20 +0000 (16:28 -0700)]
Fix dlext.ns_smoke test
Check for updated error_message
Change-Id: I0f0dd59a6deba016d37d0ccc80113b62db86c1c2
Test: adb shell bionic-unit-tests32/64 --gtest_filter=dlext.ns*
Yabin Cui [Wed, 13 Jul 2016 22:53:25 +0000 (15:53 -0700)]
Force pthread_cond_timedwait_relative_np using CLOCK_MONOTONIC.
Previous patch changed pthread_cond_timedwait_relative_np to use
CLOCK_REALTIME, which causes app compatibility problem. So change
it back to CLOCK_MONOTONIC.
Bug:
30106240
Change-Id: I8e04058e92ede098f4f9f8d133f094001921441e
Dimitry Ivanov [Wed, 13 Jul 2016 18:45:00 +0000 (18:45 +0000)]
Merge "Use trivial types to avoid calls to new for globals"
Dimitry Ivanov [Wed, 13 Jul 2016 17:24:06 +0000 (10:24 -0700)]
Use trivial types to avoid calls to new for globals
To avoid initialization ordering problem avoid constructing
non-trivial global objects for linker_logger.
This patch also adds explicit check for bloc_size_ on alloc
Change-Id: I2cb3b13a10b7fac1f52a20038af77266d3e1da96
Treehugger Robot [Tue, 12 Jul 2016 22:27:19 +0000 (22:27 +0000)]
Merge "linker: Enable debug logging via properties"
Dimitry Ivanov [Tue, 12 Jul 2016 01:11:39 +0000 (18:11 -0700)]
linker: Enable debug logging via properties
This patch lets developers tune logging of dlopen/dlerror with
setting system property.
Note that for security purposes this option is disabled on user build
for non-debuggable apps.
For starters there are 3 debug options:
dlerror - enables logging of all dlerrors
dlopen - traces dlopen calls
To enable system-wide logging (works only for userdebug/eng builds)
use debug.ld.all property.
To enable logging for particular app use debug.ld.app.<appname> property.
Example: Running "adb shell setprop debug.ld.all dlerror,dlopen" will log all
dlerror message as well as trace all calls to dlopen.
Bug: http://b/
29458203
Change-Id: I2392c80a795509e16fe5689d0500d18b99772a64