radare2/man/esil.7
Sebastian Reichel b98880ff26 Debian patches (#5866)
* Fix esil manpage

Each manual page should start with a "NAME" section, which lists the
name and a brief description of the page separated by "\-". The "NAME"
section is parsed by lexgrog and used to generate a database that's
queried by commands like apropos and whatis. Without this change
lexgrog fails to parse the NAME section of this manual page.

This was found by Debian's lintian tool (manpage-has-bad-whatis-entry).

* Fix empty input line in manpages

Found-By: lintian as manpage-has-errors-from-man

* Fix rahash2 manpage

.El (end list) is only valid after .Bl (begin list),
but no list was started in this section.

Found-By: lintian

* Avoid build break if no static bin plugins are defined

If one disables all static bin plugins, build currently fails,
since R_BIN_STATIC_PLUGINS/R_BIN_XTR_STATIC_PLUGINS are not
defined. This fixes the build for these kind of setups.

(In Debian does not built the mach code, since the
Apple Public Source License is not compatible with
the Debian Free Software Guidelines. Without the
mach code there is not a single binxtr plugin)

* Fix implicit declaration of function 'linux_generate_corefile' on i386

Noticed by Debian build farm.

* Add support for SOURCE_DATE_EPOCH

SOURCE_DATE_EPOCH can be used to make builds
reproducible [0].

Note: radare suffers from a second problem making the
build unreproducible: It captures the full build path.
This is *not* covered by this change.

[0] https://reproducible-builds.org/specs/source-date-epoch/
2016-09-28 19:17:43 +02:00

37 lines
1.0 KiB
Groff

.TH ESIL 7
.SH NAME
ESIL \- Evaluable Strings Intermediate Language
.SH DESCRIPTION
ESIL aims to describe a Forth-like representation for every target CPU opcode semantics. ESIL representations can be evaluated (interpreted) in order to emulate individual instructions.
.SH SYNTAX
Each command of an ESIL expression is separated by a comma
.IP <source0>,<source1>,<operation>
.IP <source>,<destination>,<operation>
.IP <source_destination>,<operation>
.SH BASIC OPERATIONS
These operations should be enough to emulate most instructions of any architecture
.IP =
sets the value of the destination to the value of the source
.IP +
adds the values of source0 and source1 and pushes the result on the esil stack
.IP -
subtracts the value of source0 from the value of source1 and pushes the result on the esil stack
.IP *
multiplies the values of source0 and source1 and pushes the result on the esil stack
.IP /
divides the value of source1 by the value of source0
.SH BASIC OPERATIONS EXAMPLES (x86)
.IP "jmp eax -> eax,eip,="
.SH "SEE ALSO"
.BR radare2 (1)