diff options
author | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2009-06-25 07:36:24 +0000 |
---|---|---|
committer | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2009-06-25 07:36:24 +0000 |
commit | e364a233c026c851b23c7c2fab29dd7e7374f90f (patch) | |
tree | 9bc71fbc11e8518af0e961227eeed8d0fa733836 /llvm/lib/CodeGen/ELF.h | |
parent | c53b444d364e111d86c6183c0f2ada2ce72967c8 (diff) | |
download | bcm5719-llvm-e364a233c026c851b23c7c2fab29dd7e7374f90f.tar.gz bcm5719-llvm-e364a233c026c851b23c7c2fab29dd7e7374f90f.zip |
Support Constant Pool Sections
Add section symbols to the symbol table
llvm-svn: 74170
Diffstat (limited to 'llvm/lib/CodeGen/ELF.h')
-rw-r--r-- | llvm/lib/CodeGen/ELF.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/ELF.h b/llvm/lib/CodeGen/ELF.h index 28b6be8910e..8d92373b713 100644 --- a/llvm/lib/CodeGen/ELF.h +++ b/llvm/lib/CodeGen/ELF.h @@ -144,6 +144,9 @@ namespace llvm { uint8_t Other; unsigned short SectionIdx; + // Symbol index into the Symbol table + unsigned SymTabIdx; + enum { STB_LOCAL = 0, STB_GLOBAL = 1, @@ -168,7 +171,8 @@ namespace llvm { ELFSym(const GlobalValue *gv) : GV(gv), IsCommon(false), IsBss(false), IsConstant(false), NameIdx(0), Value(0), Size(0), Info(0), Other(STV_DEFAULT), - SectionIdx(ELFSection::SHN_UNDEF) { + SectionIdx(ELFSection::SHN_UNDEF), + SymTabIdx(0) { if (!GV) return; @@ -191,6 +195,10 @@ namespace llvm { return (Info >> 4) & 0xf; } + unsigned getType() { + return Info & 0xf; + } + void setBind(unsigned X) { assert(X == (X & 0xF) && "Bind value out of range!"); Info = (Info & 0x0F) | (X << 4); |