On Mon, 2010-01-18 at 16:26 +0100, David Sveningsson wrote:
> (gdb) bt
> #0  0x00000000004442bb in coff_write_relocs (abfd=0x196ff20) at 
> /home/ext/temp/cegcc/src/binutils/bfd/coffcode.h:2651
> #1  coff_write_object_contents (abfd=0x196ff20) at 
> /home/ext/temp/cegcc/src/binutils/bfd/coffcode.h:4131
> #2  0x000000000042fb57 in bfd_make_readable (abfd=0x196ff20) at 
> /home/ext/temp/cegcc/src/binutils/bfd/opncls.c:865
> #3  0x0000000000424510 in make_singleton_name_imp (rel=0x1db62a0, 
> s=<value optimized out>, addend=0)
>      at /home/ext/temp/cegcc/src/binutils/ld/pe-dll.c:2253
> #4  pe_create_import_fixup (rel=0x1db62a0, s=<value optimized out>, 
> addend=0) at /home/ext/temp/cegcc/src/binutils/ld/pe-dll.c:2570
> #5  0x000000000041dda2 in make_import_fixup (rel=0x1db62a0, s=0x19810c0) 
> at earm_wince_pe.c:957
> #6  0x00000000004203e7 in pe_walk_relocs_of_symbol (info=<value 
> optimized out>, name=0x1981ea0 "av_pix_fmt_descriptors",
>      cb=0x41dd20 <make_import_fixup>) at 
> /home/ext/temp/cegcc/src/binutils/ld/pe-dll.c:1262
> #7  0x000000000041d1eb in pe_find_data_imports () at earm_wince_pe.c:1027
> #8  0x000000000041d3ba in gld_arm_wince_pe_after_open () at 
> earm_wince_pe.c:1124
> #9  0x0000000000410e48 in lang_process () at 
> /home/ext/temp/cegcc/src/binutils/ld/ldlang.c:6293
> #10 0x0000000000415907 in main (argc=83, argv=0x7fff39dc8b58) at 
> /home/ext/temp/cegcc/src/binutils/ld/ldmain.c:455
> 
> 
> (gdb) frame 0
> #0  0x00000000004442bb in coff_write_relocs (abfd=0x196ff20) at 
> /home/ext/temp/cegcc/src/binutils/bfd/coffcode.h:2651
> 2651              if (q->sym_ptr_ptr[0]->the_bfd != abfd)
> 
> 
> 
> (gdb) p q->sym_ptr_ptr[0]
> $5 = (struct bfd_symbol *) 0x0

ld is looking for the av_pix_fmt_descriptors symbol. When it finds it,
it tries to handle it (make_import_fixup) but it ends up crashing in
make_singleton_name_imp. That's for the .idata$5 section.

Strangely, it has already done make_singleton_name_thunk which is
similar but succeeds. That's for .idata$4.

This is the first call to make_import_fixup in that run of ld.

The symbol you print (value 0x0) does have a sensible value in the
execution of make_singleton_name_thunk - for .idata$4.

Looking further, but additional eyes might help :-)

        Danny
-- 
Danny Backx ; danny.backx - at - scarlet.be ; http://danny.backx.info


------------------------------------------------------------------------------
Throughout its 18-year history, RSA Conference consistently attracts the
world's best and brightest in the field, creating opportunities for Conference
attendees to learn about information security's most important issues through
interactions with peers, luminaries and emerging and established companies.
http://p.sf.net/sfu/rsaconf-dev2dev
_______________________________________________
Cegcc-devel mailing list
Cegcc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cegcc-devel

Reply via email to