avr-gcc-list
[Top][All Lists]
Advanced

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

RE: [avr-gcc-list] ATmega256x trampolines? (Was: Why is there 1200bytes


From: Eric Weddington
Subject: RE: [avr-gcc-list] ATmega256x trampolines? (Was: Why is there 1200bytes of zeroes in my code?)
Date: Wed, 21 Mar 2007 06:18:49 -0600

 

> -----Original Message-----
> From: 
> address@hidden 
> [mailto:address@hidden
> org] On Behalf Of Erik Christiansen
> Sent: Wednesday, March 21, 2007 2:42 AM
> To: Joerg Wunsch
> Cc: address@hidden
> Subject: Re: [avr-gcc-list] ATmega256x trampolines? (Was: Why 
> is there 1200bytes of zeroes in my code?)
> 
> On Wed, Mar 21, 2007 at 07:07:24AM +0100, Joerg Wunsch wrote:
> 
> > 
> > >  *fill*         0x000020f3        0x1 00=20
> > >                 0x000020f4                
> __trampolines_start =3D .=20
> > >  *(.trampolines)=20
> > >  .trampolines   0x000020f4        0x0 linker stubs=20
> > >  *(.trampolines*)=20
> > >                 0x000020f4                
> __trampolines_end =3D .=20
> > >  *(.jumptables)=20
> > >  *(.jumptables*)=20
> > 
> > Obviously, this is somehow related to the linker stubs, but the
> > question is how the space allocation is calculated.
> 
> Is it possible to invoke avr-gcc with "-Wl,-verbose" in the winavr
> environment, so the we can see the linker script being used? (It would
> be enlightening to see what it directs for these sections.)

He's using the ATmega256x, which is designated as the "avr6" architecture in
GCC (side note: these architecture types have little to do with the actual
core type of the AVR, and are completely arbitrary according to GCC).

All of the linker scripts are located in avr/lib/ldscripts. You'll see
several avr6.* linker script files there.

The avr-libc user manual, FAQ, now has an answer, if you look at #28, "Why
are there five different linker scripts?":
<http://www.nongnu.org/avr-libc/user-manual/FAQ.html#faq_linkerscripts>

And the answer is very probably that the default script is being used, as
the others are dependent upon command line options that are rarely used on
an AVR.

So the linker script that is being used in this case is avr6.x.

Eric





reply via email to

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