Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

std.Target: Assorted corrections, plus cleanup around ELF/COFF machine types #21020

Merged
merged 14 commits into from
Aug 16, 2024

Commits on Aug 15, 2024

  1. Configuration menu
    Copy the full SHA
    0def4e0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fc93ab7 View commit details
    Browse the repository at this point in the history
  3. std.Target: Change requiresLibC() to return true for aix.

    AIX does not have a stable syscall interface; libc is required.
    alexrp committed Aug 15, 2024
    Configuration menu
    Copy the full SHA
    1e67221 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    9246c88 View commit details
    Browse the repository at this point in the history
  5. std.Target: Fix Arch.toElfMachine() for arc.

    The arc tag means ARCv2.
    alexrp committed Aug 15, 2024
    Configuration menu
    Copy the full SHA
    6c27cab View commit details
    Browse the repository at this point in the history
  6. std.Target: Fix Arch.toElfMachine() for mips.

    EM_MIPS_RS3_LE is obsolete; all mips targets just use EM_MIPS.
    
    Also, fun fact: EM_MIPS_RS3_LE is actually big endian!
    alexrp committed Aug 15, 2024
    Configuration menu
    Copy the full SHA
    490b328 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    8516a6a View commit details
    Browse the repository at this point in the history
  8. std.Target: Don't match big endian architectures in Arch.toCoffMachin…

    …e().
    
    All of these were mapping to types that are little endian. In fact, I can find
    no evidence that either Windows or UEFI have ever been used on big endian
    systems.
    alexrp committed Aug 15, 2024
    Configuration menu
    Copy the full SHA
    b24fc35 View commit details
    Browse the repository at this point in the history
  9. std.Target: Don't match PowerPC in Arch.toCoffMachine().

    It's entirely unclear whether this should map to POWERPC or POWERPCFP, and as I
    can find no evidence of people producing PE files for PowerPC since Windows NT,
    let's just not make a likely-wrong guess. We can revisit this if the need ever
    actually arises.
    alexrp committed Aug 15, 2024
    Configuration menu
    Copy the full SHA
    65affb1 View commit details
    Browse the repository at this point in the history
  10. std.coff: Remove MachineType.fromTargetCpuArch().

    This does the same thing as std.Target.Cpu.Arch.toCoffMachine(). Just use that.
    alexrp committed Aug 15, 2024
    Configuration menu
    Copy the full SHA
    ac9ca7d View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    b01c595 View commit details
    Browse the repository at this point in the history
  12. std.Target: Pull toCoffMachine()/toElfMachine() up from Arch to Target.

    This enables them to give more correct results.
    
    Contributes to ziglang#20771.
    alexrp committed Aug 15, 2024
    Configuration menu
    Copy the full SHA
    5504386 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    9b5c992 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    6db9ad7 View commit details
    Browse the repository at this point in the history