summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2011-06-07 23:26:45 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2011-06-07 23:26:45 +0000
commitd846e3fb5a36c625df1bea3d4ef4e337b7b6e917 (patch)
tree3f32d4cedecf2abb99a95e4fb14bacef1a7421c3
parent3f628510d3d12513242c499b063e9b6d78a03d48 (diff)
downloadllvm-d846e3fb5a36c625df1bea3d4ef4e337b7b6e917.tar.gz
llvm-d846e3fb5a36c625df1bea3d4ef4e337b7b6e917.tar.bz2
llvm-d846e3fb5a36c625df1bea3d4ef4e337b7b6e917.tar.xz
Fix a silly error I introduce in r131951.
Fixes PR10095. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132735 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/CodeGen/TargetLoweringObjectFileImpl.cpp5
-rw-r--r--test/CodeGen/X86/eh_frame.ll13
2 files changed, 12 insertions, 6 deletions
diff --git a/lib/CodeGen/TargetLoweringObjectFileImpl.cpp b/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
index 4e2888ddfc..cdac42d1bf 100644
--- a/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
+++ b/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
@@ -255,9 +255,6 @@ getELFKindForNamedSection(StringRef Name, SectionKind K) {
Name.startswith(".llvm.linkonce.tb."))
return SectionKind::getThreadBSS();
- if (Name == ".eh_frame")
- return SectionKind::getReadOnlyWithRel();
-
return K;
}
@@ -290,7 +287,7 @@ getELFSectionFlags(SectionKind K) {
if (K.isText())
Flags |= ELF::SHF_EXECINSTR;
- if (K.isWriteable() && !K.isReadOnlyWithRel())
+ if (K.isWriteable())
Flags |= ELF::SHF_WRITE;
if (K.isThreadLocal())
diff --git a/test/CodeGen/X86/eh_frame.ll b/test/CodeGen/X86/eh_frame.ll
index e8d3c87d41..3b792b235c 100644
--- a/test/CodeGen/X86/eh_frame.ll
+++ b/test/CodeGen/X86/eh_frame.ll
@@ -1,5 +1,14 @@
-; RUN: llc < %s -mtriple x86_64-unknown-linux-gnu | FileCheck %s
+; RUN: llc < %s -mtriple x86_64-unknown-linux-gnu | FileCheck -check-prefix=STATIC %s
+; RUN: llc < %s -mtriple x86_64-unknown-linux-gnu -relocation-model=pic | FileCheck -check-prefix=PIC %s
@__FRAME_END__ = constant [1 x i32] zeroinitializer, section ".eh_frame"
-; CHECK: .section .eh_frame,"a",@progbits
+@foo = external global i32
+@bar1 = constant i8* bitcast (i32* @foo to i8*), section "my_bar1", align 8
+
+
+; STATIC: .section .eh_frame,"a",@progbits
+; STATIC: .section my_bar1,"a",@progbits
+
+; PIC: .section .eh_frame,"a",@progbits
+; PIC: .section my_bar1,"aw",@progbits