This patch moves the platform creation and selection logic into the per-debugger platform lists. I've tried to keep functional changes to a minimum -- the main (only) observable difference in this change is that APIs, which select a platform by name (e.g., Debugger::SetCurrentPlatform) will not automatically pick up a platform associated with another debugger (or no debugger at all). I've also added several tests for this functionality -- one of the pleasant consequences of the debugger isolation is that it is now possible to test the platform selection and creation logic. This is a product of the discussion at <https://discourse.llvm.org/t/multiple-platforms-with-the-same-name/59594>. Differential Revision: https://reviews.llvm.org/D120810
43 lines
1.1 KiB
YAML
43 lines
1.1 KiB
YAML
--- !mach-o
|
|
FileHeader:
|
|
magic: 0xFEEDFACF
|
|
cputype: 0x01000007
|
|
cpusubtype: 0x00000003
|
|
filetype: 0x00000001
|
|
ncmds: 4
|
|
sizeofcmds: 1160
|
|
flags: 0x00002000
|
|
reserved: 0x00000000
|
|
LoadCommands:
|
|
- cmd: LC_SEGMENT_64
|
|
cmdsize: 1032
|
|
segname: ''
|
|
vmaddr: 0
|
|
vmsize: 744
|
|
fileoff: 1192
|
|
filesize: 744
|
|
maxprot: 7
|
|
initprot: 7
|
|
nsects: 12
|
|
flags: 0
|
|
Sections:
|
|
- sectname: __text
|
|
segname: __TEXT
|
|
addr: 0x0000000000000000
|
|
size: 22
|
|
offset: 0x000004A8
|
|
align: 4
|
|
reloff: 0x00000000
|
|
nreloc: 0
|
|
flags: 0x80000400
|
|
reserved1: 0x00000000
|
|
reserved2: 0x00000000
|
|
reserved3: 0x00000000
|
|
- cmd: LC_BUILD_VERSION
|
|
cmdsize: 24
|
|
platform: 1
|
|
minos: 658944
|
|
sdk: 658944
|
|
ntools: 0
|
|
...
|