Wind River Support Network

HomeDefectsLIN6-3729
Fixed

LIN6-3729 : gdb: warning: Could not load shared library symbols for linux-vdso32.so.1. Do you need "set solib-search-path" or "set sysroot"?

Created: Jan 31, 2013    Updated: Mar 10, 2016
Resolved Date: Dec 2, 2013
Previous ID: LIN5-2560, LIN6-2982
Found In Version: 6.0
Fix Version: 6.0
Severity: Severe
Applicable for: Wind River Linux 6
Component/s: Toolchain

Description

Found in relation to WIND00401487

When I did with defect WIND00401487:
"[Feature Testing][networking]: the case gdb.sh in CUT will failed if your terminal window is not big enough",
gdb will display:

warning: Could not load shared library symbols for linux-vdso32.so.1.
Do you need "set solib-search-path" or "set sysroot"?

This is a minor known bug. The patch gdb-glibc-vdso-workaround.patch can fix it.
But I can not make sure whether we should fix it or not. So I write this mail.



gdb-glibc-vdso-workaround.patch

--------------------Patch Begin-------------------------------

http://sourceware.org/ml/gdb-patches/2011-08/msg00331.html
Subject: [RFC] Work around PR libc/13097 "linux-vdso.so.1" #2



missed the x86_64-m32 case:

gdb/


    Work around PR libc/13097.
    * solib.c (update_solib_list): Ignore "linux-vdso.so.1".

--- a/gdb/solib.c
+++ b/gdb/solib.c
@@ -783,8 +783,11 @@ update_solib_list (int from_tty, struct target_ops *target)

       TRY_CATCH (e, RETURN_MASK_ERROR)
         {
-          /* Fill in the rest of the `struct so_list' node.  */
-          if (!solib_map_sections (i))
+          /* Fill in the rest of the `struct so_list' node.
+         Work around PR libc/13097.  */
+          if (!solib_map_sections (i)
+          && strcmp (i->so_original_name, "linux-vdso.so.1") != 0
+          && strcmp (i->so_original_name, "linux-gate.so.1") != 0)
         {
           not_found++;
           if (not_found_filename == NULL)

----------------------------Patch End------------------------ 

Steps to Reproduce

Following steps are taken from WIND00401487:

Steps To Reproduce: 1 configure a project
/buildarea/product/LX22_12SP_501/wrlinux-5/wrlinux/configure --enable-board=intel-xeon-core --enable-kernel=cgl --enable-rootfs=glibc_cgl --enable-parallel-pkgbuilds=16 --enable-jobs=8 --with-layer=wr-features,examples/hello-world,/wr-testing/cgl,/wr-testing/ltp,/wr-testing/networking --with-template=feature/lsbtesting,feature/hello-world,feature/cut --with-sstate-dir=/sstate-intel-xeon-core
2. make fs
3. start the target with the kernel and rootfs
4. make your terminal window small enough, such as 1/3 full screen.
5. on target:
	cd /opt/cut
	./cgl_test.sh -e gdb.sh
Live chat
Online