This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Trouble cross debugging



--- Dan Kegel <dank@kegel.com> wrote:

> On 2/21/06, EJS <ejshoor@yahoo.com> wrote:

> > "warning: Unable to find dynamic linker breakpoint
> > function.
> > GDB will be unable to debug shared library
> > initializers and track explicitly loaded dynamic
> > code."
> >
> > I had read somewhere that this message could be a
> > result of an "overstripped" ld-linux.so. 
<snip>
> 
> Sure.  Try a swift kick to the maintainer :-)
> I'll have a look and see if I can fix that.
> - Dan

OK, I did a little more research on this. Actually I
dont think that the ld-linux shlib is overstripped at
all. I dont know a lot about this, but I think that
the problem is that the symbol tables from the host
and target ld-linux shlibs just dont match. Are they
supposed to? I assume so.
Here is the host version built by crosstool:
$ objdump -T ld-linux.so.2  |more

ld-linux.so.2:     file format elf32-i386

DYNAMIC SYMBOL TABLE:
000000b4 l    d  .hash  00000000              .hash
000001e4 l    d  .dynsym        00000000             
.dynsym
00000434 l    d  .dynstr        00000000             
.dynstr
0000054a l    d  .gnu.version   00000000             
.gnu.version
00000594 l    d  .gnu.version_d 00000000             
.gnu.version_d
00000638 l    d  .rel.dyn       00000000             
.rel.dyn
000006d0 l    d  .rel.plt       00000000             
.rel.plt
000006f8 l    d  .plt   00000000              .plt
00000760 l    d  .text  00000000              .text
0000f880 l    d  .rodata        00000000             
.rodata
00013000 l    d  .data  00000000              .data
000135cc l    d  .eh_frame      00000000             
.eh_frame
00013778 l    d  .dynamic       00000000             
.dynamic
00013828 l    d  .got   00000000              .got
00013860 l    d  .bss   00000000              .bss
00000000 l    d  .comment       00000000             
.comment
00013000 g    DO .data  000003f4  GLIBC_PRIVATE
_rtld_global
0000d17c g    DF .text  00000108  GLIBC_PRIVATE
_dl_make_stack_executable
00013968 g    DO .bss   00000004  GLIBC_2.1  
__libc_stack_end
0000df50  w   DF .text  00000112  GLIBC_2.0  
__libc_memalign
0000e062  w   DF .text  0000002b  GLIBC_2.0   malloc
00000000 g    DO *ABS*  00000000  GLIBC_2.1  
GLIBC_2.1
00013960 g    DO .bss   00000004  GLIBC_PRIVATE
__libc_enable_secure
0000e08d  w   DF .text  00000027  GLIBC_2.0   calloc
0000b5f9 g    DF .text  00000005  GLIBC_PRIVATE
_dl_debug_state
00013860 g    DO .bss   00000004  GLIBC_PRIVATE
_dl_argv
00000000 g    DO *ABS*  00000000  GLIBC_2.0  
GLIBC_2.0
00000000 g    DO *ABS*  00000000  GLIBC_PRIVATE
GLIBC_PRIVATE
00013400 g    DO .data  000001cc  GLIBC_PRIVATE
_rtld_global_ro
0000e0ff  w   DF .text  000000af  GLIBC_2.0   realloc
00006ccf g    DF .text  000001a5  GLIBC_PRIVATE
_dl_rtld_di_serinfo
0000ff28 g    DO .rodata        0000000e 
GLIBC_PRIVATE _dl_out_of_memory
0000ccdf g    DF .text  0000022e  GLIBC_2.1  
_dl_mcount
000139a0 g    DO .bss   00000014  GLIBC_2.0   _r_debug
00000000 g    DO *ABS*  00000000  GLIBC_2.3  
GLIBC_2.3
0000e0b4  w   DF .text  0000004b  GLIBC_2.0   free

Here is the target version (Fedora 3 Core):
 objdump -T ld-linux.so.2  

ld-linux.so.2:     file format elf32-i386

DYNAMIC SYMBOL TABLE:
006ae7a0 l    d  .text  00000000
006c05a0 l    d  .rodata        00000000
006c2b8c l    d  .eh_frame_hdr  00000000
006c2be8 l    d  .eh_frame      00000000
006c4c80 l    d  .data.rel.ro   00000000
006c5000 l    d  .data  00000000
006c5440 l    d  .bss   00000000
006c5000 g    DO .data  00000438  GLIBC_PRIVATE
_rtld_global
006bcd70 g    DF .text  00000138  GLIBC_PRIVATE
_dl_make_stack_executable
006c4ee8 g    DO .data.rel.ro   00000004  GLIBC_2.1  
__libc_stack_end
006be2f0  w   DF .text  00000100  GLIBC_2.0  
__libc_memalign
006be3f0  w   DF .text  0000002b  GLIBC_2.0   malloc
00000000 g    DO *ABS*  00000000  GLIBC_2.1  
GLIBC_2.1
006bc850 g    DF .text  00000062  GLIBC_PRIVATE
_dl_deallocate_tls
006c4eec g    DO .data.rel.ro   00000004 
GLIBC_PRIVATE __libc_enable_secure
006bc1b0 g    DF .text  0000000d  GLIBC_2.3  
__tls_get_addr
006bc440 g    DF .text  00000022  GLIBC_PRIVATE
_dl_get_tls_static_info
006be420  w   DF .text  00000027  GLIBC_2.0   calloc
006ba950 g    DF .text  00000005  GLIBC_PRIVATE
_dl_debug_state
006c4e4c g    DO .data.rel.ro   00000004 
GLIBC_PRIVATE _dl_argv
006bc520 g    DF .text  00000126  GLIBC_PRIVATE
_dl_allocate_tls_init
00000000 g    DO *ABS*  00000000  GLIBC_2.0  
GLIBC_2.0
00000000 g    DO *ABS*  00000000  GLIBC_PRIVATE
GLIBC_PRIVATE
006c4c80 g    DO .data.rel.ro   000001cc 
GLIBC_PRIVATE _rtld_global_ro
006be4a0  w   DF .text  00000034  GLIBC_2.0   realloc
006bc3d0 g    DF .text  00000061  GLIBC_PRIVATE
_dl_tls_setup
006b5850 g    DF .text  0000048e  GLIBC_PRIVATE
_dl_rtld_di_serinfo
006c0c80 g    DO .rodata        0000000e 
GLIBC_PRIVATE _dl_out_of_memory
006bbed0 g    DF .text  0000020d  GLIBC_2.1  
_dl_mcount
006bc650 g    DF .text  000001f5  GLIBC_PRIVATE
_dl_allocate_tls
006bc8c0 g    DF .text  00000331  GLIBC_2.3  
___tls_get_addr
006c54e0 g    DO .bss   00000014  GLIBC_2.0   _r_debug
00000000 g    DO *ABS*  00000000  GLIBC_2.3  
GLIBC_2.3
006be450  w   DF .text  0000004b  GLIBC_2.0   free

Why would they be different? Is there something that I
should be doing differently to make them the same?

Thanks,
J

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.org


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]