Skip to content

Commit

Permalink
Add limitations section to Linking.md to clarify element and data seg…
Browse files Browse the repository at this point in the history
…ment indices renumbering is not supported (WebAssembly#193)
  • Loading branch information
matovitch committed Dec 3, 2022
1 parent 79d4b06 commit 6243c1d
Showing 1 changed file with 10 additions and 1 deletion.
11 changes: 10 additions & 1 deletion Linking.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ tasks need to be performed:
- Merging of globals sections (re-numbering globals)
- Merging of event sections (re-numbering events)
- Merging of table sections (re-numbering tables)
- Merging of data segments (re-positioning data)
- Merging of data segments (re-positioning data with [limitations](#limitations))
- Resolving undefined external references
- Synthesizing functions to call constructors and perform other initialization

Expand Down Expand Up @@ -686,3 +686,12 @@ have its address computed as follows:

The variable can then be used as normal. Upon thread exit, the runtime should free
the memory allocated for the TLS block.

### Limitations

Note data segments are only re-positioned, i.e. only the offsets of active data
elements can be updated. There are no relocation type for data segments indices
such that instructions like `data.drop` or `memory.init` are not supported.

Similarly, there is no relocation type for element segments and the instructions
`elem.drop` and `table.init` are not supported.

0 comments on commit 6243c1d

Please sign in to comment.