OSDN Git Service
Elliott Hughes [Tue, 23 May 2017 23:39:59 +0000 (23:39 +0000)]
Merge "Switch to inline assembler in crtbegin."
Elliott Hughes [Tue, 23 May 2017 18:03:58 +0000 (11:03 -0700)]
Switch to inline assembler in crtbegin.
Using __builtin_frame_address was clever, but didn't work for arm64 (for
reasons which were never investigated) and the ChromeOS folks claim it
causes trouble for x86 with ARC++ (though without a reproduceable test case).
Naked functions turn out to be quite unevenly supported: some architectures
do the right thing, others don't; some architectures warn, others don't (and
the warnings don't always match the platforms that _actually_ have problems).
Inline assembler also removes the guessing games: everyone knows what the
couple of instructions _ought_ to be, and now we don't have to reason about
what the compiler will actually do (yet still keep the majority of the code
in C).
Bug: N/A
Test: builds, boots
Change-Id: I14207ef50ca46b6eca273c3cb7509c311146a3ca
Treehugger Robot [Tue, 23 May 2017 13:17:41 +0000 (13:17 +0000)]
Merge "Make use of the DNS query hook in the netcontext"
Dan Willemsen [Tue, 23 May 2017 05:50:37 +0000 (05:50 +0000)]
Merge "Move libdlext_... to NATIVE_TESTS instead of ETC"
Treehugger Robot [Tue, 23 May 2017 00:48:00 +0000 (00:48 +0000)]
Merge changes Iefdc1662,I8ee9ce62
* changes:
Don't define IN_CLOEXEC/IN_NONBLOCK for pre-L.
Undef EPOLL_CLOEXEC for pre-L.
Dan Willemsen [Tue, 23 May 2017 00:36:16 +0000 (17:36 -0700)]
Move libdlext_... to NATIVE_TESTS instead of ETC
ETC did end up causing problems, since it's not per-arch. But
SHARED_LIBRARIES isn't correct either, since the build system tries to
read shared libraries as ELF files (to create the toc files).
NATIVE_TESTS is slightly better -- they are not libraries, so we don't
attempt to generate toc files, but they are considered per-arch.
Bug:
38463793
Test: Run CtsBionicTestCases
Change-Id: I01b4b093359e0c39eb2f8639d5c5dde9e304ed20
Ben Schwartz [Mon, 24 Apr 2017 21:57:11 +0000 (17:57 -0400)]
Make use of the DNS query hook in the netcontext
This will allow netd to run queries over TLS:
https://android-review.googlesource.com/#/c/391513/
https://android-review.googlesource.com/#/c/380593/
Bug:
34953048
Test: Device tests pass. No issues during manual testing.
Change-Id: I8d613322307fc40cdba59b82599eda753697278f
Treehugger Robot [Mon, 22 May 2017 22:29:08 +0000 (22:29 +0000)]
Merge "Add a netcontext variant of gethostbyname"
Dan Albert [Mon, 22 May 2017 19:58:18 +0000 (12:58 -0700)]
Don't define IN_CLOEXEC/IN_NONBLOCK for pre-L.
Some third-party code uses the existence of IN_CLOEXEC/IN_NONBLOCK to
detect the availability of inotify_init1. This is not correct, since
`syscall(__NR_inotify_init1, IN_CLOEXEC)` is still valid even if the C
library doesn't have that function, but for the time being we don't
want to harm adoption to the unified headers. We'll avoid defining
IN_CLOEXEC and IN_NONBLOCK if we don't have inotify_init1 for the time
being, and maybe revisit this later.
Test: make checkbuild
Bug: https://github.com/android-ndk/ndk/issues/394
Change-Id: Iefdc1662b21045de886c7ad1cbeba6241163d943
Dan Albert [Mon, 22 May 2017 19:52:00 +0000 (12:52 -0700)]
Undef EPOLL_CLOEXEC for pre-L.
Some third-party code uses the existence of EPOLL_CLOEXEC to detect
the availability of epoll_create1. This is not correct, since having
up-to-date UAPI headers says nothing about the C library, but for the
time being we don't want to harm adoption to the unified headers.
We'll undef EPOLL_CLOEXEC if we don't have epoll_create1 for the time
being, and maybe revisit this later.
Test: make checkbuild
Bug: https://github.com/android-ndk/ndk/issues/302
Bug: https://github.com/android-ndk/ndk/issues/394
Change-Id: I8ee9ce62768fb174070ec51d114f477389befc4a
Ben Schwartz [Mon, 22 May 2017 14:19:25 +0000 (10:19 -0400)]
Add a netcontext variant of gethostbyname
Bug:
34953048
Test: Integration tests pass
Change-Id: I670427d67fde09d8e76ea6a920c90a1969230c4f
Treehugger Robot [Mon, 22 May 2017 10:06:29 +0000 (10:06 +0000)]
Merge "Add a netcontext variant of gethostbyaddr"
Treehugger Robot [Mon, 22 May 2017 02:51:33 +0000 (02:51 +0000)]
Merge "Add the DNS query hook to net context"
Treehugger Robot [Sat, 20 May 2017 22:08:10 +0000 (22:08 +0000)]
Merge "Va_end should be used with va_start"
Mikhail Lappo [Sat, 25 Mar 2017 18:02:55 +0000 (19:02 +0100)]
Va_end should be used with va_start
va_start is used and va_end should
be invoked accordingly
Change-Id: I2b0a2af762e22082a351a4d8139aaa48bc791e88
Christopher Ferris [Fri, 19 May 2017 23:20:25 +0000 (23:20 +0000)]
Merge "Fix missing function export."
Christopher Ferris [Fri, 19 May 2017 20:47:16 +0000 (13:47 -0700)]
Fix missing function export.
Bug:
36401135
Test: Actually enable debug malloc and verify it loads properly.
Test: Ran unit tests.
Change-Id: I9df1699b06bb14c5df2c3cab35dc2eb0819033f1
Elliott Hughes [Fri, 19 May 2017 18:24:08 +0000 (18:24 +0000)]
Merge "Make `union semun` usable."
Elliott Hughes [Thu, 18 May 2017 22:05:26 +0000 (15:05 -0700)]
Make `union semun` usable.
This is a bit bogus because it's been removed from glibc (though not
thoroughly) and is never useful on Android (because the system calls
in question are compiled out of Android kernels, and SELinux would
disallow them even if you weren't running an Android kernel). This
also means that on glibc you need to include <linux/sem.h> for this
and on bionic you need <sys/sem.h> (and for either if you #include
the other file, you won't get this union).
Bug: https://github.com/android-ndk/ndk/issues/400
Test: added new test
Change-Id: I47f721da77515531f616d6ad8479bfbc9b60ee47
Ben Schwartz [Mon, 24 Apr 2017 21:57:11 +0000 (17:57 -0400)]
Add a netcontext variant of gethostbyaddr
Bug:
34953048
Test: Integration tests pass
Change-Id: Id04830345be56cd7a077981c6e2acfb5568e7a88
Ben Schwartz [Mon, 24 Apr 2017 21:57:11 +0000 (17:57 -0400)]
Add the DNS query hook to net context
This change
- adds a query hook to android_net_context
- exposes relevant definitions to netd
- corrects a bug in query hooks' interaction with the cache
This change does not introduce any code to read the query hook
from the net context or make use of it.
Bug:
34953048
Test: Netd test suite passes
Change-Id: Ie091980e22ce9da07a3c4d387b371e544379d762
Treehugger Robot [Thu, 18 May 2017 02:23:36 +0000 (02:23 +0000)]
Merge "Fix Mac build."
Christopher Ferris [Thu, 18 May 2017 02:23:05 +0000 (02:23 +0000)]
Merge "Make mallopt available in the future."
Treehugger Robot [Thu, 18 May 2017 01:49:36 +0000 (01:49 +0000)]
Merge "Remove reference to obj/lib"
Elliott Hughes [Thu, 18 May 2017 00:36:08 +0000 (17:36 -0700)]
Fix Mac build.
Bug: N/A
Test: builds
Change-Id: Ia3dae9f86a0aaa5431929e790f5c36f8beaf3bed
Dan Willemsen [Wed, 17 May 2017 23:47:23 +0000 (16:47 -0700)]
Remove reference to obj/lib
It's going away, since we don't have a single library on device anymore,
and it's simpler to keep the host looking like the device. This doesn't
seem to need it anymore either -- the libraries are found relative to
the test binary.
Test: bionic/tests/run-on-host.sh glibc
Change-Id: Ie9bf6388ecd773623181ec9eadb35d6e0ba0a441
Treehugger Robot [Wed, 17 May 2017 22:48:53 +0000 (22:48 +0000)]
Merge "tests/utils.h should #include <sys/sysmacros.h>"
Christopher Ferris [Wed, 17 May 2017 21:48:59 +0000 (14:48 -0700)]
Make mallopt available in the future.
I made this in 26 but it's really only available in the future.
Test: Built angler image.
Change-Id: I9e1179b350103bf1b8774459a9e210b377300d40
Dan Willemsen [Wed, 17 May 2017 19:50:53 +0000 (19:50 +0000)]
Merge "Stop using $(TARGET_OUT_INTERMEDIATE_LIBRARIES)"
Elliott Hughes [Wed, 17 May 2017 18:43:39 +0000 (11:43 -0700)]
tests/utils.h should #include <sys/sysmacros.h>
Bug: https://github.com/android-ndk/ndk/issues/398
Test: builds
Change-Id: Ie81b49787d468e409db4024763f29946d3e4250f
Dan Willemsen [Tue, 16 May 2017 19:51:21 +0000 (12:51 -0700)]
Stop using $(TARGET_OUT_INTERMEDIATE_LIBRARIES)
It's going away, so use the built versions in the per-library
intermediate directories instead.
Test: `m -j bionic-unit-tests` produces the same output before/after
Change-Id: Ia5cd874d13129b2be89cdc26e4ec598be4003c87
Christopher Ferris [Tue, 16 May 2017 20:07:19 +0000 (20:07 +0000)]
Merge "libc: ARM64: fix memset for non-standard ZVA sizes"
Christopher Ferris [Tue, 16 May 2017 14:02:51 +0000 (14:02 +0000)]
Merge "Add support for modifying decay timer."
Kevin Brodsky [Tue, 16 May 2017 10:29:49 +0000 (11:29 +0100)]
libc: ARM64: fix memset for non-standard ZVA sizes
372f19e9e27c ("libc: ARM64: update memset/strlen/memcpy/memmove to
newlib/cortex-strings") introduced a bug in memset, only occurring
on the [set_long + zero + non-standard ZVA size] path, more
specifically when DCZID_EL0 reports a size different to 64 or 128.
On platforms with such sizes reported by DCZID_EL0, various string*
unit tests fail due to memset zeroing memory before and/or after the
area it is supposed to set.
Test: bionic-unit-tests --gtest_filter=string*
Change-Id: Idb80c0269226e40e343645a58608e3f324378468
Christopher Ferris [Mon, 15 May 2017 22:50:19 +0000 (15:50 -0700)]
Add support for modifying decay timer.
Add the mallopt function, and only a single option so far.
Bug:
36401135
Test: Built and booted bullhead.
Test: Ran jemalloc unit tests.
Test: Ran bionic unit tests.
Test: Ran a test that allocated and free'd a large piece of memory,
Test: and verified that after changing the parameter, the PSS
Test: sticks around (decay timer set to 1), the PSS is purged (decay
Test: timer set to 0).
Change-Id: I6927929b0c539c1023d34772d9e26bb6a8a45877
Christopher Ferris [Mon, 15 May 2017 22:00:42 +0000 (22:00 +0000)]
Merge "Add support for cortex-a73."
Christopher Ferris [Mon, 8 May 2017 19:09:03 +0000 (12:09 -0700)]
Add support for cortex-a73.
Bug:
37647380
Test: Built target with cortex-a73 for both 32 bit/64 bit.
Test: Built target with cortex-a53.cortex-a57 for both 32 bit/64 bit.
Test: Ran bionic unit tests, ran art target tests.
(cherry picked from commit
6fca047b5379c2bf7b6b874a2b2f9cc44e1b01fa)
Change-Id: I2c48e1bc7f4a3c4548d1c66f87eab19c8618a0b8
Elliott Hughes [Mon, 15 May 2017 16:20:03 +0000 (16:20 +0000)]
Merge "test: check unbounded memory leak in pthread detach"
Zhenhua WANG [Fri, 12 May 2017 05:53:51 +0000 (13:53 +0800)]
test: check unbounded memory leak in pthread detach
In pthread_leak.detach test, compare the memory usage after two same
scenarios - all children threads have exited. Thus, test emulated by
NativeBridge, which may reserve a memory pool, will pass if it's not
unbounded leak.
Bug: https://issuetracker.google.com/
37920774
Test: CtsBionicTestCases
Change-Id: Ia51aa67bacb588284747652b36ea5d8e85bea832
Treehugger Robot [Fri, 12 May 2017 01:35:49 +0000 (01:35 +0000)]
Merge "Clean up __isthreaded."
Treehugger Robot [Thu, 11 May 2017 23:52:13 +0000 (23:52 +0000)]
Merge "Run bionic/libc/tools/genversion-scripts.py"
Elliott Hughes [Thu, 11 May 2017 22:29:03 +0000 (15:29 -0700)]
Clean up __isthreaded.
__isthreaded is annoying for ARC++ and useless for everyone. Just hard-code
the value in ndk_cruft for LP32 and be done with it.
Bug: N/A
Test: builds
Change-Id: I08f11a404bbec55ed57cb1e18b5116163c7d7d13
Elliott Hughes [Thu, 11 May 2017 22:14:41 +0000 (15:14 -0700)]
Run bionic/libc/tools/genversion-scripts.py
When
2e8e5e60b6ecbcfe2110242e41b9ec5340b11cf5 was cherrypicked, we
didn't regenerate the generated files.
Bug: N/A
Test: builds
Change-Id: I87730e834520aea742738708237d11a798bf3220
Treehugger Robot [Thu, 11 May 2017 02:46:42 +0000 (02:46 +0000)]
Merge "Fix clang-tidy perfomrance warnings."
wy [Wed, 10 May 2017 22:21:13 +0000 (15:21 -0700)]
Fix clang-tidy perfomrance warnings.
Change-Id: Ibf3d32a5ba1cb70158d857be3d20aa3d1a870341
Test: build with WITH_TIDY=1
Treehugger Robot [Wed, 10 May 2017 02:33:28 +0000 (02:33 +0000)]
Merge "greylist is no longer enabled by default."
Treehugger Robot [Wed, 10 May 2017 02:27:56 +0000 (02:27 +0000)]
Merge "Remove known failures from arm ifunc tests"
Treehugger Robot [Wed, 10 May 2017 01:28:53 +0000 (01:28 +0000)]
Merge "Cope with AT_SYSINFO not being set on x86."
Jiyong Park [Fri, 5 May 2017 13:07:05 +0000 (22:07 +0900)]
greylist is no longer enabled by default.
greylist is needed only for application namepaces. Since we started using
linker-namesapces for vendors and other platform apps linker should not
enable greylist workaround by default.
Bug: http://b/
37731053
Bug: https://issuetracker.google.com/
38146125
Test: sailfish builds and boots
Test: bionic-unit-tests and linker-unit-tests pass
Change-Id: Iee83db6fb1ae754f5ade18491321d9bca3b5ead4
(cherry picked from commit
e8ffe56a9c2bacc6bd880238250ad61e2bbb257b)
Elliott Hughes [Tue, 9 May 2017 23:59:07 +0000 (23:59 +0000)]
Merge "Zero-initialize user_desc for __set_thread_area."
Elliott Hughes [Tue, 9 May 2017 21:39:24 +0000 (14:39 -0700)]
Zero-initialize user_desc for __set_thread_area.
The kernel does seem to read some of the "unused" fields if only to do
basic validity checks.
valgrind complained about this, and I'm not convinced it's spurious.
Bug: http://b/
38034461
Test: ran tests
Change-Id: I077fcc75bf0738491242166fc4576a9693ce18a5
Elliott Hughes [Tue, 9 May 2017 21:26:30 +0000 (14:26 -0700)]
Cope with AT_SYSINFO not being set on x86.
Bug: http://b/
38034461
Test: ran dexdump under valgrind on x86
Change-Id: I6a54c7ed4fe4e68731e099d9569ab788379820f8
Christopher Ferris [Tue, 9 May 2017 16:40:29 +0000 (16:40 +0000)]
Merge "Add new memchr/strrchr tests."
Christopher Ferris [Mon, 8 May 2017 21:24:29 +0000 (14:24 -0700)]
Add new memchr/strrchr tests.
There are new optimizations for these functions, so adding some extra
testing for these routines.
Also, clean up the strchr test slightly with some extra comments.
Test: Ran new tests on glibc version, and on angler.
Change-Id: I41bf4e5e2c84295cc1ce9d2226ed57c2d228d7b8
Treehugger Robot [Sat, 6 May 2017 00:56:20 +0000 (00:56 +0000)]
Merge "Make raise/abort work with stale cached pid/tid values."
Josh Gao [Fri, 5 May 2017 20:27:15 +0000 (13:27 -0700)]
Make raise/abort work with stale cached pid/tid values.
Switch raise to using tgkill with direct syscalls of getpid/gettid,
and switch abort to use raise(SIGABRT).
Bug: http://b/
37769298
Test: debuggerd_test
Change-Id: If6f9d17fd8ae6177e742dc9f2f44bd78539431ba
Treehugger Robot [Fri, 5 May 2017 18:31:31 +0000 (18:31 +0000)]
Merge changes from topic 'mips_seccomp_fixes'
* changes:
[MIPS64] Enable necessary mips64 syscalls in seccomp whitelist
Fix MIPS seccomp definitions for PRIMARY and SECONDARY arch
Lazar Trsic [Fri, 5 May 2017 12:44:11 +0000 (14:44 +0200)]
[MIPS64] Enable necessary mips64 syscalls in seccomp whitelist
Allow execution of: newfstatat, fstat and cacheflush syscalls
for mips64 arch.
Test: Boot mips64 emulator to homescreen with 3.18 kernel.
emulator -kernel prebuilts/qemu-kernel/mips64/3.18/kernel-qemu2
Change-Id: Ib5d6b0060f3e17b64d86fc944aa83a5240d512f8
Lazar Trsic [Fri, 5 May 2017 12:29:34 +0000 (14:29 +0200)]
Fix MIPS seccomp definitions for PRIMARY and SECONDARY arch
Set correct values for PRIMARY and SECONDARY arch definitions
to match LE MIPS architectures.
This change is resolving boot problem for mips32 arch with 3.18 kernel.
This also fixes mips64 issue related to PRIMARY_ARCH definition,
but in order to boot to home screen it needs additional syscalls whitelisted
which will be introduced in separate patch.
Tested on emulator:
emulator -kernel prebuilts/qemu-kernel/mips/3.18/kernel-qemu2
Change-Id: I68dfd136c22141933a8a8c5336db01a02f00b0df
Treehugger Robot [Fri, 5 May 2017 07:15:08 +0000 (07:15 +0000)]
Merge "libc: clean up ARM64 copyright notices"
Jake Weinstein [Thu, 4 May 2017 16:08:39 +0000 (12:08 -0400)]
libc: clean up ARM64 copyright notices
Test: None needed
Change-Id: I3626a92329e954f67bada6ed73f3033225bbfef5
Treehugger Robot [Thu, 4 May 2017 04:08:22 +0000 (04:08 +0000)]
Merge changes Ia7200bf0,I86999bb7
* changes:
versioner: fix leak.
versioner: add symlink for dependencies.
Dimitry Ivanov [Wed, 3 May 2017 18:01:00 +0000 (11:01 -0700)]
Remove known failures from arm ifunc tests
Since clang does not produce IRELATIVE relocations
this test started passing when we switched away from gcc
This is still a problem because it now leads to
situation where static ifuncs become globally visible
but this is a different problem.
Test: bionic-unit-tests --gtest_filer=dl*
Change-Id: Id27ba5093b88519c00acbc43ab8a991a671a9f51
Christopher Ferris [Wed, 3 May 2017 17:43:33 +0000 (17:43 +0000)]
Merge "Move libc_log code into libasync_safe."
Dimitry Ivanov [Wed, 3 May 2017 16:11:25 +0000 (16:11 +0000)]
Merge "Add ifunc for variable test-case"
Christopher Ferris [Tue, 25 Apr 2017 00:48:32 +0000 (17:48 -0700)]
Move libc_log code into libasync_safe.
This library is used by a number of different libraries in the system.
Make it easy for platform libraries to use this library and create
an actual exported include file.
Change the names of the functions to reflect the new name of the library.
Run clang_format on the async_safe_log.cpp file since the formatting is
all over the place.
Bug:
31919199
Test: Compiled for angler/bullhead, and booted.
Test: Ran bionic unit tests.
Test: Ran the malloc debug tests.
Change-Id: I8071bf690c17b0ea3bc8dc5749cdd5b6ad58478a
Treehugger Robot [Wed, 3 May 2017 01:28:34 +0000 (01:28 +0000)]
Merge "Shared namespaces inherit parent ns properties"
Dimitry Ivanov [Tue, 2 May 2017 00:45:38 +0000 (17:45 -0700)]
Shared namespaces inherit parent ns properties
Make shared namespace inherit namespace links and
search/permitted paths from the parent namespace.
Bug: http://b/
37854032
Test: bionic_unit_tests --gtest_filter=dl*:Dl*
Change-Id: I174661d4a1dd0cbe4a378179073719aa955f3592
(cherry picked from commit
ec43dd6c36d75014c4e4dc592dd67ab20033a76a)
Dimitry Ivanov [Tue, 2 May 2017 23:31:56 +0000 (16:31 -0700)]
Add ifunc for variable test-case
Also move ifunc tests to clang and c++.
Test: bionic-unit-tests --gtest_filter=dlfcn.ifunc*
Change-Id: I008c4fc01470c8e4d314003c03a2b63ff9bf7fd8
Yabin Cui [Tue, 2 May 2017 23:20:32 +0000 (23:20 +0000)]
Merge "Fix pthread_barrier_smoke test (part 2)."
Yabin Cui [Tue, 2 May 2017 23:18:13 +0000 (16:18 -0700)]
Fix pthread_barrier_smoke test (part 2).
Bug:http://b/
37652807
Test: run bionic-unit-tests.
Change-Id: Iaea553177956c5d08f754210273637f69d888c20
Treehugger Robot [Tue, 2 May 2017 22:25:58 +0000 (22:25 +0000)]
Merge "Fix test compile errors after LLVM rebase"
Treehugger Robot [Tue, 2 May 2017 21:51:40 +0000 (21:51 +0000)]
Merge "Fix pthread_barrier_smoke test."
Yi Kong [Sun, 30 Apr 2017 22:08:05 +0000 (15:08 -0700)]
Fix test compile errors after LLVM rebase
After the new rebase of Clang, we now support the alloc_size attribute,
so we can remove the warning about switching to alloc_size once Clang
has support.
Also fix an issue where 'false' is returned in a main method.
Test: make cts
Bug:
37752547
Change-Id: I32ee814aaa0338567cb8174a68d7ee1bfece2f75
Yabin Cui [Tue, 2 May 2017 19:57:39 +0000 (12:57 -0700)]
Fix pthread_barrier_smoke test.
Bug: http://b/
37652807
Test: run bionic-unit-tests.
Change-Id: Id7245223bc2a284efed6e710892b58947ef5d555
Treehugger Robot [Tue, 2 May 2017 03:50:28 +0000 (03:50 +0000)]
Merge "versioner: disable container overflow checks"
Treehugger Robot [Tue, 2 May 2017 01:37:02 +0000 (01:37 +0000)]
Merge "linker: add android_get_exported_namespace"
Andreas Gampe [Sat, 29 Apr 2017 02:32:13 +0000 (19:32 -0700)]
versioner: disable container overflow checks
Temporary workaround.
Bug:
37775238
Test: ASAN_OPTIONS= SANITIZE_HOST=address m
Change-Id: If9e9df45d83f8412caafcece87337a5c9df3a1c8
Treehugger Robot [Mon, 1 May 2017 20:17:20 +0000 (20:17 +0000)]
Merge "fix half-deleted comments in tests"
George Burgess IV [Mon, 1 May 2017 18:15:30 +0000 (11:15 -0700)]
fix half-deleted comments in tests
they were half-deleted in If341a27756d608a0fa77ba6518e9bcc725f7632c.
Bug: None
Test: mma
Change-Id: I4e0c8208a7f2a55d273f4c87adca1d755dc98b77
Elliott Hughes [Mon, 1 May 2017 14:42:50 +0000 (14:42 +0000)]
Merge "Restore ELF32_ST_INFO/ELF64_ST_INFO."
Elliott Hughes [Mon, 1 May 2017 05:56:10 +0000 (22:56 -0700)]
Restore ELF32_ST_INFO/ELF64_ST_INFO.
Mistakenly removed years ago, along with its genuinely duplicated companions.
This patch also redefines one of those rather than use the Linux uapi header
definition, which leads to signed/unsigned warnings in calling code.
Bug: https://github.com/android-ndk/ndk/issues/377
Test: ran tests
Change-Id: Ib25b17949f04969f12b945ca88ab87d080677cf9
Treehugger Robot [Fri, 28 Apr 2017 02:48:02 +0000 (02:48 +0000)]
Merge "Include the libc/kernel/android/scsi headers in the NDK."
Jiyong Park [Mon, 3 Apr 2017 14:10:37 +0000 (23:10 +0900)]
linker: add android_get_exported_namespace
Depending on how ld.config.txt is configured, there can be multiple
built-in namespaces created by the linker from the beginning of a
process. android_get_exported_namespace is a platform only API for
getting a handle (android_namespace_t*) to one of the built-in namespaces
with given name. The returned namespace can then be given to
android_dlopen_ext in order to explicitly specify the target namespace
where the library is searched and loaded from.
Note that this function only returns 'exported' namespaces created via
ld.config.txt file. In order to export a namespace, the visible property
should be set to true:
namespace.<name>.visible = true
Namespaces are hidden by default. Hidden namespaces and namespaces
that are created programmatically, notably 'classloader-namespace',
aren't returned by this function.
Bug:
36851137
Test: confirmed that namespaces created with ld.config.txt is retrieved.
Test: linker-unit-tests passes
Merged-in: I714b510fa24f77e42c3dfc4c827b3befa8bb2951
Change-Id: I0d05fa7e0e116009edf8ea362ab46774bc617cbf
(cherry picked from commit
d7c4832e6a640be972017e85ab21e72950dfeddd)
Josh Gao [Fri, 28 Apr 2017 00:22:52 +0000 (17:22 -0700)]
versioner: fix leak.
Replace an intentional leak of a buffer allocated by realpath with a use
of android::base::Realpath.
Bug: http://b/
37727515
Test: tools/versioner/run_tests.py
Change-Id: Ia7200bf0e1c485050e860e21ff15784941366bec
Josh Gao [Mon, 3 Apr 2017 20:02:57 +0000 (13:02 -0700)]
versioner: add symlink for dependencies.
Add a symlink where dependencies used to live, so that `versioner`
works.
Test: versioner
Test: tools/versioner/run_tests.py
Change-Id: I86999bb79baad16039709306591cb9540fb533ca
Elliott Hughes [Thu, 27 Apr 2017 23:26:55 +0000 (16:26 -0700)]
Include the libc/kernel/android/scsi headers in the NDK.
We have some non-upstream (but Android common kernel) scsi headers to include
in the NDK.
Bug: N/A
Test: checked out/soong/ndk/sysroot
Change-Id: If7611e1e554ada63f266ec99d95dfedb99562ae9
Elliott Hughes [Thu, 27 Apr 2017 15:40:36 +0000 (15:40 +0000)]
Merge "Compare Pss of tested library in VerifyMemorySaving"
Treehugger Robot [Thu, 27 Apr 2017 07:44:13 +0000 (07:44 +0000)]
Merge "Make dl_iterate_phdr weak in libdl."
Treehugger Robot [Thu, 27 Apr 2017 00:42:14 +0000 (00:42 +0000)]
Merge "watchpoint_imprecise test: set 4-byte watchpoints on 32-bit arches"
Zhenhua WANG [Tue, 25 Apr 2017 03:07:19 +0000 (11:07 +0800)]
Compare Pss of tested library in VerifyMemorySaving
DlExtRelroSharingTest.VerifyMemorySaving verifies whether
android_dlopen_ext(ANDROID_DLEXT_USE_RELRO) really saves memory.
This patch compares Pss of the tested library rather than total
Pss of the process, in case different behavior of dlopen() and
android_dlopen_ext() introduces random Pss usage.
Test: DlExtRelroSharingTest.VerifyMemorySaving
Change-Id: I696eca736018fca5d9ec9385ac1c79ced280281d
Yi Kong [Wed, 26 Apr 2017 23:00:40 +0000 (23:00 +0000)]
Merge "Update bionic after Clang rebase"
Elliott Hughes [Wed, 26 Apr 2017 22:16:19 +0000 (22:16 +0000)]
Merge "Make unified headers' SIGRTMIN/SIGRTMAX usable before API 21."
Elliott Hughes [Tue, 25 Apr 2017 22:45:29 +0000 (15:45 -0700)]
Make unified headers' SIGRTMIN/SIGRTMAX usable before API 21.
Bug: https://github.com/android-ndk/ndk/issues/352
Test: built new NDK test
Change-Id: Iacebe574bbf693701949e038005a40ba6520d592
Yi Kong [Thu, 20 Apr 2017 21:27:28 +0000 (14:27 -0700)]
Update bionic after Clang rebase
After the new rebase of Clang, we now supports alloc_size attribute, so
we can remove the warning about switching to alloc_size once Clang has
support.
Compiler.setInvocation has changed argument type from raw pointer to
shared pointer. Add version check here so that we can build under either
old rebase or the new rebase.
Test: build
Bug:
37423073
Change-Id: I4563eaf93bae6c59a4a19318f8caa92bd361b3ab
Pavel Labath [Wed, 26 Apr 2017 10:30:06 +0000 (11:30 +0100)]
watchpoint_imprecise test: set 4-byte watchpoints on 32-bit arches
8-byte watchpoints are not supported on 32-bit kernels (at least on x86,
probably arm as well). 8-byte watchpoints are not required for this
test, so just decrease the size of watchpoints on these architectures.
Change-Id: Ie96b4bc8ce0ad8c924ac737083cf9fe0182aee4d
Test: bionic-unit-tests-static --gtest_filter=sys_ptrace.*
Bug:
37662849
Dan Albert [Tue, 25 Apr 2017 22:42:42 +0000 (15:42 -0700)]
Make dl_iterate_phdr weak in libdl.
This needs to be defined as weak because it is also defined in libc.a.
Without this, static executables will have a multiple definition
error.
Test: make checkbuild
Bug: None
Change-Id: If2024ef4191c8ab7cf087d21d76fefdc92b58da1
Elliott Hughes [Mon, 24 Apr 2017 17:52:11 +0000 (17:52 +0000)]
Merge "Add basic tests for <link.h>."
Christopher Ferris [Sat, 22 Apr 2017 19:16:37 +0000 (19:16 +0000)]
Merge "Update static functions/macro definitions."
Christopher Ferris [Thu, 20 Apr 2017 20:38:49 +0000 (13:38 -0700)]
Update static functions/macro definitions.
Fix the list of static functions coming from swab.h to match the
ones exported by glibc.
Force the definition of __HAVE_BUILTIN_BSWAP{16,32,64}__ so the headers
use the builtin.
Add a unit test to guarantee that kernel header updates do not break this.
Test: Built and booted angler.
Test: Built the bionic unit tests for arm, arm64, mips, x86, x86_64.
Test: Ran the new test on angler and glibc.
Change-Id: I4ce229e3f198c204186d72bf22dd97b5cdf239e4