binutils-gdb/bfd/doc/webassembly.texi
Tom Tromey 3b23b03a86 Revert "Simplify @node use in BFD documentation"
This reverts commit 8bb23cdbb4.

My earlier patch to simplifify the @node uses in the BFD manual didn't
take into account (1) that BFD doesn't use the ordinary texinfo
sectioning commands, and (2) that some users are stuck on very ancient
versions of makeinfo.

This patch reverts the change.

I went through the entire manual using the spacebar, trying to find
the original problem I reported in the change, but couldn't.  I don't
know why.  Anyway, all this means is that, with this reversion,
editing the node structure will be slightly less convenient.

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30703

2023-08-30  Tom Tromey  <tom@tromey.com>

	PR binutils/30703
	* doc/webassembly.texi, doc/bfd.texi: Revert 8bb23cdb, adding
	parameters back to @node.
2023-08-31 07:27:01 -06:00

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