summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/lib/MC/MCObjectFileInfo.cpp12
-rw-r--r--llvm/test/MC/ELF/cfi-adjust-cfa-offset.s2
-rw-r--r--llvm/test/MC/ELF/cfi-advance-loc2.s2
-rw-r--r--llvm/test/MC/ELF/cfi-def-cfa-offset.s2
-rw-r--r--llvm/test/MC/ELF/cfi-def-cfa-register.s2
-rw-r--r--llvm/test/MC/ELF/cfi-def-cfa.s2
-rw-r--r--llvm/test/MC/ELF/cfi-escape.s2
-rw-r--r--llvm/test/MC/ELF/cfi-large-model.s2
-rw-r--r--llvm/test/MC/ELF/cfi-offset.s2
-rw-r--r--llvm/test/MC/ELF/cfi-register.s2
-rw-r--r--llvm/test/MC/ELF/cfi-rel-offset.s2
-rw-r--r--llvm/test/MC/ELF/cfi-rel-offset2.s2
-rw-r--r--llvm/test/MC/ELF/cfi-remember.s2
-rw-r--r--llvm/test/MC/ELF/cfi-restore.s2
-rw-r--r--llvm/test/MC/ELF/cfi-same-value.s2
-rw-r--r--llvm/test/MC/ELF/cfi-signal-frame.s2
-rw-r--r--llvm/test/MC/ELF/cfi-undefined.s2
-rw-r--r--llvm/test/MC/ELF/cfi-window-save.s2
-rw-r--r--llvm/test/MC/ELF/cfi-zero-addr-delta.s2
-rw-r--r--llvm/test/MC/ELF/cfi.s2
20 files changed, 24 insertions, 26 deletions
diff --git a/llvm/lib/MC/MCObjectFileInfo.cpp b/llvm/lib/MC/MCObjectFileInfo.cpp
index 4c51c8363f3..8849f5d4d12 100644
--- a/llvm/lib/MC/MCObjectFileInfo.cpp
+++ b/llvm/lib/MC/MCObjectFileInfo.cpp
@@ -416,16 +416,14 @@ void MCObjectFileInfo::initELFMCObjectFileInfo(Triple T) {
break;
}
+ EHSectionType = T.getArch() == Triple::x86_64 ? ELF::SHT_X86_64_UNWIND
+ : ELF::SHT_PROGBITS;
+
// Solaris requires different flags for .eh_frame to seemingly every other
// platform.
- EHSectionType = ELF::SHT_PROGBITS;
EHSectionFlags = ELF::SHF_ALLOC;
- if (T.isOSSolaris()) {
- if (T.getArch() == Triple::x86_64)
- EHSectionType = ELF::SHT_X86_64_UNWIND;
- else
- EHSectionFlags |= ELF::SHF_WRITE;
- }
+ if (T.isOSSolaris() && T.getArch() != Triple::x86_64)
+ EHSectionFlags |= ELF::SHF_WRITE;
// ELF
BSSSection = Ctx->getELFSection(".bss", ELF::SHT_NOBITS,
diff --git a/llvm/test/MC/ELF/cfi-adjust-cfa-offset.s b/llvm/test/MC/ELF/cfi-adjust-cfa-offset.s
index 398ad54fe75..7177ccb3650 100644
--- a/llvm/test/MC/ELF/cfi-adjust-cfa-offset.s
+++ b/llvm/test/MC/ELF/cfi-adjust-cfa-offset.s
@@ -24,7 +24,7 @@ f:
// CHECK: Section {
// CHECK: Index:
// CHECK: Name: .eh_frame
-// CHECK-NEXT: Type: SHT_PROGBITS
+// CHECK-NEXT: Type: SHT_X86_64_UNWIND
// CHECK-NEXT: Flags [
// CHECK-NEXT: SHF_ALLOC
// CHECK-NEXT: ]
diff --git a/llvm/test/MC/ELF/cfi-advance-loc2.s b/llvm/test/MC/ELF/cfi-advance-loc2.s
index 13397920127..6a60e52acba 100644
--- a/llvm/test/MC/ELF/cfi-advance-loc2.s
+++ b/llvm/test/MC/ELF/cfi-advance-loc2.s
@@ -12,7 +12,7 @@ f:
// CHECK: Section {
// CHECK: Name: .eh_frame
-// CHECK-NEXT: Type: SHT_PROGBITS
+// CHECK-NEXT: Type: SHT_X86_64_UNWIND
// CHECK-NEXT: Flags [
// CHECK-NEXT: SHF_ALLOC
// CHECK-NEXT: ]
diff --git a/llvm/test/MC/ELF/cfi-def-cfa-offset.s b/llvm/test/MC/ELF/cfi-def-cfa-offset.s
index 3e4ca57a516..c4cc6d53e02 100644
--- a/llvm/test/MC/ELF/cfi-def-cfa-offset.s
+++ b/llvm/test/MC/ELF/cfi-def-cfa-offset.s
@@ -13,7 +13,7 @@ f:
// CHECK: Section {
// CHECK: Index:
// CHECK: Name: .eh_frame
-// CHECK-NEXT: Type: SHT_PROGBITS
+// CHECK-NEXT: Type: SHT_X86_64_UNWIND
// CHECK-NEXT: Flags [
// CHECK-NEXT: SHF_ALLOC
// CHECK-NEXT: ]
diff --git a/llvm/test/MC/ELF/cfi-def-cfa-register.s b/llvm/test/MC/ELF/cfi-def-cfa-register.s
index 53174cb2f55..708f6b1496e 100644
--- a/llvm/test/MC/ELF/cfi-def-cfa-register.s
+++ b/llvm/test/MC/ELF/cfi-def-cfa-register.s
@@ -9,7 +9,7 @@ f:
// CHECK: Section {
// CHECK: Name: .eh_frame
-// CHECK-NEXT: Type: SHT_PROGBITS
+// CHECK-NEXT: Type: SHT_X86_64_UNWIND
// CHECK-NEXT: Flags [
// CHECK-NEXT: SHF_ALLOC
// CHECK-NEXT: ]
diff --git a/llvm/test/MC/ELF/cfi-def-cfa.s b/llvm/test/MC/ELF/cfi-def-cfa.s
index 9706c4da097..25931b77ec6 100644
--- a/llvm/test/MC/ELF/cfi-def-cfa.s
+++ b/llvm/test/MC/ELF/cfi-def-cfa.s
@@ -9,7 +9,7 @@ f:
// CHECK: Section {
// CHECK: Name: .eh_frame
-// CHECK-NEXT: Type: SHT_PROGBITS
+// CHECK-NEXT: Type: SHT_X86_64_UNWIND
// CHECK-NEXT: Flags [
// CHECK-NEXT: SHF_ALLOC
// CHECK-NEXT: ]
diff --git a/llvm/test/MC/ELF/cfi-escape.s b/llvm/test/MC/ELF/cfi-escape.s
index e93d5f7be5f..fb019be1252 100644
--- a/llvm/test/MC/ELF/cfi-escape.s
+++ b/llvm/test/MC/ELF/cfi-escape.s
@@ -10,7 +10,7 @@ f:
// CHECK: Section {
// CHECK: Index:
// CHECK: Name: .eh_frame
-// CHECK-NEXT: Type: SHT_PROGBITS
+// CHECK-NEXT: Type: SHT_X86_64_UNWIND
// CHECK-NEXT: Flags [
// CHECK-NEXT: SHF_ALLOC
// CHECK-NEXT: ]
diff --git a/llvm/test/MC/ELF/cfi-large-model.s b/llvm/test/MC/ELF/cfi-large-model.s
index f4a20c26267..2fb63d18371 100644
--- a/llvm/test/MC/ELF/cfi-large-model.s
+++ b/llvm/test/MC/ELF/cfi-large-model.s
@@ -4,7 +4,7 @@
// CHECK: Section {
// CHECK: Index:
// CHECK: Name: .eh_frame
-// CHECK-NEXT: Type: SHT_PROGBITS
+// CHECK-NEXT: Type: SHT_X86_64_UNWIND
// CHECK-NEXT: Flags [
// CHECK-NEXT: SHF_ALLOC
// CHECK-NEXT: ]
diff --git a/llvm/test/MC/ELF/cfi-offset.s b/llvm/test/MC/ELF/cfi-offset.s
index 9038def03a6..ea9d0f49915 100644
--- a/llvm/test/MC/ELF/cfi-offset.s
+++ b/llvm/test/MC/ELF/cfi-offset.s
@@ -9,7 +9,7 @@ f:
// CHECK: Section {
// CHECK: Name: .eh_frame
-// CHECK-NEXT: Type: SHT_PROGBITS
+// CHECK-NEXT: Type: SHT_X86_64_UNWIND
// CHECK-NEXT: Flags [
// CHECK-NEXT: SHF_ALLOC
// CHECK-NEXT: ]
diff --git a/llvm/test/MC/ELF/cfi-register.s b/llvm/test/MC/ELF/cfi-register.s
index be60e2ea2e8..f7c021d06b8 100644
--- a/llvm/test/MC/ELF/cfi-register.s
+++ b/llvm/test/MC/ELF/cfi-register.s
@@ -10,7 +10,7 @@ f:
// CHECK: Section {
// CHECK: Index:
// CHECK: Name: .eh_frame
-// CHECK-NEXT: Type: SHT_PROGBITS
+// CHECK-NEXT: Type: SHT_X86_64_UNWIND
// CHECK-NEXT: Flags [
// CHECK-NEXT: SHF_ALLOC
// CHECK-NEXT: ]
diff --git a/llvm/test/MC/ELF/cfi-rel-offset.s b/llvm/test/MC/ELF/cfi-rel-offset.s
index 892cda165ba..89ca4ff148a 100644
--- a/llvm/test/MC/ELF/cfi-rel-offset.s
+++ b/llvm/test/MC/ELF/cfi-rel-offset.s
@@ -17,7 +17,7 @@ f:
// CHECK: Section {
// CHECK: Index:
// CHECK: Name: .eh_frame
-// CHECK-NEXT: Type: SHT_PROGBITS
+// CHECK-NEXT: Type: SHT_X86_64_UNWIND
// CHECK-NEXT: Flags [
// CHECK-NEXT: SHF_ALLOC
// CHECK-NEXT: ]
diff --git a/llvm/test/MC/ELF/cfi-rel-offset2.s b/llvm/test/MC/ELF/cfi-rel-offset2.s
index 805b0b290bc..e4d6b58c748 100644
--- a/llvm/test/MC/ELF/cfi-rel-offset2.s
+++ b/llvm/test/MC/ELF/cfi-rel-offset2.s
@@ -9,7 +9,7 @@ f:
// CHECK: Section {
// CHECK: Index:
// CHECK: Name: .eh_frame
-// CHECK-NEXT: Type: SHT_PROGBITS
+// CHECK-NEXT: Type: SHT_X86_64_UNWIND
// CHECK-NEXT: Flags [
// CHECK-NEXT: SHF_ALLOC
// CHECK-NEXT: ]
diff --git a/llvm/test/MC/ELF/cfi-remember.s b/llvm/test/MC/ELF/cfi-remember.s
index ae112f59ebe..c438ad3d0f3 100644
--- a/llvm/test/MC/ELF/cfi-remember.s
+++ b/llvm/test/MC/ELF/cfi-remember.s
@@ -12,7 +12,7 @@ f:
// CHECK: Section {
// CHECK: Index:
// CHECK: Name: .eh_frame
-// CHECK-NEXT: Type: SHT_PROGBITS
+// CHECK-NEXT: Type: SHT_X86_64_UNWIND
// CHECK-NEXT: Flags [
// CHECK-NEXT: SHF_ALLOC
// CHECK-NEXT: ]
diff --git a/llvm/test/MC/ELF/cfi-restore.s b/llvm/test/MC/ELF/cfi-restore.s
index 2bc87cf691a..eb968fecbc4 100644
--- a/llvm/test/MC/ELF/cfi-restore.s
+++ b/llvm/test/MC/ELF/cfi-restore.s
@@ -10,7 +10,7 @@ f:
// CHECK: Section {
// CHECK: Index:
// CHECK: Name: .eh_frame
-// CHECK-NEXT: Type: SHT_PROGBITS
+// CHECK-NEXT: Type: SHT_X86_64_UNWIND
// CHECK-NEXT: Flags [
// CHECK-NEXT: SHF_ALLOC
// CHECK-NEXT: ]
diff --git a/llvm/test/MC/ELF/cfi-same-value.s b/llvm/test/MC/ELF/cfi-same-value.s
index 7df4cbbb6dd..7d744ab5963 100644
--- a/llvm/test/MC/ELF/cfi-same-value.s
+++ b/llvm/test/MC/ELF/cfi-same-value.s
@@ -10,7 +10,7 @@ f:
// CHECK: Section {
// CHECK: Index:
// CHECK: Name: .eh_frame
-// CHECK-NEXT: Type: SHT_PROGBITS
+// CHECK-NEXT: Type: SHT_X86_64_UNWIND
// CHECK-NEXT: Flags [
// CHECK-NEXT: SHF_ALLOC
// CHECK-NEXT: ]
diff --git a/llvm/test/MC/ELF/cfi-signal-frame.s b/llvm/test/MC/ELF/cfi-signal-frame.s
index 02331196218..334cdb497b9 100644
--- a/llvm/test/MC/ELF/cfi-signal-frame.s
+++ b/llvm/test/MC/ELF/cfi-signal-frame.s
@@ -11,7 +11,7 @@ g:
// CHECK: Section {
// CHECK: Name: .eh_frame
-// CHECK-NEXT: Type: SHT_PROGBITS
+// CHECK-NEXT: Type: SHT_X86_64_UNWIND
// CHECK-NEXT: Flags [
// CHECK-NEXT: SHF_ALLOC
// CHECK-NEXT: ]
diff --git a/llvm/test/MC/ELF/cfi-undefined.s b/llvm/test/MC/ELF/cfi-undefined.s
index 9a7012310ad..50c482df79e 100644
--- a/llvm/test/MC/ELF/cfi-undefined.s
+++ b/llvm/test/MC/ELF/cfi-undefined.s
@@ -10,7 +10,7 @@ f:
// CHECK: Section {
// CHECK: Index:
// CHECK: Name: .eh_frame
-// CHECK-NEXT: Type: SHT_PROGBITS
+// CHECK-NEXT: Type: SHT_X86_64_UNWIND
// CHECK-NEXT: Flags [
// CHECK-NEXT: SHF_ALLOC
// CHECK-NEXT: ]
diff --git a/llvm/test/MC/ELF/cfi-window-save.s b/llvm/test/MC/ELF/cfi-window-save.s
index fb38ecd8560..01d7ef43378 100644
--- a/llvm/test/MC/ELF/cfi-window-save.s
+++ b/llvm/test/MC/ELF/cfi-window-save.s
@@ -12,7 +12,7 @@ f:
// CHECK: Section {
// CHECK: Name: .eh_frame
-// CHECK-NEXT: Type: SHT_PROGBITS
+// CHECK-NEXT: Type: SHT_X86_64_UNWIND
// CHECK-NEXT: Flags [
// CHECK-NEXT: SHF_ALLOC
// CHECK-NEXT: ]
diff --git a/llvm/test/MC/ELF/cfi-zero-addr-delta.s b/llvm/test/MC/ELF/cfi-zero-addr-delta.s
index 1e5c5e7e568..495d52c234d 100644
--- a/llvm/test/MC/ELF/cfi-zero-addr-delta.s
+++ b/llvm/test/MC/ELF/cfi-zero-addr-delta.s
@@ -16,7 +16,7 @@ f:
// CHECK: Section {
// CHECK: Name: .eh_frame
-// CHECK-NEXT: Type: SHT_PROGBITS
+// CHECK-NEXT: Type: SHT_X86_64_UNWIND
// CHECK-NEXT: Flags [
// CHECK-NEXT: SHF_ALLOC
// CHECK-NEXT: ]
diff --git a/llvm/test/MC/ELF/cfi.s b/llvm/test/MC/ELF/cfi.s
index 10587e03052..1e9a39d2bcf 100644
--- a/llvm/test/MC/ELF/cfi.s
+++ b/llvm/test/MC/ELF/cfi.s
@@ -220,7 +220,7 @@ f37:
// CHECK: Section {
// CHECK: Index:
// CHECK: Name: .eh_frame
-// CHECK-NEXT: Type: SHT_PROGBITS
+// CHECK-NEXT: Type: SHT_X86_64_UNWIND
// CHECK-NEXT: Flags [
// CHECK-NEXT: SHF_ALLOC
// CHECK-NEXT: ]
OpenPOWER on IntegriCloud