aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/ELFWriter.h
diff options
context:
space:
mode:
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>2009-08-08 17:29:04 +0000
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>2009-08-08 17:29:04 +0000
commit3e0094d9694a27c9e925f789fa26e740dc445fbe (patch)
treebf79d815b7a022383924549bd9eab653bc9daae5 /lib/CodeGen/ELFWriter.h
parentcf1e764a1c1a15f3710ca41ecad5662527fca21f (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.h6
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();