GTIRB
v2.2.0
GrammaTech Intermediate Representation for Binaries: C++ API
|
Types and operations for symbolic expressions. More...
#include <gtirb/Addr.hpp>
#include <gtirb/proto/SymbolicExpression.pb.h>
#include <bitset>
#include <boost/range/iterator_range.hpp>
#include <cstdint>
#include <functional>
#include <map>
#include <string>
#include <variant>
Go to the source code of this file.
Classes | |
struct | std::hash< gtirb::SymAddrAddr > |
struct | std::hash< gtirb::SymAddrConst > |
struct | gtirb::SymAddrAddr |
Represents a symbolic operand of the form "(Sym1 - Sym2) / Scale + Offset". More... | |
struct | gtirb::SymAddrConst |
Represents a symbolic operand of the form "Sym + Offset". More... | |
Namespaces | |
gtirb | |
Main namespace for the GTIRB API. | |
std | |
Typedefs | |
using | gtirb::SymAttributeSet = std::set< SymAttribute > |
using | gtirb::SymbolicExpression = std::variant< SymAddrConst, SymAddrAddr > |
A symbolic expression. More... | |
Enumerations | |
enum | gtirb::SymAttribute : uint16_t { gtirb::SymAttribute::GOT = proto::SymAttribute::GOT, gtirb::SymAttribute::GOTPC = proto::SymAttribute::GOTPC, gtirb::SymAttribute::GOTOFF = proto::SymAttribute::GOTOFF, gtirb::SymAttribute::GOTREL = proto::SymAttribute::GOTREL, gtirb::SymAttribute::PLT = proto::SymAttribute::PLT, gtirb::SymAttribute::PLTOFF = proto::SymAttribute::PLTOFF, gtirb::SymAttribute::PCREL = proto::SymAttribute::PCREL, gtirb::SymAttribute::SECREL = proto::SymAttribute::SECREL, gtirb::SymAttribute::TLS = proto::SymAttribute::TLS, gtirb::SymAttribute::TLSGD = proto::SymAttribute::TLSGD, gtirb::SymAttribute::TLSLD = proto::SymAttribute::TLSLD, gtirb::SymAttribute::TLSLDM = proto::SymAttribute::TLSLDM, gtirb::SymAttribute::TLSCALL = proto::SymAttribute::TLSCALL, gtirb::SymAttribute::TLSDESC = proto::SymAttribute::TLSDESC, gtirb::SymAttribute::TPREL = proto::SymAttribute::TPREL, gtirb::SymAttribute::TPOFF = proto::SymAttribute::TPOFF, gtirb::SymAttribute::DTPREL = proto::SymAttribute::DTPREL, gtirb::SymAttribute::DTPOFF = proto::SymAttribute::DTPOFF, gtirb::SymAttribute::DTPMOD = proto::SymAttribute::DTPMOD, gtirb::SymAttribute::NTPOFF = proto::SymAttribute::NTPOFF, gtirb::SymAttribute::PAGE = proto::SymAttribute::PAGE, gtirb::SymAttribute::PAGEOFF = proto::SymAttribute::PAGEOFF, gtirb::SymAttribute::CALL = proto::SymAttribute::CALL, gtirb::SymAttribute::LO = proto::SymAttribute::LO, gtirb::SymAttribute::HI = proto::SymAttribute::HI, gtirb::SymAttribute::HIGHER = proto::SymAttribute::HIGHER, gtirb::SymAttribute::HIGHEST = proto::SymAttribute::HIGHEST, gtirb::SymAttribute::GOTNTPOFF = proto::SymAttribute::GOTNTPOFF, gtirb::SymAttribute::INDNTPOFF = proto::SymAttribute::INDNTPOFF, gtirb::SymAttribute::G0 = proto::SymAttribute::G0, gtirb::SymAttribute::G1 = proto::SymAttribute::G1, gtirb::SymAttribute::G2 = proto::SymAttribute::G2, gtirb::SymAttribute::G3 = proto::SymAttribute::G3, gtirb::SymAttribute::UPPER16 = proto::SymAttribute::UPPER16, gtirb::SymAttribute::LOWER16 = proto::SymAttribute::LOWER16, gtirb::SymAttribute::LO12 = proto::SymAttribute::LO12, gtirb::SymAttribute::LO15 = proto::SymAttribute::LO15, gtirb::SymAttribute::LO14 = proto::SymAttribute::LO14, gtirb::SymAttribute::HI12 = proto::SymAttribute::HI12, gtirb::SymAttribute::HI21 = proto::SymAttribute::HI21, gtirb::SymAttribute::S = proto::SymAttribute::S, gtirb::SymAttribute::PG = proto::SymAttribute::PG, gtirb::SymAttribute::NC = proto::SymAttribute::NC, gtirb::SymAttribute::ABS = proto::SymAttribute::ABS, gtirb::SymAttribute::PREL = proto::SymAttribute::PREL, gtirb::SymAttribute::PREL31 = proto::SymAttribute::PREL31, gtirb::SymAttribute::TARGET1 = proto::SymAttribute::TARGET1, gtirb::SymAttribute::TARGET2 = proto::SymAttribute::TARGET2, gtirb::SymAttribute::SBREL = proto::SymAttribute::SBREL, gtirb::SymAttribute::TLSLDO = proto::SymAttribute::TLSLDO, gtirb::SymAttribute::HI16 = proto::SymAttribute::HI16, gtirb::SymAttribute::LO16 = proto::SymAttribute::LO16, gtirb::SymAttribute::GPREL = proto::SymAttribute::GPREL, gtirb::SymAttribute::DISP = proto::SymAttribute::DISP, gtirb::SymAttribute::OFST = proto::SymAttribute::OFST, gtirb::SymAttribute::H = proto::SymAttribute::H, gtirb::SymAttribute::L = proto::SymAttribute::L, gtirb::SymAttribute::HA = proto::SymAttribute::HA, gtirb::SymAttribute::HIGH = proto::SymAttribute::HIGH, gtirb::SymAttribute::HIGHA = proto::SymAttribute::HIGHA, gtirb::SymAttribute::HIGHERA = proto::SymAttribute::HIGHERA, gtirb::SymAttribute::HIGHESTA = proto::SymAttribute::HIGHESTA, gtirb::SymAttribute::TOCBASE = proto::SymAttribute::TOCBASE, gtirb::SymAttribute::TOC = proto::SymAttribute::TOC, gtirb::SymAttribute::NOTOC = proto::SymAttribute::NOTOC } |
The space of attributes that can be applied to a symbolic expression. More... | |
Types and operations for symbolic expressions.