[cross-binutils-2.15.91.0.2] assertion fail linker.c:619
H. J. Lu
hjl@lucon.org
Tue Aug 17 22:16:00 GMT 2004
More information about the Binutils mailing list
Tue Aug 17 22:16:00 GMT 2004
- Previous message (by thread): Complex problem with old GAS files
- Next message (by thread): [cross-binutils-2.15.91.0.2] assertion fail linker.c:619
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Tue, Aug 17, 2004 at 11:42:20AM +0200, Pawe?? Sikora wrote: > Hi, > > I have a minor problem during with kernel cross compilation. > The cross linker reports an error but kernel works fine. > > # make ARCH=x86_64 CROSS_COMPILE=amd64-pld-linux- > (...) > LD ?? ?? ??vmlinux > amd64-pld-linux-ld: BFD 2.15.91.0.2 20040727 assertion fail linker.c:619 > (...) > > Any ideas? > > # crossamd64-binutils-2.15.91.0.2-1 > # crossamd64-gcc-3.4.2-0.20040806.1 > # glibc-2.3.4-0.20040722.2+nptl > This is a linker bug: http://sources.redhat.com/bugzilla/show_bug.cgi?id=338 The problem is bfd_link_add_undef assumes h->und_next == NULL. But it may not be true in all cases, depending on how lucky/unlucky you are. This patch seems to fix the testcase. But I am not sure if it is 100% correct. H.J. -- --- linker.c.undef 2004-08-13 08:00:10.000000000 -0700 +++ linker.c 2004-08-17 15:14:00.595475841 -0700 @@ -616,7 +616,7 @@ void bfd_link_add_undef (struct bfd_link_hash_table *table, struct bfd_link_hash_entry *h) { - BFD_ASSERT (h->und_next == NULL); + BFD_ASSERT (h->und_next == NULL || h->und_next == table->undefs_tail); if (table->undefs_tail != NULL) table->undefs_tail->und_next = h; if (table->undefs == NULL)
- Previous message (by thread): Complex problem with old GAS files
- Next message (by thread): [cross-binutils-2.15.91.0.2] assertion fail linker.c:619
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Binutils mailing list