AW: [arm-gnu] Specifying Load Address: undefined __exidx_start, __exidx_end
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

AW: [arm-gnu] Specifying Load Address: undefined __exidx_start, __exidx_end



Hello Jacques,

Sorry but I haven't test it any more at the moment. But I think it should
work when you add the following three lines to your linker script file in
the ROM section.

__exidx_start = .;
.ARM.exidx   : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) }
__exidx_end = .;


Tell me if it works.

Cheers,
David

> -----Ursprüngliche Nachricht-----
> Von: Daniel Jacques [mailto:jacques.daniel@xxxxxxxxxxx]
> Gesendet: Mittwoch, 18. Januar 2006 19:17
> An: David Engraf
> Cc: arm-gnu@xxxxxxxxxxxxxxxx
> Betreff: RE: [arm-gnu] Specifying Load Address: undefined __exidx_start,
> __exidx_end
> 
> Hello David,
> 
> I am facing to the same problem.
> So, I'd like to know if you succeeded to solve it.
> The linker script used in my case is armelf_linux_eabi.xr, but I don't
> know how to modify it to resolve the undefined reference to __exidx_start
> and __exidx_end.
> 
> Thanks and Regards,
> Jacques
> 
> 
> -----Original Message-----
> From: David Engraf [mailto:engraf.david@xxxxxxxxxxxxxxxxxxxxxxxxxxxx]
> Sent: vendredi 23 décembre 2005 09:34
> To: 'Carlos O'Donell'
> Cc: arm-gnu@xxxxxxxxxxxxxxxx
> Subject: Re: [arm-gnu] Specifying Load Address: undefined __exidx_start,
> __exidx_end
> 
> Where can I find the default linker script? In the directory
> /arm-none-eabi/lib/ldscripts/ I found some ldscript files, but which one
> is
> the right one?
> 
> Cheers David
> 
> > Von: Carlos O'Donell [mailto:carlos@xxxxxxxxxxxxxxxx]
> > Gesendet: Donnerstag, 22. Dezember 2005 21:57
> > An: David Engraf
> > Cc: arm-gnu@xxxxxxxxxxxxxxxx
> > Betreff: Re: [arm-gnu] Specifying Load Address: undefined __exidx_start,
> > __exidx_end
> >
> > On Thu, Dec 22, 2005 at 12:29:53PM +0100, David Engraf wrote:
> > > Tools:  CodeSourcery 2005q3-2, Linux host, "bare metal" target.
> > >
> > > Target CPU: AT91R40008
> > >
> > > I want to create a new ldscript file for my hardware in order to
> define
> > the
> > > ROM/RAM start address. When I use my own ldscript file, the linker
> > generates
> > > the following error:
> >
> > Thank you for your interest in our Sourcery G++ Toolchains!
> >
> > > /usr/local/bin/../lib/gcc/arm-none-eabi/3.4.4/libgcc.a(unwind-arm.o):
> In
> > > function `get_eit_entry':unwind-arm.c:(.text+0x45c): undefined
> reference
> > to
> > > `__exidx_start'
> > > :unwind-arm.c:(.text+0x460): undefined reference to `__exidx_end'
> > > collect2: ld returned 1 exit status
> > > make: *** [test.elf] Fehler 1
> >
> > The two missing symbols are part of the exception unwinding mechanism.
> >
> > > What does __exidx_start and __exidx_end do? Where should I place this
> > > section in my ldscript file? Is there any startup code I need, because
> I
> > > have my own startup code for the remap of the arm?
> >
> > I would recommend looking at the default linker script and modifying as
> > required.
> >
> > Cheers,
> > Carlos.
> > --
> > Carlos O'Donell
> > CodeSourcery, LLC
> > carlos@xxxxxxxxxxxxxxxx
> 
> 
> 
> ____________
> Virus checked by G DATA AntiVirusKit
> Version: AVK 16.2365 from 23.12.2005



____________
Virus checked by G DATA AntiVirusKit
Version: AVK 16.4996 from 18.01.2006