35#ifndef TCEASM_LABEL_MANAGER_HH
36#define TCEASM_LABEL_MANAGER_HH
76 std::string
aSpaceName(std::string& labelName);
148 typedef std::map<std::string, InternalLabel*>
SymbolMap;
std::map< std::string, InternalLabel * > SymbolMap
TPEF::SymbolElement * createSymbolWithReference(InternalLabel *currLabel, TPEF::Section *ownerSection)
void removeLabel(std::string &name)
TPEF::RelocSection * findOrCreateRelocationSection(InternalRelocation *currReloc, TPEF::SymbolSection *symbolSect)
void clearLastRelocations()
UValue value(std::string &name)
void addProcedure(std::string &name, UValue value)
SymbolMap labels_
Contains stored symbols by their name.
TPEF::Section * findSectionByAddress(InternalLabel *currLabel)
UValue resolveExpressionValue(UValue asmLineNumber, LiteralOrExpression &litOrExpr)
void setGlobal(std::string &labelName)
std::string aSpaceName(std::string &labelName)
void writeProcedureSymbols(TPEF::CodeSection *codeSect, TPEF::SymbolSection *symbolSect, TPEF::StringSection *strings)
void commitLastRelocations()
TPEF::ASpaceElement & aSpaceElement(std::string &labelName)
std::set< InternalRelocation * > relocs_
Added relocations.
std::set< std::string > globals_
Names of global symbols.
TPEF::Binary & bin_
For finding sections containing relocated elements.
std::set< InternalRelocation * > uncommittedRelocs_
Uncommitted relocations.
void addRelocation(TPEF::Section &locationSect, TPEF::SectionElement &location, TPEF::ASpaceElement &dstASpace, UValue destination, UValue bitWidth)
void addLabel(TPEF::ASpaceElement &aSpace, std::string &name, UValue value)
MachineResourceManager & resources_
Common resources of TPEF.
std::map< std::string, UValue > procedures_
Names and addresses of procedure starts.
TPEF::Section * findRelocationDstSection(InternalRelocation *currReloc)
TPEF::ASpaceElement * aSpace
Address space of the label.
std::string name
Name of the label.
UValue value
Address where label is located.
TPEF::SectionElement * location
Element that is reloacted.
TPEF::Section * locationSect
Section where relocated immediate or chunk is stored.
UValue bitWidth
Number of bits that are used to store the value.
UValue destination
Destination address.
TPEF::ASpaceElement * dstASpace
Address space of destination address.