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
Member

@alexrp alexrp commented Aug 10, 2024

No description provided.

@alexrp alexrp force-pushed the target-fixes branch 5 times, most recently from baa28d6 to 80f771d Compare August 13, 2024 17:47
@alexrp
Copy link
Member Author

alexrp commented Aug 14, 2024

Unrelated hang on aarch64-macos-debug.

alexrp added 14 commits August 15, 2024 10:55
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.
richerfu pushed a commit to richerfu/zig that referenced this pull request Oct 28, 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