CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
34 lines
1.4 KiB
Plaintext
34 lines
1.4 KiB
Plaintext
@section WebAssembly backend
|
|
The WebAssembly module file format, at present, is a very simple
|
|
object file format with up to 11 numbered sections plus named
|
|
``custom'' sections. At present, there is no standard for relocations
|
|
or symbols, though a @code{"name"} subsection can assign names to
|
|
function indices and local variables.
|
|
|
|
As such, it offers no real advantages over ELF, and intermediate ELF
|
|
files can be used to produce WebAssembly modules. The WebAssembly
|
|
backend aims to enable the opposite: reading a WebAssembly module and
|
|
producing an ELF file containing the same information, which can then
|
|
be manipulated and inspected with standard tools.
|
|
|
|
When writing WebAssembly modules, the WebAssembly backend attempts to
|
|
determine based on the section name whether to use a numeric section
|
|
id, a named section header, or to include the section verbatim,
|
|
assuming it already contains any necessary header.
|
|
|
|
Function names are supported as symbols; local names and WebAssembly
|
|
relocation sections are currently unsupported.
|
|
|
|
There are slight differences in the LEB128 integer implementations
|
|
between the WebAssembly specification and the BFD code; these result
|
|
in some malformed WebAssembly modules being treated as valid.
|
|
|
|
@menu
|
|
* File layout::
|
|
@end menu
|
|
|
|
@node File layout, WebAssembly
|
|
@subsection File layout
|
|
For a description of the WebAssembly file format, see
|
|
@url{https://github.com/WebAssembly/design/blob/master/BinaryEncoding.md}.
|