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

Conversation

alexrp
Copy link
Contributor

@alexrp alexrp commented Aug 10, 2024

No description provided.

@alexrp
Copy link
Contributor Author

alexrp commented Aug 14, 2024

Unrelated hang on aarch64-macos-debug.

AIX does not have a stable syscall interface; libc is required.
EM_MIPS_RS3_LE is obsolete; all mips targets just use EM_MIPS.

Also, fun fact: EM_MIPS_RS3_LE is actually big endian!
…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.
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.
This does the same thing as std.Target.Cpu.Arch.toCoffMachine(). Just use that.
This enables them to give more correct results.

Contributes to ziglang#20771.
@andrewrk andrewrk merged commit 05c7968 into ziglang:master Aug 16, 2024
10 checks passed
@andrewrk
Copy link
Member

Thanks!

@alexrp alexrp deleted the target-fixes branch August 16, 2024 05:42
alexrp added a commit to alexrp/zig that referenced this pull request Aug 19, 2024
These are fundamentally incapable of producing accurate information for reasons
I've laid out in ziglang#20771. Since our only use of these functions is to check that
object files have the correct machine type, and since ziglang#21020 made
`std.Target.to{Coff,Elf}Machine()` more accurate, just switch these checks over
to that and compare the machine type tags instead.

Closes ziglang#20771.
alexrp added a commit to alexrp/zig that referenced this pull request Aug 23, 2024
These are fundamentally incapable of producing accurate information for reasons
I've laid out in ziglang#20771. Since our only use of these functions is to check that
object files have the correct machine type, and since ziglang#21020 made
`std.Target.to{Coff,Elf}Machine()` more accurate, just switch these checks over
to that and compare the machine type tags instead.

Closes ziglang#20771.
alexrp added a commit to alexrp/zig that referenced this pull request Aug 23, 2024
These are fundamentally incapable of producing accurate information for reasons
I've laid out in ziglang#20771. Since our only use of these functions is to check that
object files have the correct machine type, and since ziglang#21020 made
`std.Target.to{Coff,Elf}Machine()` more accurate, just switch these checks over
to that and compare the machine type tags instead.

Closes ziglang#20771.
alexrp added a commit to alexrp/zig that referenced this pull request Aug 23, 2024
These are fundamentally incapable of producing accurate information for reasons
I've laid out in ziglang#20771. Since our only use of these functions is to check that
object files have the correct machine type, and since ziglang#21020 made
`std.Target.to{Coff,Elf}Machine()` more accurate, just switch these checks over
to that and compare the machine type tags instead.

Closes ziglang#20771.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants