Hi I use gdbserver to debug my program. The problem is gdb can't load library file correctly. Belowed is snapshot for my debug process. I think I have set the right path for loading library file. metrodev:/home/chenxi # ppc_8xx-ldd metro.elf libpthread.so.0 => /opt/montavista/pro/devkit/ppc/8xx/target/lib/libpthread.so.0 (0xdead1000) librt.so.1 => /opt/montavista/pro/devkit/ppc/8xx/target/lib/librt.so.1 (0xdead2000) libstdc++.so.5 => /opt/montavista/pro/devkit/ppc/8xx/target/usr/lib/libstdc++.so.5 (0xdead3000) libm.so.6 => /opt/montavista/pro/devkit/ppc/8xx/target/lib/libm.so.6 (0xdead4000) libgcc_s.so.1 => /opt/montavista/pro/devkit/ppc/8xx/target/lib/libgcc_s.so.1 (0xdead5000) libc.so.6 => /opt/montavista/pro/devkit/ppc/8xx/target/lib/libc.so.6 (0xdead6000) /lib/ld.so.1 => /opt/montavista/pro/devkit/ppc/8xx/target/lib/ld.so.1 (0xdead7000) metrodev:/home/chenxi/cpu_io_v106_af/cpu_v106_af/cpu_v/Debug # ppc-linux-gdb metro.elf GNU gdb 6.6 Copyright (C) 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "--host=i686-pc-linux-gnu --target=ppc-linux"... =========================================================== (gdb) set solib-absolute-prefix /opt/montavista/pro/devkit/ppc/8xx/target/ ============================================================== (gdb) target remote 192.168.70.99:1234 Remote debugging using 192.168.70.99:1234 _start () at ../sysdeps/powerpc/powerpc32/dl-start.S:33 33 ../sysdeps/powerpc/powerpc32/dl-start.S: No such file or directory. in ../sysdeps/powerpc/powerpc32/dl-start.S Current language: auto; currently asm (gdb) b main Breakpoint 1 at 0x1000a5cc: file ../working/src/root.cpp, line 232. (gdb) list 28 in ../sysdeps/powerpc/powerpc32/dl-start.S (gdb) continue Continuing. Error while mapping shared library sections: /mnt/cf/shared/lib/libpthread.so.0: No such file or directory. Error while mapping shared library sections: /mnt/cf/shared/lib/librt.so.1: No such file or directory. Error while mapping shared library sections: /mnt/cf/shared/lib/libstdc++.so.5: No such file or directory. Error while mapping shared library sections: /mnt/cf/shared/lib/libm.so.6: No such file or directory. Breakpoint 1, main (argc=2147483016, argv=0xfc32da4) at ../working/src/root.cpp:232 232 pthread_attr_init( &init_attr ); Current language: auto; currently c++ (gdb) info sharedlibrary >From To Syms Read Shared Object Library 0x30001f90 0x30013760 Yes /opt/montavista/pro/devkit/ppc/8xx/target/lib/ld.so.1 No /mnt/cf/shared/lib/libpthread.so.0 No /mnt/cf/shared/lib/librt.so.1 No /mnt/cf/shared/lib/libstdc++.so.5 No /mnt/cf/shared/lib/libm.so.6 0x0fd7da40 0x0fd86f3c Yes /opt/montavista/pro/devkit/ppc/8xx/target/lib/libgcc_s.so.1 0x0fc32ad0 0x0fd3a1fc Yes /opt/montavista/pro/devkit/ppc/8xx/target/lib/libc.so.6 (gdb) I don't know why the path changed to /mnt/cf/shared/lib, this is my target lib path. I just know gcc -print-search-dirs to display the the lib path for compile. Could anyone tell me the parameter to display the lib path for running and how can I change the lib path. Set LD_LIBRARY_PATH or other else.
Thx, Xi