From e774126c9623639b11f8716dee9e49cb2d97649b Mon Sep 17 00:00:00 2001 From: Simon Atanasyan Date: Wed, 3 Feb 2016 11:50:22 +0000 Subject: [mips] Add SHF_MIPS_GPREL flag to the MIPS .sbss and .sdata sections MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit MIPS ABI states that .sbss and .sdata sections must have SHF_MIPS_GPREL flag. See Figure 4–7 on page 69 in the following document: ftp://www.linux-mips.org/pub/linux/mips/doc/ABI/mipsabi.pdf. Differential Revision: http://reviews.llvm.org/D15740 llvm-svn: 259641 --- llvm/lib/Target/Mips/MipsTargetObjectFile.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'llvm/lib/Target/Mips/MipsTargetObjectFile.cpp') diff --git a/llvm/lib/Target/Mips/MipsTargetObjectFile.cpp b/llvm/lib/Target/Mips/MipsTargetObjectFile.cpp index 79df9a05148..e83abdd2a8c 100644 --- a/llvm/lib/Target/Mips/MipsTargetObjectFile.cpp +++ b/llvm/lib/Target/Mips/MipsTargetObjectFile.cpp @@ -41,10 +41,12 @@ void MipsTargetObjectFile::Initialize(MCContext &Ctx, const TargetMachine &TM){ InitializeELF(TM.Options.UseInitArray); SmallDataSection = getContext().getELFSection( - ".sdata", ELF::SHT_PROGBITS, ELF::SHF_WRITE | ELF::SHF_ALLOC); + ".sdata", ELF::SHT_PROGBITS, + ELF::SHF_WRITE | ELF::SHF_ALLOC | ELF::SHF_MIPS_GPREL); SmallBSSSection = getContext().getELFSection(".sbss", ELF::SHT_NOBITS, - ELF::SHF_WRITE | ELF::SHF_ALLOC); + ELF::SHF_WRITE | ELF::SHF_ALLOC | + ELF::SHF_MIPS_GPREL); this->TM = &static_cast(TM); } -- cgit v1.2.3