Testing m68k changes on AmigaOS and Linux/m68k
Bernardo Innocenti
bernie@develer.com
Tue Oct 21 20:33:00 GMT 2003
Gunther Nikl wrote:
> On Thu, Oct 16, 2003 at 07:00:14PM +0200, Bernardo Innocenti wrote:
>
>>Hmmm... with regargs, there are no pushes on the stack making things more
>>complicated.
>
> Why does that make thinks more complicate? I would say its the opposite.
I do agree with you, I've just omitted the punctuation. "making things more
complicated" refers to "pushes on the stack", not to "regargs" ;-)
>>> Yes, with framepointer it was ok. I guess that the FP can't be eliminated
>>> because that would change the offset into the frame and tracking that is
>>> probably hard.
>>
>>The old SAS/C knew how to do that pretty well :-)
>
> SAS/C started to use SP-only with version 6 and they needed several
> subreleases to squeeze the last bugs out for it to work reliable
> according to their releasenotes.
Yes, but most compilers weren't that much reliable at the time... code
generation bugs were quite ordinary ;-)
>>It could even inline varargs functions, something that GCC still can't do.
>>It was pretty useful for inline stubs such as DoMethod() or Printf().
>
> Printf() is handled by a pragma, but indeed DoMethod() can be inlined.
Several years ago I wrote this header file:
http://www.codewiz.org/projects/amiga/Headers/BoopsiStubs.h
I used it in several projects using BOOPSI classes. As you can see,
I had two sets of macros because GCC did not want to inline the
varargs functions.
I wonder if GCC 3.4 would do it...
>>Could you please post the revised patch to gcc-patches for approval?
>>GCC's front page still says that 3.4 is in stage 2. If we're lucky we
>>can still get this in without opening a PR :-)
>
> 3.4 is in stage 3. Does that mean that a PR is required now?
I think it's not needed, as long as the patch is not introducing new
functionality. Bugfixes, documentation improvements and cleanups are
still acceptable in stage 3.
> 2003-10-21 Gunther Nikl <gni@gecko.de>
>
> * config/m68k/m68k.c (m68k_compute_frame_layout): swap reg_mask and
> reg_rev_mask computation
> * config/m68k/m68k.c (m68k_output_function_prologue): Fix usage of
> current_frame (one typo and one missing); use reg_rev_mask not
> reg_mask
> * config/m68k/m68k.c (m68k_output_function_epilogue): Fix usage of
> current_frame; use fpu_rev_mask not fpu_mask
A small note: ChangeLog comments should be capitalized and should end
with a '.'. Don't worry, I'll fix it when I commit the patch...
Everything else looks fine to me.
--
// Bernardo Innocenti - Develer S.r.l., R&D dept.
\X/ http://www.develer.com/
Please don't send Word attachments - http://www.gnu.org/philosophy/no-word-attachments.html
More information about the Gcc
mailing list