* commit 'd3cd66185f63a75ec9f0fca69bd6594c310dbaa8':
Fix arm64 and arm builds.
Fix symbol lookup order during relocation
Fix mips build
Remove unnecessary lookups during relocations
Fix relocation to look for symbols in local group
Correct way to specify additional dependencies
Add dlfcn_test to glibc test suite.
Ignore DT_BIND_NOW (0x18)
Resolve "unused DT entry" warnings for x86_64
Add RTLD_NODELETE flag support
Fix mips build
Fix unused DT entry warnings.
Return has_DT_SYMBOLIC flag.
Fix a couple more cases of missing CLOEXEC.
Temporary disable DL_WARNs for unused DT_*
Fix 64bit build
Fix some unused DT_ warnings
Remove has_DT_SYMBOLIC flag
Fix dlsym() to take into account RTLD_GLOBAL/LOCAL
Reformatting
Relocate symbol against DF_1_GLOBAL shared libraries
loaded before this shared library. This includes
main executable, ld_preloads and other libraries
that have DF_1_GLOBAL flag set.
Bug: 2643900
Bug: 15432753
Bug: 18186310
(cherry picked from commit d225a5e65223b375a63548c4b780f04d8f3d7b60)
Change-Id: I4e889cdf2dfbf8230b0790053d311ee6b0d0ee2d
local_group includes this library and its dependencies.
Bug: 18186310
(cherry picked from commit e47b3f8456fc34ac136e9fddef59a9ae37febcbe)
Change-Id: I93c2d873e924df7319569307444bf603d7d27bf0
The local group is a sequence of libraries in default (breadth-first)
order. It allows RTLD_LOCALLY loaded library to correctly relocate
symbols within its group (see test-cases).
Local group lookup is performed after main executable and ld_preloads.
Bug: 2643900
Bug: 15432753
Bug: 18186310
(cherry picked from commit cfa97f172dc1b10d650fefbb6ccffd88ce72a5fb)
Change-Id: I5fa8c673f929e4652c738912c7ae078d7ec286d2
Previous one was not covering all the targets
Bug: 17548097
Bug: 18186310
(cherry picked from commit 4a9e1937c56511aef579312bf39ab345f9179230)
Change-Id: I2cd9e58893555d16cbfe291b2d1279621489d5ad
DT_STRSZ Implement strtab boundary checks
DT_FLAGS_1 Warn if flags other than DF_1_NOW|DF_1_GLOBAL are set
Bug: 17552334
Bug: 18186310
(cherry picked from commit 6cdeb5234d7f4523fe9d83974f265d80f10512a6)
Change-Id: I7ffc7bc600798308a77ad949a644949b64250ae2
This reverts commit 8f61d991831f0ea515fa50a5c38dbbcfbab0dd28
Despite the fact that static linker does all the work while linking
-Bsymbolic executables, according to the SCO doc following DT_SYMBOLIC
and DF_SYMBOLIC flags is still a requirement for the dynamic linker
as well.
(see http://www.sco.com/developers/gabi/2012-12-31/ch5.dynamic.html)
Bug: 18186310
(cherry picked from commit 96bc37f2e1093416a432135265fd7a4db6c3df17)
Change-Id: Ie217be4f3305d877066e4cfe91975ae1c7768330
The debuggerd case can probably never happen, because you're crashing at this
point anyway. The system property one seems possible though.
Bug: 18186310
(cherry picked from commit 0dc39f9952c5e3a3121ea77357bb264ef0f8ded7)
Change-Id: I3e84488fc246f6c28cbd82e96d0cd4343a12c28a
From the elf-spec: "Symbolically bound shared objects are
identified by the .dynamic entry DT_SYMBOLIC. This tag is
informational only; the runtime linker processes symbol
lookups from these objects in the same manner as any
other object."
Bug: 18186310
(cherry picked from commit 8f61d991831f0ea515fa50a5c38dbbcfbab0dd28)
Change-Id: I37024799ac8d1837993c8ae78780a448bedd6539
Symbols from libraries opened with RTLD_LOCAL (default)
should not be visible via dlsym(RLTD_DEFAULT/RTLD_NEXT, .)
Bug: 17512583
Bug: 18186310
(cherry picked from commit e8ba50fe0d51fbefee1a8f5bb62bf51d841512c8)
Change-Id: Idf6bbe2233fb2bfc0c88677e7d1fc518fb3f7a8b
Relocate symbol against DF_1_GLOBAL shared libraries
loaded before this shared library. This includes
main executable, ld_preloads and other libraries
that have DF_1_GLOBAL flag set.
Bug: 2643900
Bug: 15432753
Change-Id: Ia788748be59b739d1c7e62b978e7e255f9e65c7b
Any pre-C++11 clients of stdatomic.h that use libc++ are being forced
over to <atomic>, which they don't have the language support to use.
Bug:17736764
Change-Id: I62445c1f2541410a1569498c09433c7196635537
(cherry picked from commit 3ce0769aa5f9a991af1d167f730d987dd002253c)
* commit '20cc6b695a8ceaf801f53f0526f0ed5d588d7d9d':
Fix the type of u_ar0 in <sys/user.h>.
Add greg_t for arm64.
POSIX says <signal.h> gets you ucontext_t.
Add in_port_t and move it and in_addr_t to the correct header file.
Add stpcpy assembler version.
Cleanup arm assembly.
Add __memcpy_chk assembly for 64 bit.
Clean up the architecture-specific makefiles.
No arm source refers to SOFTFLOAT.