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