This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


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: [BUG] ld segfault in binutils-2.13.90.0.20 when compiling


Thiemo Seufer wrote:
> Andreas Schwab wrote:
>
>>Eric Christopher <echristo at redhat dot com> writes:
>>
>>|> On Thu, 2003-03-27 at 10:02, Andreas Schwab wrote:
>>|> > Thiemo Seufer <ica2_ts at csv dot ica dot uni-stuttgart dot de> writes:
>>|> >
>>|> > |> I haven't seen this with CVS HEAD of everything, but probably it just
>>|> > |> dies too early in the glibc build:
>>|> > |>
>>|> > |> vfprintf.c: In function _IO_vfprintf':
>>|> > |> vfprintf.c:1919: internal compiler error: in loc_descriptor_from_tree, at
>>|> > |> dwarf2out.c:8932
>>|> >
>>|> > See <http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view&pr=9905&database=gcc>.
>>|> >
>>|>
>>|> Aaah. I see. Ick.
>>
>>I'm using this as a workaround:
>
>
> Thanks. With it the glibc build continues until:
>
> collect2: ld terminated with signal 11 [Segmentation fault], core dumped
> make[2]: *** [/usr/home/ica2_ts/devel/build-libc/elf/librtld.map] Error 1
> make[1]: *** [elf/subdir_lib] Error 2
> make: *** [all] Error 2
>
> I guess that's the same as the origially reported problem.
>


Yes it is!  This is some more information which gdb yields
when I run ld directly...

This is what I ran through gdb:
-------------------------------

mips-unknown-linux-gnu-ld --eh-frame-hdr -EB -dynamic-linker
/lib/ld.so.1 -o
/usr/local/src/glibc-stage1/elf/librtld.map.o -r
-L/usr/mips-unknown-linux-gnu/lib/gcc-lib/mips-unknown-linux-gnu/3.2.3


-L/usr/mips-unknown-linux-gnu/lib/gcc-lib/mips-unknown-linux-gnu/3.2.3/../../../../mips-unknown-linux-gnu/lib

--start-group
/usr/local/src/glibc-stage1/elf/dl-allobjs.os
/usr/local/src/glibc-stage1/libc_pic.a -lgcc --end-group
-Map /usr/local/src/glibc-stage1/elf/librtld.mapT

GDB Results (using -gdwarf2 -g3 for binutils build):
----------------------------------------------------

(gdb) run
<<<SNIP duplicate info>>>
Program received signal SIGSEGV, Segmentation fault.
0x40025578 in bfd_hash_lookup (table=0x50, string=0x400b5d09
".got", create=0, copy=0) at ../../binutils/bfd/hash.c:383
383       index = hash % table->size;

(gdb) bt
#0  0x40025578 in bfd_hash_lookup (table=0x50,
string=0x400b5d09 ".got", create=0, copy=0) at
../../binutils/bfd/hash.c:383
#1  0x40022b04 in bfd_get_section_by_name (abfd=0x0,
name=0x400b5d09 ".got") at ../../binutils/bfd/section.c:795
#2  0x4003d68d in mips_elf_got_section (abfd=0x0,
maybe_excluded=0) at ../../binutils/bfd/elfxx-mips.c:1679
#3  0x4004a776 in _bfd_mips_elf_hide_symbol (info=0x80a1ea0,
entry=0x80c06f8, force_local=1) at
../../binutils/bfd/elfxx-mips.c:7719
#4  0x40054c6c in elf_link_add_object_symbols
(abfd=0x80bb448, info=0x80a1ea0) at elflink.h:2123
#5  0x40051ae2 in elf_link_add_archive_symbols
(abfd=0x80b36b8, info=0x80a1ea0) at elflink.h:408
#6  0x400513cd in bfd_elf32_bfd_link_add_symbols
(abfd=0x80b36b8, info=0x80a1ea0) at elflink.h:97
#7  0x08052e95 in load_symbols (entry=0x80a216c,
place=0xbfffe0f8) at ../../binutils/ld/ldlang.c:1646
#8  0x08053740 in open_input_bfds (s=0x80a216c, force=1) at
../../binutils/ld/ldlang.c:2050
#9  0x080536ac in open_input_bfds (s=0x80a2108, force=0) at
../../binutils/ld/ldlang.c:2022
#10 0x08057505 in lang_process () at
../../binutils/ld/ldlang.c:4291
#11 0x0805a719 in main (argc=17, argv=0xbfffe214) at
../../binutils/ld/ldmain.c:467
#12 0x4102f635 in __libc_start_main () from /lib/libc.so.6

(gdb) info locals
s = (const unsigned char *) 0x400b5d0e ""
hash = 56996018
c = 0
hashp = (struct bfd_hash_entry *) 0x40025e7d
len = 4
index = 14



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