Skip to content

Commit a02fa4a

Browse files
authored
Update markdown
1 parent daba6cb commit a02fa4a

File tree

1 file changed

+3
-7
lines changed

1 file changed

+3
-7
lines changed

docs/design/coreclr/botr/readytorun-platform-native-envelope.md

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,11 @@ The tentative high-level design is outlined below. As we implement this support,
1313
## crossgen2: producing Mach-O object files
1414

1515
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+
1617
- `--obj-format macho`
1718

1819
`crossgen2` will:
20+
1921
- Produce a Mach-O object file as the composite R2R image with the `RTR_HEADER` export for the `READYTORUN_HEADER`.
2022
- Mark each input IL assembly as a component R2R assembly: `READYTORUN_FLAG_COMPONENT`.
2123
- 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
2830

2931
#### Sections
3032

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.
3733

3834
Data moved out of `__TEXT,__text`:
3935

4036
- 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`
4138

4239
Data that stays in the corresponding locations as the PE envelope:
4340

44-
- Read-only data such as jump tables and the R2R headers: `__TEXT,__const`
4541
- Read-write data, such as fixup tables: `__DATA,__data`
4642
- Import thunks: `__TEXT,__text`
4743

0 commit comments

Comments
 (0)