diff options
| author | Jason Molenda <jmolenda@apple.com> | 2025-07-02 10:21:38 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-02 10:21:38 -0700 |
| commit | dfcef35ff1d30d112362645ec2cd0d5e99952b0f (patch) | |
| tree | 844888b057d20be4bb034a2faa756e1eaf6fd0bc /libc/test/integration/src/stdlib/gpu/aligned_alloc.cpp | |
| parent | ed27f18e324de1441bb062c6b2ffd2be5875a952 (diff) | |
[lldb][NFC][MachO] Clean up LC_THREAD reading code, remove i386 corefile (#146480)
While fixing bugs in the x86_64 LC_THREAD parser in ObjectFileMachO, I
noticed that the other LC_THREAD parsers are all less clear than they
should be.
To recap, a Mach-O LC_THREAD load command has a byte size for the entire
payload. Within the payload, there will be one or more register sets
provided. A register set starts with a UInt32 "flavor", the type of
register set defined in the system headers, and a UInt32 "count", the
number of UInt32 words of memory for this register set. After one
register set, there may be additional sets. A parser can skip an unknown
register set flavor by using the count field to get to the next register
set. When the total byte size of the LC_THREAD load command has been
parsed, it is completed.
This patch fixes the riscv/arm/arm64 LC_THREAD parsers to use the total
byte size as the exit condition, and to skip past unrecognized register
sets, instead of stopping parsing.
Instead of fixing the i386 corefile support, I removed it. The last
macOS that supported 32-bit Intel code was macOS 10.14 in 2018. I also
removed i386 KDP support, 32-bit intel kernel debugging hasn't been
supported for even longer than that.
It would be preferable to do these things separately, but I couldn't
bring myself to update the i386 LC_THREAD parser, and it required very
few changes to remove this support entirely.
Diffstat (limited to 'libc/test/integration/src/stdlib/gpu/aligned_alloc.cpp')
0 files changed, 0 insertions, 0 deletions
