avr-libc-dev
[Top][All Lists]
Advanced

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

Re: [avr-libc-dev] [PATCH] Alpha version: True support for atmega256x in


From: Marek Michalkiewicz
Subject: Re: [avr-libc-dev] [PATCH] Alpha version: True support for atmega256x in binutils and gcc
Date: Mon, 1 May 2006 18:33:40 +0200
User-agent: Mutt/1.5.9i

On Mon, May 01, 2006 at 07:51:16AM +0200, Björn Haase wrote:

> Agreed :-). One should probably prepare a patch that does both: remove the 
> stack initialization completely from main and replace it by an initialization 
> of EIND and RAMPZ for the avr6 devices only. I think that it's better to make 
> gcc make the stuff. This way one will not need two pass the parameter to the 
> crt-generator.

I think main() is too late (remember C++ constructors are called
earlier), and one of the goals behind removing stack init was to
make main() an ordinary function, without any special handling.

Boot start address doesn't have to be passed to the crt-generator,
just initialize EIND to pm_hh8(__vectors).  Then, the linker should
do the right thing if -Ttext is used to change the start address.

One more thing: I'd suggest to add new pm16_* relocs, which add the
long jumps where necessary, and keep the existing pm_* ones without
changes (they can be used to get the true 3-byte address, in case
you want to handle it yourself).

Thanks,
Marek




reply via email to

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