bug-gnu-utils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ld is unable to link the Linux kernel for ARM


From: Nicolas Pitre
Subject: Re: ld is unable to link the Linux kernel for ARM
Date: Thu, 29 May 2003 16:37:31 -0400 (EDT)

On Thu, 29 May 2003, Nick Clifton wrote:

> Hi Nicolas,
> 
> > With binutils version 030528 20030523 (snapshot):
> >
> > arm-linux-ld   -r -o drivers/media/built-in.o
> > drivers/media/video/built-in.o drivers/media/radio/built-in.o
> > drivers/media/dvb/built-in.o drivers/media/common/built-in.o 
> > arm-linux-ld: internal error earmelf_linux.c 163
> >
> > The offending line looks like:
> >
> >     ASSERT (bfd_for_interwork != NULL);
> >
> > In fact, the earliest binutils version that does work is 2.12.1
> > where no equivalent line exists.
> >
> > Is the fix obvious to someone here?
> 
> 
> The ASSERT is there because the code has been unable to find an input
> file onto which in can hang a constructed section containing stubs for
> interworking between ARM and THUMB code.  The function
> arm_elf_set_bfd_for_interworking() in ld/emultempl/armelf.em is
> responsible for making this choice.
> 
> The most like reason is that all of your input files (*/built-in.o)
> are empty, or that they are all marked as non-loadable.
> 
> If you can provide a small, reproducible test case then I can
> investigate further.

Here you go.  The input files are attached.

Just try:

        arm-linux-ld -r -o out.o foo.o bar.o

Result:

        arm-linux-ld: internal error earmelf_linux.c 163


Nicolas

Attachment: foo.o
Description: Text document

Attachment: bar.o
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]