This is the mail archive of the crossgcc@sourceware.cygnus.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more infromation.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: m68k attribute interrupt


Michael Schwingen wrote:
> 
> On Wed, Jan 26, 2000 at 11:06:49AM +0200, Kai Ruottu wrote:
> >
> >  Here are my patches, derived from the Michael's patches. I changed the save rules to
> > follow those now used in the H8/300 port, to handle also the '__attribute__ ((noreturn))'
> > and non-leaf functions in ISRs. The stack-pointer may be handled with the available macro
> > 'STACK_POINTER_REGNO (regno)' (I remember the name being this) if needed:
> 
> Hm. At least I can reproduce the problem here with my original patch on
> egcs-1.1b. Looking at the code, it seems that the entries for the registers
> which may be modified by a subroutine call are not set in regs_ever_live,
> however, the code that does this is in the generic gcc part, so unless you
> patched that, I would guess that you are using a newer gcc and it was fixed
> there?

 Yes, I moved the patches to gcc-2.95.2, probably manually first, anyhow they were quite
logical. Also the mfc5307 patches stuff from David Fiddes were transferred... Hmmm... Is
there some special reason to stay with egcs-1.1.x like smaller code, missing the new bugs
etc. ?  Something more serious than this small one, which shows that the 'libgcc.a' has
some routine bigger now (the C-library and compiler options, '-O', were the same) :

E:\usr\local\samples>size sort_m68k-coff*
   text    data     bss     dec     hex filename
    376    4004       0    4380    111c sort_m68k-coff-e.o
  23644    5936      28   29608    73a8 sort_m68k-coff-e.x
    376    4004       0    4380    111c sort_m68k-coff.o
  23660    5952      12   29624    73b8 sort_m68k-coff.x

 Those with the '-e' suffix are produced with egcs-1.1.2, those without it are with 2.95.2.

 At least the C++ 'features' should be better in gcc-2.95.2, but the code-size comparisons,
not all this small, but looking at GCC binaries produced with egcs-1.1.2 or 2.95.x have kept
me to stay with egcs-1.1.2 as the production engine while producing GCCs... But this may be
an issue only in the x86-code, or not even there, building glibc-2.1.2 for Linux seemed to show
that the resulted 'libc.so' with gcc-2.95.2 was smaller than with egcs-1.1.2...
 
> I don't have much time currently, so this may take another month or so until
> I get enough time to look at this (and try it on a current gcc).

 The derived patches have been sent, so others could judge them... I'm not joined to the
'Coldfire@WildRice'-something maillist, but perhaps the derived patches could be more suitable
there...

Cheers, Kai



------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]