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
For `R_WASM_MEMORY_ADDR_LEB`, `R_WASM_MEMORY_ADDR_SLEB`,
154
-
`R_WASM_MEMORY_ADDR_I32`, `R_WASM_FUNCTION_OFFSET_I32`, and
151
+
For `R_WASM_MEMORY_ADDR_*`, `R_WASM_FUNCTION_OFFSET_I32`, and
155
152
`R_WASM_SECTION_OFFSET_I32` relocations (and their 64-bit counterparts) the
156
153
following field is additionally present:
157
154
@@ -522,15 +519,14 @@ The final code and data sections are written out with relocations applied.
522
519
`R_WASM_TYPE_INDEX_LEB` relocations cannot fail. The output Wasm file
523
520
shall contain a newly-synthesised type section which contains entries for all
524
521
functions and type relocations in the output.
525
-
526
-
`R_WASM_TABLE_INDEX_SLEB`, `R_WASM_TABLE_INDEX_I32` relocations and their 64-bit counterparts (`R_WASM_TABLE_INDEX_SLEB64` and `R_WASM_TABLE_INDEX_I64`)
527
-
cannot fail. The output Wasm file shall contain a newly-synthesised table,
528
-
which contains an entry for all defined or imported symbols referenced by table
529
-
relocations. The output table elements shall begin at a non-zero offset within
530
-
the table, so that a `call_indirect 0` instruction is guaranteed to fail.
531
-
Finally, when processing table relocations for symbols which have neither an
532
-
import nor a definition (namely, weakly-undefined function symbols), the value
533
-
`0` is written out as the value of the relocation.
522
+
`R_WASM_TABLE_INDEX_*` relocations cannot fail. The output Wasm file shall
523
+
contain a newly-synthesised table, which contains an entry for all defined or
524
+
imported symbols referenced by table relocations. The output table elements
525
+
shall begin at a non-zero offset within the table, so that a `call_indirect 0`
526
+
instruction is guaranteed to fail. Finally, when processing table relocations
527
+
for symbols which have neither an import nor a definition (namely,
528
+
weakly-undefined function symbols), the value `0` is written out as the value
529
+
of the relocation.
534
530
535
531
`R_WASM_FUNCTION_INDEX_LEB` relocations may fail to be processed, in
536
532
which case linking fails. This occurs if there is a weakly-undefined function
@@ -545,11 +541,10 @@ in which case there is no legal value that can be written as the target of any
545
541
generate weak globals which may not be defined; a definition or import must
546
542
exist for all global symbols in the linked output.)
547
543
548
-
`R_WASM_MEMORY_ADDR_LEB`, `R_WASM_MEMORY_ADDR_SLEB` and
549
-
`R_WASM_MEMORY_ADDR_I32` relocations (and their 64-bit counterpairs `R_WASM_MEMORY_ADDR_LEB64`, `R_WASM_MEMORY_ADDR_SLEB64`, and `R_WASM_MEMORY_ADDR_I64`) cannot fail. The relocation's value
550
-
is the offset within the linear memory of the symbol within the output segment,
551
-
plus the symbol's addend. If the symbol is undefined (whether weak or strong),
552
-
the value of the relocation shall be `0`.
544
+
`R_WASM_MEMORY_*` relocations cannot fail. The relocation's value is the offset
545
+
within the linear memory of the symbol within the output segment, plus the
546
+
symbol's addend. If the symbol is undefined (whether weak or strong), the value
547
+
of the relocation shall be `0`.
553
548
554
549
`R_WASM_FUNCTION_OFFSET_I32` relocations cannot fail. The values shall be
555
550
adjusted to reflect new offsets in the code section.
0 commit comments