mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-03-30 20:34:21 +00:00
Fix coding style issues pointed by Bill.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75898 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
90bb3f3706
commit
115934eb57
@ -72,17 +72,17 @@ namespace llvm {
|
||||
unsigned SymTabIdx;
|
||||
|
||||
enum {
|
||||
STB_LOCAL = 0,
|
||||
STB_GLOBAL = 1,
|
||||
STB_WEAK = 2
|
||||
STB_LOCAL = 0, // Local sym, not visible outside obj file containing def
|
||||
STB_GLOBAL = 1, // Global sym, visible to all object files being combined
|
||||
STB_WEAK = 2 // Weak symbol, like global but lower-precedence
|
||||
};
|
||||
|
||||
enum {
|
||||
STT_NOTYPE = 0,
|
||||
STT_OBJECT = 1,
|
||||
STT_FUNC = 2,
|
||||
STT_SECTION = 3,
|
||||
STT_FILE = 4
|
||||
STT_NOTYPE = 0, // Symbol's type is not specified
|
||||
STT_OBJECT = 1, // Symbol is a data object (variable, array, etc.)
|
||||
STT_FUNC = 2, // Symbol is executable code (function, etc.)
|
||||
STT_SECTION = 3, // Symbol refers to a section
|
||||
STT_FILE = 4 // Local, absolute symbol that refers to a file
|
||||
};
|
||||
|
||||
enum {
|
||||
|
@ -456,8 +456,8 @@ bool ELFWriter::doFinalization(Module &M) {
|
||||
void ELFWriter::EmitRelocations() {
|
||||
|
||||
// Create Relocation sections for each section which needs it.
|
||||
for (unsigned i=0, e=SectionList.size(); i < e; ++i) {
|
||||
ELFSection &S = *SectionList[i];
|
||||
for (ELFSectionIter I=SectionList.begin(), E=SectionList.end(); I != E; ++I) {
|
||||
ELFSection &S = *(*I);
|
||||
|
||||
// This section does not have relocations
|
||||
if (!S.hasRelocations()) continue;
|
||||
@ -581,8 +581,8 @@ void ELFWriter::EmitStringTable() {
|
||||
// Walk on the symbol list and write symbol names into the
|
||||
// string table.
|
||||
unsigned Index = 1;
|
||||
for (unsigned i = 0, e = SymbolList.size(); i < e; ++i) {
|
||||
ELFSym &Sym = *SymbolList[i];
|
||||
for (ELFSymIter I=SymbolList.begin(), E=SymbolList.end(); I != E; ++I) {
|
||||
ELFSym &Sym = *(*I);
|
||||
|
||||
// Use the name mangler to uniquify the LLVM symbol.
|
||||
std::string Name;
|
||||
@ -606,23 +606,23 @@ void ELFWriter::EmitStringTable() {
|
||||
// all other symbols with non-local bindings. The return value is
|
||||
// the position of the first non local symbol.
|
||||
unsigned ELFWriter::SortSymbols() {
|
||||
unsigned FirstNonLocalSymbol, i, e;
|
||||
unsigned FirstNonLocalSymbol;
|
||||
std::vector<ELFSym*> LocalSyms, OtherSyms;
|
||||
|
||||
for (i = 0, e = SymbolList.size(); i < e; ++i) {
|
||||
if (SymbolList[i]->isLocalBind())
|
||||
LocalSyms.push_back(SymbolList[i]);
|
||||
for (ELFSymIter I=SymbolList.begin(), E=SymbolList.end(); I != E; ++I) {
|
||||
if ((*I)->isLocalBind())
|
||||
LocalSyms.push_back(*I);
|
||||
else
|
||||
OtherSyms.push_back(SymbolList[i]);
|
||||
OtherSyms.push_back(*I);
|
||||
}
|
||||
SymbolList.clear();
|
||||
FirstNonLocalSymbol = LocalSyms.size();
|
||||
|
||||
for (i = 0; i < FirstNonLocalSymbol; ++i)
|
||||
for (unsigned i = 0; i < FirstNonLocalSymbol; ++i)
|
||||
SymbolList.push_back(LocalSyms[i]);
|
||||
|
||||
for (i = 0, e = OtherSyms.size(); i < e; ++i)
|
||||
SymbolList.push_back(OtherSyms[i]);
|
||||
for (ELFSymIter I=OtherSyms.begin(), E=OtherSyms.end(); I != E; ++I)
|
||||
SymbolList.push_back(*I);
|
||||
|
||||
LocalSyms.clear();
|
||||
OtherSyms.clear();
|
||||
@ -685,14 +685,15 @@ void ELFWriter::EmitSectionTableStringTable() {
|
||||
// the string table.
|
||||
unsigned Index = 0;
|
||||
|
||||
for (unsigned i=0, e=SectionList.size(); i < e; ++i) {
|
||||
for (ELFSectionIter I=SectionList.begin(), E=SectionList.end(); I != E; ++I) {
|
||||
ELFSection &S = *(*I);
|
||||
// Set the index into the table. Note if we have lots of entries with
|
||||
// common suffixes, we could memoize them here if we cared.
|
||||
SectionList[i]->NameIdx = Index;
|
||||
SHStrTab.emitString(SectionList[i]->getName());
|
||||
S.NameIdx = Index;
|
||||
SHStrTab.emitString(S.getName());
|
||||
|
||||
// Keep track of the number of bytes emitted to this section.
|
||||
Index += SectionList[i]->getName().size()+1;
|
||||
Index += S.getName().size()+1;
|
||||
}
|
||||
|
||||
// Set the size of .shstrtab now that we know what it is.
|
||||
@ -748,8 +749,8 @@ void ELFWriter::OutputSectionsAndSectionTable() {
|
||||
BinaryObject SHdrTable(isLittleEndian, is64Bit);
|
||||
|
||||
// Emit all of sections to the file and build the section header table.
|
||||
for (unsigned i=0, e=SectionList.size(); i < e; ++i) {
|
||||
ELFSection &S = *SectionList[i];
|
||||
for (ELFSectionIter I=SectionList.begin(), E=SectionList.end(); I != E; ++I) {
|
||||
ELFSection &S = *(*I);
|
||||
DOUT << "SectionIdx: " << S.SectionIdx << ", Name: " << S.getName()
|
||||
<< ", Size: " << S.Size << ", Offset: " << S.Offset
|
||||
<< ", SectionData Size: " << S.size() << "\n";
|
||||
|
@ -34,6 +34,9 @@ namespace llvm {
|
||||
class TargetELFWriterInfo;
|
||||
class raw_ostream;
|
||||
|
||||
typedef std::vector<ELFSym*>::iterator ELFSymIter;
|
||||
typedef std::vector<ELFSection*>::iterator ELFSectionIter;
|
||||
|
||||
/// ELFWriter - This class implements the common target-independent code for
|
||||
/// writing ELF files. Targets should derive a class from this to
|
||||
/// parameterize the output format.
|
||||
|
Loading…
x
Reference in New Issue
Block a user