| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
Bug: 8410085
Merge from internal master.
(cherry-picked from cb491bc66dc0abc145930b09086eb9189a30f6c2)
Change-Id: I94ed51bc5d4c626df7552c0e85c31ccee2d6568f
|
|
|
|
|
|
|
|
| |
Bug: 10094803
(cherry picked from commit 7ee26878065abb494600595349ce58b2b2db3709)
Change-Id: Ib15bccecaee421dc463d46a3956b054051708759
|
|
|
|
| |
Change-Id: I24f30bd0c1120bcf85d77f5c4e69f0fefe9a2478
|
|\
| |
| |
| |
| | |
* commit '2be511d405d47eccc61a6e3c338d1877bf33b4fa':
Improve stack overflow diagnostics (take 2).
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commits eb1b07469f2b5a392dc1bfd8adc211aea8c72bc5 and
d14dc3b87fbf80553f1cafa453816b7f11366627, and fixes the bug where
we were calling mmap (which might cause errno to be set) before
__set_tls (which is required to implement errno).
Bug: 8557703
Change-Id: I2c36d00240c56e156e1bb430d8c22a73a068b70c
|
|\ \
| |/
| |
| |
| | |
* commit '2cf5a6f6627549842c0c840ff3615ae942a90ea3':
Revert "Improve stack overflow diagnostics."
|
| |
| |
| |
| |
| |
| | |
This reverts commit aa754dca90487356cabf07ade0e8d88c2630b784.
Change-Id: Ifa76eee31f7f44075eb3a48554315b2693062f44
|
|\ \
| |/
| |
| |
| | |
* commit '026867c7dcce7828212dcd4a61806146908e9039':
Improve stack overflow diagnostics.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We notify debuggerd of problems by installing signal handlers. That's
fine except for when the signal is caused by us running off the end of
a thread's stack and into the guard page.
Bug: 8557703
Change-Id: I1ef65b4bb3bbca7e9a9743056177094921e60ed3
|
|\ \
| |/
| |
| |
| | |
* commit '7d624e9aff4c6addea7f2275fe58ff0815d95c70':
Kernel dso support for 'dl_iterate_phdr' function
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Kernel provides virtual DSO for stack unwinding/exception handlind info for
signal usage case. Stack unwinding routines use 'dl_iterate_phdr' function
for additional DWARF info gathering from DSOs. Patch enables virtual DSO
enumeration via dl_iterate_phdr function.
Signed-off-by: Sergey Melnikov <sergey.melnikov@intel.com>
Change-Id: Ic2882b28f40b456a088bc1e63c50cbfda7e4a102
|
|\ \
| |/
| |
| |
| | |
* commit '53ddcc90701d86c7d809a84cf4710c651066e3c7':
linker: Emit a warning on text relocations
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Text relocations unnecessarily mark pages as dirty, preventing them
from being swapped out, wasting memory. Also, text relocations
prevent the code from running on certain hardened systems.
Print a message in logcat and stderr when we see a text relocation,
to encourage developers to fix their code.
Change-Id: I6051a7463911e090ae5727a355397d539669d5b9
|
|\ \
| |/
| |
| |
| | |
* commit '6807af773f862750efb6860e00402580a5f463f3':
Make LD_PRELOAD failures just warnings.
|
| |
| |
| |
| |
| |
| |
| |
| | |
This matches glibc and makes life easier for developers who want to
sometimes preload a library from init (which has no conditionals); they
can simply move/remove the library to disable.
Change-Id: I579b8633f958235af6e46bb53b378b9e363afb1f
|
|\ \
| |/
| |
| |
| | |
* commit '8252b8e4b730b13623f31dc66396e000586d1c58':
Honor p_vaddr if set
|
| |
| |
| |
| |
| |
| | |
(cherry picked from commit 88ff15c2c279d2bbe3569101b36cd2aa0931a0a9)
Change-Id: I4aabbe911d30aea8ace69e29bb6e980a4e89de90
|
|\ \
| |/
| |
| |
| | |
* commit '0671393072a78e75a726c58aa3ca718e55eeac3e':
Small cleanup of soinfo_elf_lookup.
|
| |
| |
| |
| |
| |
| |
| | |
- Remove unnecessary line.
- Move declarations to first use.
Change-Id: I1d8398d6c13f7cb86bffe0b68af849e35a4b234d
|
|\ \
| |/
| |
| |
| | |
* commit 'f5f29de6ae5a0b74234f111b5691a1e5588671cb':
Fix bionic linker to support segments with zero p_filesz
|
| |
| |
| |
| |
| |
| | |
(cherry picked from commit 96362fb9d11beef6233aa03db396f25688e70860)
Change-Id: Ib075a6dfc45d5d0746d8b278f317dd9b8d772f2a
|
|\ \
| |/
| |
| |
| |
| |
| | |
constructors if a shared library has DT_PREINIT_ARRAY constructors."
* commit '98f7659d7e3a7d75c68a41299f6ee55d7d35c27b':
Don't fail to run DT_INIT and DT_INIT_ARRAY constructors if a shared library has DT_PREINIT_ARRAY constructors.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
has DT_PREINIT_ARRAY constructors.
The GNU dynamic linker silently ignores a DT_PREINIT_ARRAY section
in a shared library. We had ineffectual code that tried to report
an error, which I tried to fix but got wrong --- my version still
wouldn't report the error to the caller, but would prevent us from
continuing to call constructors.
Bug: 8825226
Change-Id: I4fd8450ecc44d8767a1cb808aeecfbfbfc77c070
|
|\ \
| |/
| |
| |
| | |
* commit '5f28fde8aeee047a70e344c9da937695dc51a3ba':
linker: only re-open std* for setuid programs.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
get_AT_SECURE() was getting called before linker_env_init() had
been called, and returning the default value ("true"). This was
causing us to reopen closed stdin, stdout, and stderr for ALL
processes, not just privileged (setuid) processes.
Calling path:
- __linker_init
- soinfo_link_image
- get_AT_SECURE
- __linker_init_post_relocation
- linker_env_init
This change restores the intended behavior of only re-opening
stdin, stdout, and stderr for privileged processes.
Change-Id: I8b085ea6597710ac4c1a3c93f1bf8b81eecb08c0
|
|\ \
| |/
| |
| |
| | |
* commit '240fb8623b1fe027d0d33a9d4c41d99ceb385b58':
Make abort messages available to debuggerd.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This adds __libc_fatal, cleans up the internal logging code a bit more,
and switches suitable callers over to __libc_fatal. In addition to logging,
__libc_fatal stashes the message somewhere that the debuggerd signal handler
can find it before calling abort.
In the debuggerd signal handler, we pass this address to debuggerd so that
it can come back with ptrace to read the message and present it to the user.
Bug: 8531731
Change-Id: I416ec1da38a8a1b0d0a582ccd7c8aaa681ed4a29
|
|\ \
| |/
| |
| |
| |
| |
| | |
.cpp/.c/.h"
* commit 'c48968d268820ee64986f738e227910b29290eab':
Drop unnecessary execution permission for .cpp/.c/.h
|
| |
| |
| |
| | |
Change-Id: I9ac2b9d8f6bdb4fab8962210c5ec8f9c3e8c0ebf
|
|\ \
| |/
| |
| |
| | |
* commit '5f8292050fc07f4bf9e70f37a807ad028e3cfc87':
Clean up internal libc logging.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We only need one logging API, and I prefer the one that does no
allocation and is thus safe to use in any context.
Also use O_CLOEXEC when opening the /dev/log files.
Move everything logging-related into one header file.
Change-Id: Ic1e3ea8e9b910dc29df351bff6c0aa4db26fbb58
|
|\ \
| |/
| |
| |
| |
| |
| | |
the linker."
* commit '5d998b4a21aab09da750e8e43cb608f5ee6b1f3d':
Use more types than just 'unsigned' in the linker.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Still chipping away at the situation where every variable in the
linker was of type 'unsigned'. This patch switches counts over to
being size_t and adds an explicit type for init/fini function pointers
and arrays of function pointers.
Also improve logging from CallArray.
Also remove trailing "\n"s from log messages.
Change-Id: Ie036d2622caac50f4d29f0570888bb527661d77e
|
|\ \
| |/
| |
| |
| | |
* commit '3c9afb5e17eaa2ed5a12d71a1a09fe85f06fcb48':
Use Elf32_Addr instead of unsigned in linker
|
| |
| |
| |
| | |
Change-Id: I52dcbb4b0ff0a4052e0ad7a9bbeb2df65c9d2f66
|
|\ \
| |/
| |
| | |
Change-Id: Ibf6340df901c870cd05a2ab56536ad23b6fd491c
|
| |
| |
| |
| |
| |
| | |
Also clean up some obsolete cruft.
Change-Id: Iec3b36f6607f7a08b72de99294ed5b6cd910dd5f
|
|\ \
| |/
| |
| |
| | |
* commit '91392116ff859b2e7656ded729b8c758107241aa':
Fix typo of DT_NEEDED for DT_NULL
|
| |
| |
| |
| |
| |
| | |
(cherry-pick of 138b205ea9efc117fe522c2d7191378023a6e2cd)
Change-Id: Ia895cb3018df55554627f1f61dcdfdada4a961ce
|
|\ \
| |/
| |
| |
| |
| |
| | |
build"
* commit '50a2cd865e7cc8c72d926548ed5d64e269003055':
Fix TIMING/STATS/COUNT_PAGES dynamic linker build
|
| |
| |
| |
| | |
Change-Id: I6432ac378816da253b83d1c7fb1d3fb64647b89e
|
|\ \
| |/
| |
| |
| | |
* commit '9043202b5bb8e0725b0302e9da9d3a57c837e798':
Fix MIPS linker build
|
| |
| |
| |
| |
| |
| | |
(cherry-picked from 8c7d8c2057e303985f78eab96da747ddaa013c78)
Change-Id: Idcf62ab95f8fccbc2d7c3e771a4cfbe768a1555e
|
|\ \
| |/
| |
| |
| | |
* commit '9a0b658c9c1f8f4492f61a75909e5ca2f05c3ac1':
More linker cleanup.
|
| |
| |
| |
| | |
Change-Id: I9fb3c7c0d4b4ffef0eeaf092d4e30ffe63a08671
|
|\ \
| |/
| |
| |
| |
| |
| | |
Elf32_Dyn"
* commit 'a2517de3844d95b5f00a4666b8dae00ef893ac24':
Minor linker cleanup, primarily to use Elf32_Dyn
|
| |
| |
| |
| | |
Change-Id: Ifa9408e9859c6f79444715bed4808b7c13fdced5
|
|\ \
| |/
| |
| |
| | |
* commit 'b5862d4d8a1246dc1e21695cf3bacafefedf0428':
Update linker README.
|
| |
| |
| |
| | |
Change-Id: Icaa353e9cf1848c86e7445f4ad590bdab44f7941
|
|\ \
| |/
| |
| |
| |
| | |
# Via Elliott Hughes (1) and Gerrit Code Review (1)
* commit '3002d64bcd4644456803dd0547d20b39e14be02c':
Everyone has a TLS register.
|