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:
Bruno Cardoso Lopes 2009-07-16 06:26:41 +00:00
parent 90bb3f3706
commit 115934eb57
3 changed files with 30 additions and 26 deletions

View File

@ -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 {

View File

@ -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";

View File

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