You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/design/coreclr/botr/readytorun-platform-native-envelope.md
+3-7Lines changed: 3 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,9 +13,11 @@ The tentative high-level design is outlined below. As we implement this support,
13
13
## crossgen2: producing Mach-O object files
14
14
15
15
Mach‑O support will only be supported for composite ReadyToRun when the target OS is macOS. It will be opt-in via a new `crossgen2` flag:
16
+
16
17
-`--obj-format macho`
17
18
18
19
`crossgen2` will:
20
+
19
21
- Produce a Mach-O object file as the composite R2R image with the `RTR_HEADER` export for the `READYTORUN_HEADER`.
20
22
- Mark each input IL assembly as a component R2R assembly: `READYTORUN_FLAG_COMPONENT`.
21
23
- Mark each input IL assembly with a new flag indicating that the associated composite image is in the platform-native format: `READYTORUN_FLAG_PLATFORM_NATIVE_IMAGE`
@@ -28,20 +30,14 @@ There's a few cases in the R2R format that are not natively represented in the M
28
30
29
31
#### Sections
30
32
31
-
Sections folded into `__TEXT,__text` that is in other sections in the PE envelope:
32
-
33
-
- CLR metadata: In the PE format, put in .cormeta, corresponds to the PE Header's "COR Header directory"
34
-
- Win32 Resources: In the PE format, put in .rsrc, corresponds to the PE Header's "Win32 Resources Header directory"
35
-
- Managed Unwind Info: In the Mach-O format, this section is expected to be in the Mach-O unwind format. The unwind info used by the runtime must be in the Windows unwind format.
36
-
- GC Info: Entries correspond to the unwind info.
37
33
38
34
Data moved out of `__TEXT,__text`:
39
35
40
36
- Precompiled managed code has been moved into `__TEXT,__managedcode`. `__TEXT,__text` gets special treatment by the linker and `__TEXT,__managedcode` matches NativeAOT.
37
+
- Read-only data such as jump tables, CLR metadata, Win32 Resources, managed unwind info, gc info, and the R2R headers are moved to `__TEXT,__const`
41
38
42
39
Data that stays in the corresponding locations as the PE envelope:
43
40
44
-
- Read-only data such as jump tables and the R2R headers: `__TEXT,__const`
45
41
- Read-write data, such as fixup tables: `__DATA,__data`
0 commit comments