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 87e1ae4
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 is no relocation type for data segment indices
such that instructions like `data.drop` or `memory.init` are not supported.

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

0 comments on commit 87e1ae4

Please sign in to comment.