Project Home
Project Home
Trackers
Trackers
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - Can't find shared library symbolss : (2 Items)
   
Can't find shared library symbolss  
Hi,

I've read the debugger FAQ on shared libarary symbol inclusion, and believe to have followed the directions found there 
however, gdb is not loading the symbols.

We have two share libraries that are being loaded onto the target at debug time.  Opening the shared libs shows that the
 library names in the elf binary are correct (headers from both are below) and that the paths are also valid.  I've even
 tried varios path names in the Shared Library Tab under the debugger tab to get gdb to load the symbols.  It simply 
refuses to do so.


It seems as though it is ignoring the path to these shared libs, but so far I've been unable to figure out why.  Below 
is some relevant output:

gdb startup output:

MsgNak received - resending
Remote target is little-endian
attach 700433

[New process 700433 thread 1 (state = 0x03)]
0xb0334792 in ?? ()

No source file named register.c.
Error while mapping shared library sections:
libgeneral_g.so: No such file or directory.

Error while mapping shared library sections:
libdrivers_g.so: No such file or directory.

Stopped due to shared library event
No source file named register.c.

info sharedlib
From        To          Syms Read   Shared Object Library
0xb8200000  0xb824d72c  Yes         C:/QNX632/target/qnx6/x86/lib/libstdc++.so.2.2.10.0
                        No          libgeneral_g.so
                        No          libdrivers_g.so
0xb0300000  0xb035de80  Yes         C:/QNX632/target/qnx6/x86/lib/libc.so.2
0xb8276000  0xb8291454  Yes         C:/QNX632/target/qnx6/x86/lib/libm.so.2


The following are the headers of the shared libraries being copied over:


C:\ARI\hydril\HydrilUMBrian\HydrilUM\general\o-g\libgeneral_g.so:     file format elf32-i386
C:\ARI\hydril\HydrilUMBrian\HydrilUM\general\o-g\libgeneral_g.so
architecture: i386, flags 0x00000150:
HAS_SYMS, DYNAMIC, D_PAGED
start address 0x000015c4


C:\ARI\hydril\HydrilUMBrian\HydrilUM\driver\o-g\libdrivers_g.so:     file format elf32-i386
C:\ARI\hydril\HydrilUMBrian\HydrilUM\driver\o-g\libdrivers_g.so
architecture: i386, flags 0x00000150:
HAS_SYMS, DYNAMIC, D_PAGED
start address 0x00003eec

Thanks
Kevin


Re: Can't find shared library symbolss  
I cannot give you much else, FAQ has all the tricks...
1) Check that file name libgeneral_g.so exists in the path you specify
at Shared Libraries tab ON HOST machine
2) Check that NEEDED section in binary has exact same library as a
file name (not .2 or .1)
3) Check that there is no SO version in the library itself

Try also to open Modules view when debugging, right click on your
library and select "Load Symbols"

What ide version and what gdb version is it btw?
Kevin Stallard wrote:
> Hi,
>
> I've read the debugger FAQ on shared libarary symbol inclusion, and believe to have followed the directions found 
there however, gdb is not loading the symbols.
>
> We have two share libraries that are being loaded onto the target at debug time.  Opening the shared libs shows that 
the library names in the elf binary are correct (headers from both are below) and that the paths are also valid.  I've 
even tried varios path names in the Shared Library Tab under the debugger tab to get gdb to load the symbols.  It simply
 refuses to do so.
>
>
> It seems as though it is ignoring the path to these shared libs, but so far I've been unable to figure out why.  Below
 is some relevant output:
>
> gdb startup output:
>
> MsgNak received - resending
> Remote target is little-endian
> attach 700433
>
> [New process 700433 thread 1 (state = 0x03)]
> 0xb0334792 in ?? ()
>
> No source file named register.c.
> Error while mapping shared library sections:
> libgeneral_g.so: No such file or directory.
>
> Error while mapping shared library sections:
> libdrivers_g.so: No such file or directory.
>
> Stopped due to shared library event
> No source file named register.c.
>
> info sharedlib
> From        To          Syms Read   Shared Object Library
> 0xb8200000  0xb824d72c  Yes         C:/QNX632/target/qnx6/x86/lib/libstdc++.so.2.2.10.0
>                         No          libgeneral_g.so
>                         No          libdrivers_g.so
> 0xb0300000  0xb035de80  Yes         C:/QNX632/target/qnx6/x86/lib/libc.so.2
> 0xb8276000  0xb8291454  Yes         C:/QNX632/target/qnx6/x86/lib/libm.so.2
>
>
> The following are the headers of the shared libraries being copied over:
>
>
> C:\ARI\hydril\HydrilUMBrian\HydrilUM\general\o-g\libgeneral_g.so:     file format elf32-i386
> C:\ARI\hydril\HydrilUMBrian\HydrilUM\general\o-g\libgeneral_g.so
> architecture: i386, flags 0x00000150:
> HAS_SYMS, DYNAMIC, D_PAGED
> start address 0x000015c4
>
>
> C:\ARI\hydril\HydrilUMBrian\HydrilUM\driver\o-g\libdrivers_g.so:     file format elf32-i386
> C:\ARI\hydril\HydrilUMBrian\HydrilUM\driver\o-g\libdrivers_g.so
> architecture: i386, flags 0x00000150:
> HAS_SYMS, DYNAMIC, D_PAGED
> start address 0x00003eec
>
> Thanks
> Kevin
>
>
>
>
>
>
> _______________________________________________
>
> General
> http://community.qnx.com/sf/go/post39292
>
>