[mips] Removed the SHF_ALLOC flag from the .pdr section.
authorScott Egerton <Scott.Egerton@imgtec.com>
Mon, 15 Feb 2016 09:34:15 +0000 (09:34 +0000)
committerScott Egerton <Scott.Egerton@imgtec.com>
Mon, 15 Feb 2016 09:34:15 +0000 (09:34 +0000)
Summary:
This section is used for debug information and has no need to be
in memory at runtime. With this patch, LLVM now emits the same flags as
the GNU assembler. This patch also fixes an error when compiling
the Linux kernel, The error is that there are relocations within the
.pdr section in a VDSO.

Reviewers: vkalintiris, dsanders

Subscribers: llvm-commits, dsanders

Differential Revision: http://reviews.llvm.org/D17199

llvm-svn: 260879

llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
llvm/test/MC/Mips/mips-pdr.s

index e5fa755..a33ef78 100644 (file)
@@ -611,7 +611,7 @@ void MipsTargetELFStreamer::emitDirectiveEnd(StringRef Name) {
   MCStreamer &OS = getStreamer();
 
   MCSectionELF *Sec = Context.getELFSection(".pdr", ELF::SHT_PROGBITS,
-                                            ELF::SHF_ALLOC | ELF::SHT_REL);
+                                            ELF::SHT_REL);
 
   MCSymbol *Sym = Context.getOrCreateSymbol(Name);
   const MCSymbolRefExpr *ExprRef =
index 8177e3e..c4b6378 100644 (file)
@@ -18,8 +18,8 @@
 # OBJOUT: Section {
 # OBJOUT:     Name: .pdr
 # OBJOUT:     Type: SHT_PROGBITS (0x1)
-# OBJOUT:     Flags [ (0xB)
-# OBJOUT:       SHF_ALLOC (0x2)
+# OBJOUT:     Flags [ (0x9)
+# OBJOUT-NOT:   SHF_ALLOC (0x2)
 # OBJOUT:       SHF_WRITE (0x1)
 # OBJOUT:     ]
 # OBJOUT:     Size: 64