diff options
author | Pavel Chupin <pavel.v.chupin@intel.com> | 2013-12-09 18:08:48 +0400 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2013-12-12 11:18:46 -0800 |
commit | 5407eed84b98056a5af7d95007d8d511ebad60e4 (patch) | |
tree | 4d3d1319713ade70f6ae29026b06a97b915af7c0 /linker | |
parent | 38fcbbb35a40c46e96b4df10d670d1c132910854 (diff) | |
download | bionic-5407eed84b98056a5af7d95007d8d511ebad60e4.zip bionic-5407eed84b98056a5af7d95007d8d511ebad60e4.tar.gz bionic-5407eed84b98056a5af7d95007d8d511ebad60e4.tar.bz2 |
Fix debugging issues in vdso handling
Under valgrind ehdr_vdso is null and causing segfault.
Adding debug info for vdso producing plenty of issues on debugging
through gdbserver, removing it. It doesn't seem it should be here.
Unwinding through vdso test still works.
Change-Id: I1a7e233c493f2268d725fa8d7279822d07decc49
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
Diffstat (limited to 'linker')
-rwxr-xr-x | linker/linker.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/linker/linker.cpp b/linker/linker.cpp index fe4d6c4..6ebba8e 100755 --- a/linker/linker.cpp +++ b/linker/linker.cpp @@ -1750,6 +1750,9 @@ static bool soinfo_link_image(soinfo* si) { static void add_vdso(KernelArgumentBlock& args UNUSED) { #if defined(AT_SYSINFO_EHDR) Elf_Ehdr* ehdr_vdso = reinterpret_cast<Elf_Ehdr*>(args.getauxval(AT_SYSINFO_EHDR)); + if (ehdr_vdso == NULL) { + return; + } soinfo* si = soinfo_alloc("[vdso]"); @@ -1761,7 +1764,6 @@ static void add_vdso(KernelArgumentBlock& args UNUSED) { si->load_bias = get_elf_exec_load_bias(ehdr_vdso); soinfo_link_image(si); - insert_soinfo_into_debug_map(si); #endif } |