diff options
author | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2009-08-08 17:29:04 +0000 |
---|---|---|
committer | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2009-08-08 17:29:04 +0000 |
commit | 3e0094d9694a27c9e925f789fa26e740dc445fbe (patch) | |
tree | bf79d815b7a022383924549bd9eab653bc9daae5 /lib/CodeGen/ELFWriter.h | |
parent | cf1e764a1c1a15f3710ca41ecad5662527fca21f (diff) |
ELF improvements:
Handle large integers, x86_fp80, ConstantAggregateZero, and two more ConstantExpr:
GetElementPtr and IntToPtr
Set SHF_MERGE bit for mergeable strings
Avoid zero initialized strings to be classified as a bss symbol
Don't allow common symbols to be classified as STB_WEAK
Add a constant to be used as a global value offset in data relocations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78476 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/ELFWriter.h')
-rw-r--r-- | lib/CodeGen/ELFWriter.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/CodeGen/ELFWriter.h b/lib/CodeGen/ELFWriter.h index fe726524d3..362c278472 100644 --- a/lib/CodeGen/ELFWriter.h +++ b/lib/CodeGen/ELFWriter.h @@ -21,6 +21,7 @@ namespace llvm { class BinaryObject; class Constant; + class ConstantInt; class ConstantStruct; class ELFCodeEmitter; class ELFRelocation; @@ -248,8 +249,9 @@ namespace llvm { void EmitGlobalConstant(const Constant *C, ELFSection &GblS); void EmitGlobalConstantStruct(const ConstantStruct *CVS, ELFSection &GblS); - void emitGlobalDataRelocation(const GlobalValue *GV, unsigned Size, - ELFSection &GblS); + void EmitGlobalConstantLargeInt(const ConstantInt *CI, ELFSection &S); + void EmitGlobalDataRelocation(const GlobalValue *GV, unsigned Size, + ELFSection &GblS, uint64_t Offset = 0); bool EmitSpecialLLVMGlobal(const GlobalVariable *GV); void EmitXXStructorList(Constant *List, ELFSection &Xtor); void EmitRelocations(); |