From f3315cf65f9574cd1e4e784d2860c943cfa65ce9 Mon Sep 17 00:00:00 2001 From: Akira Hatanaka Date: Tue, 13 Dec 2011 02:27:40 +0000 Subject: Relocation against a symbol, instead of against section. We had some extreme test cases where there were a lot of relocations applied relative to a large rodata section. Gas would create a symbol for each of these whereas we would be relative to the beginning of the rodata section. This change mimics what gas does. Patch by Jack Carter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146468 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/MC/ELFObjectWriter.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib/MC/ELFObjectWriter.cpp') diff --git a/lib/MC/ELFObjectWriter.cpp b/lib/MC/ELFObjectWriter.cpp index 40b84ae458..92aad94f17 100644 --- a/lib/MC/ELFObjectWriter.cpp +++ b/lib/MC/ELFObjectWriter.cpp @@ -1851,7 +1851,8 @@ const MCSymbol *MipsELFObjectWriter::ExplicitRelSym(const MCAssembler &Asm, assert(Target.getSymA() && "SymA cannot be 0."); const MCSymbol &Sym = Target.getSymA()->getSymbol(); - if (Sym.getSection().getKind().isMergeable1ByteCString()) + if (Sym.getSection().getKind().isMergeableCString() || + Sym.getSection().getKind().isMergeableConst()) return &Sym; return NULL; @@ -1914,4 +1915,3 @@ unsigned MipsELFObjectWriter::GetRelocType(const MCValue &Target, return Type; } - -- cgit v1.2.3