The best thing to do is just to rewrite startup procedures and redefine 
vectors table.
I think you've got no global vars and/or do not care about globals initial 
values.So, you're probably do not need a startups at all.
Then put 'main' as a reset vector in vectors table and pass --endup=main to 
gcc. You'll save about 90 bytes total then.

The procedure is explained in docs.

~d


On Wednesday 30 April 2003 13:56, Bob Paddock wrote:
> Is there some way that I can have better control over the order the
> compiler puts things in memory?
>
> For example:
>
> Disassembly of section .text:
>
> 0000fc00 <_reset_vector__>:
>      fc00:      b2 40 80 5a     mov     #23168, &0x0120 ;#0x5a80
>      ...
>      fc36:      30 40 40 fc     br      #0xfc40         ;
>
> 0000fc3a <vector_ffe0>:
>      fc3a:      30 40 3e fc     br      #0xfc3e         ;
>
> 0000fc3e <_unexpected_>:
>      fc3e:      00 13           reti
>
> 0000fc40 <main>:
>
> How do I move <vector_ffe0> and <_unexpected_>, so that
> I can get rid of the br 0xfc40 jump that jumps around them?
> I'm looking for a automated solution, not some thing I have to
> hand tweak each build.
>
> I'd move the <sections> to right before the vector table, or the start
> of flash so that they stay out of the way in the future.
>
> I'm trying to fit the code in a 1K part, and I'm over by 8 bytes,
> so every byte counts.

-- 
/********************************************************************
     ("`-''-/").___..--''"`-._     (\   Dimmy the Wild      UA1ACZ
      `6_ 6  )   `-.  (     ).`-.__.`)  Enterprise Information Sys 
      (_Y_.)'  ._   )  `._ `. ``-..-'   Nevsky prospekt,   20 / 44
    _..`--'_..-_/  /--'_.' ,'           Saint Petersburg,   Russia
   (il),-''  (li),'  ((!.-'             +7 (812)  3468202, 5585314
 ********************************************************************/


Reply via email to