[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [avr-gcc-list] minit-stack
From: |
Weddington, Eric |
Subject: |
RE: [avr-gcc-list] minit-stack |
Date: |
Wed, 22 Oct 2008 21:37:10 -0600 |
> -----Original Message-----
> From: Ruud Vlaming [mailto:address@hidden
> Sent: Wednesday, October 22, 2008 10:43 AM
> To: Weddington, Eric; address@hidden
> Subject: Re: [avr-gcc-list] minit-stack
>
> On Wednesday 22 October 2008 17:00, you wrote:
> >
> > > -----Original Message-----
> > > From:
> > > address@hidden
> > > [mailto:address@hidden
> > > org] On Behalf Of Ruud Vlaming
> > > Sent: Wednesday, October 22, 2008 2:40 AM
> > > To: address@hidden
> > > Subject: [avr-gcc-list] minit-stack
> > >
> > > On gcc 4.2.3 it was possible to use something like
> > >
> > > -minit-stack="xOS+xOSstackShift"
> > >
> >
> > <snip>
> >
> > > Anyway, in gcc 4.3.2 it seems no longer be possible to use
> > > that compiler option. (I get an compiler error, although the
> > > documentation
> > > of 4.3.2 still says it is allowed to use that option)
> >
> > That's strange. AFAIK, nothing was ever *purposely* done to
> remove that option.
> >
> > Do you have any other versions of gcc in between the two to
> test? Like 4.3.0, or 4.3.1?
> Yep, i build a new toolchain for 4.3.0 and it gives the same error:
> cc1: error: unrecognized command line option
> "-minit-stack=xOS+xOSstackShift"
>
> Also the built in help (avr-gcc -v --help) has the option
> excluded, and, the main
> method does not include any stack settings any more (is used
> to). Thus it looks
> like this has been removed on purpose.
Hmm. So you are correct. Here is the ChangeLog entry (see last item):
2007-10-26 Anatoly Sokolov <...>
* config/avr/avr.c (avr_OS_task_function_p): Add new function.
(avr_regs_to_save): Handle functions with 'OS_task' attribute.
(avr_simple_epilogue, expand_prologue, avr_asm_function_end_prologue,
expand_epilogue, output_movhi): Don't handle 'main' function.
(avr_attribute_table): Add 'OS_task' function attribute.
* config/avr/avr.h (machine_function): Remove 'is_main' field, add
'is_OS_task' field.
* config/avr/avr.md (return_from_main_epilogue): Remove insn.
(return_from_epilogue, return_from_interrupt_epilogue): Don't handle
'main' function.
* config/avr/avr.opt (minit-stack): Remove.
Anatoly can you comment?