Re: Question on BIGGEST_ALIGNMENT in GCC on NetBSD/m68k

Greg Ungerer <[email protected]> Wed, 18 Jun 2025 22:59:53 +1000
Newsgroups gmane.linux.ports.m68k,gmane.os.netbsd.ports.m68k,gmane.linux.debian.ports.68k
Message-ID <[email protected]>
Hi Geert,

On 18/6/25 22:54, Geert Uytterhoeven wrote:
> Hi Adrian,
> 
> On Wed, 18 Jun 2025 at 14:27, John Paul Adrian Glaubitz
> <[email protected]> wrote:
>> On Wed, 2025-06-18 at 22:21 +1000, Greg Ungerer wrote:
>>>> Could you please elaborate this a bit more, please?
>>>>
>>>> Coldfire is handled as a separate target via TARGET_COLDFIRE in GCC, so we
>>>> would certainly be able to toggle the alignment settings independent of
>>>> what's done on classic m68k.
>>>
>>> The net out is that it is the same gcc compiler, m68k-linux-gcc.
>>> ColdFire just needs specific code generation via command line switches,
>>> like -m5200 (or -m5206e or -m5307 or -mcfv4e, etc). This is the same way
>>> you would specify 680x0 level - m68020, -m68030, etc.
>>
>> Yes, but there is a TARGET_COLDFIRE macro as I mentioned above which could
>> be used to trigger which alignment to use by default. I don't see how that
>> would complicate things.
>>
>>> The bulk of the instruction set is the same. Asm code will look totally
>>> familiar to anyone who knows m68k :-)   One notable difference is that
>>> there is a more limited set addressing modes for some instructions.
>>
>> True, but you won't be able to run any classic m68k binaries on ColdFire
>> and the other way around, are you?
> 
> IIIRC if you use a proper subset of the user mode instructions, you
> can create binaries that run on both.

You might be right on that. If you chose the lowest common denominator
of ColdFire code generation, -m5200, then I seem to recall for user
space that would just be a subset of traditional 68k.

Regards
Greg