On Tue, 26 Nov 2024, Corinna Vinschen wrote:

> On Nov 25 11:24, Jeremy Drake via Cygwin-patches wrote:
> > +      switch (wincap.host_machine ())
> > +   {
> > +     case IMAGE_FILE_MACHINE_AMD64:
> > +       n = stpcpy (buf, "-x64") - buf;
> > +       break;
> > +     case IMAGE_FILE_MACHINE_ARM64:
> > +       n = stpcpy (buf, "-ARM64") - buf;
> > +       break;
> > +     default:
> > +       n = __small_sprintf (buf, "-%04y", (int) wincap.host_machine ());
> > +       break;
> > +   }
>

> You can greatly simplify this switch.  We don't support 32 bit systems
> and we will never again support 32 bit systems.  Any combination
> including a 32 bit system can just go away.  Theoretically, only
> the IMAGE_FILE_MACHINE_ARM64 case should be left.

Is the above edit enough, or do I need to remove the x64 case entirely as
well?  If you truly just want to handle ARM64, this whole function could
be inlined into just an

  if (wincap.host_machine () != wincap.cygwin_machine ()
      && wincap.host_machine () == IMAGE_FILE_MACHINE_ARM64)
    strcat (name->sysname, "-ARM64");

For a little more future-proofing, nested if/else so non-ARM64 gets the
hex fallback from the default case above.

Reply via email to