Use SHT_X86_64_UNWIND on every OS.
authorRafael Espindola <rafael.espindola@gmail.com>
Fri, 6 Nov 2015 13:35:35 +0000 (13:35 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Fri, 6 Nov 2015 13:35:35 +0000 (13:35 +0000)
That is the ABI required type. Linkers still check the section name, so
everything should still work.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@252300 91177308-0d34-0410-b5e6-96231b3b80d8

20 files changed:
lib/MC/MCObjectFileInfo.cpp
test/MC/ELF/cfi-adjust-cfa-offset.s
test/MC/ELF/cfi-advance-loc2.s
test/MC/ELF/cfi-def-cfa-offset.s
test/MC/ELF/cfi-def-cfa-register.s
test/MC/ELF/cfi-def-cfa.s
test/MC/ELF/cfi-escape.s
test/MC/ELF/cfi-large-model.s
test/MC/ELF/cfi-offset.s
test/MC/ELF/cfi-register.s
test/MC/ELF/cfi-rel-offset.s
test/MC/ELF/cfi-rel-offset2.s
test/MC/ELF/cfi-remember.s
test/MC/ELF/cfi-restore.s
test/MC/ELF/cfi-same-value.s
test/MC/ELF/cfi-signal-frame.s
test/MC/ELF/cfi-undefined.s
test/MC/ELF/cfi-window-save.s
test/MC/ELF/cfi-zero-addr-delta.s
test/MC/ELF/cfi.s

index 4c51c8363f3ec49a286d90bcca181c94c62383fa..8849f5d4d122776bfce1aef8ab72a4bbe80aab8c 100644 (file)
@@ -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,
index 398ad54fe75b3b9f5bc4ed4f44a58c0a7cfbbbb0..7177ccb36501482ec0fd54951c60b186b8068569 100644 (file)
@@ -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:     ]
index 133979201273de19eae6e59846a72b53c788e09c..6a60e52acbac51dd549b093fdcb158c8cac6de1c 100644 (file)
@@ -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:     ]
index 3e4ca57a5161b4e493d161937d638198926aebe3..c4cc6d53e0208e3db2116b288aace429feb09544 100644 (file)
@@ -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:     ]
index 53174cb2f5525d2ef6997c8b94f6462292487954..708f6b1496e2d6c75d7d0cbb52da9f7c4e463d27 100644 (file)
@@ -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:     ]
index 9706c4da097bb16c66fa78b8f3190d1ddb55b9ee..25931b77ec615a6d59a567efabff0e78647afe89 100644 (file)
@@ -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:     ]
index e93d5f7be5f0329c321f3af9d68e8146715afb76..fb019be1252f9d1ce53cb223b438ba5251f23fd6 100644 (file)
@@ -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:     ]
index f4a20c26267cdf2a5c5a7bf4b940d7ce77c29faf..2fb63d1837122e6ace42186e1c512ff2678a286b 100644 (file)
@@ -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:   ]
index 9038def03a64721ce0d8059bfae02ca0b5672c74..ea9d0f49915c6b8ad63f919d6393592a0a8016fd 100644 (file)
@@ -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:     ]
index be60e2ea2e818c26355f38d754a2e65cc34adc12..f7c021d06b8ba0ac40ce6614e791e46ce7637404 100644 (file)
@@ -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:     ]
index 892cda165ba6b67333915c9db36fb162e21e7b90..89ca4ff148a694d794fe50045d2ab43a4d8645c5 100644 (file)
@@ -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:     ]
index 805b0b290bc80e6254d612d3392020b93b371afb..e4d6b58c748f73c46cf0380442447bd102fc253a 100644 (file)
@@ -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:     ]
index ae112f59ebef522da5ed9cc23e22f60beaf1a7e7..c438ad3d0f3e3d0549f8a642fb9b2d8216150c74 100644 (file)
@@ -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:     ]
index 2bc87cf691a1edec5a1719b0d70e7ee3c9ae6a8c..eb968fecbc4cdfea5de60675459352504ed93a33 100644 (file)
@@ -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:     ]
index 7df4cbbb6dd1c6e972adb5f58af0f33e35df43ef..7d744ab596382ae17f8f4e24bf91a3bea269b621 100644 (file)
@@ -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:     ]
index 023311962189bb13e364daec219e76576ba0f588..334cdb497b9f1f96d1f99e9689eb8318fd4f8ced 100644 (file)
@@ -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:     ]
index 9a7012310ade8ce95b786ae701cde90b1ec86f91..50c482df79e56e366dd076a5c43069e6f6bc5a96 100644 (file)
@@ -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:     ]
index fb38ecd85608cbe8736593cc166e5d400f2381e3..01d7ef4337813698fba851cc788ae18a2aa7565f 100644 (file)
@@ -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:     ]
index 1e5c5e7e56804ee2b7d5f51190074ef527c4a713..495d52c234d739f9e75d11e3451dc81db77d4cb3 100644 (file)
@@ -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:     ]
index 10587e030521891a8458cd1f0818d47b421e891b..1e9a39d2bcfdcb36dfb740395791e4e889caa25a 100644 (file)
@@ -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:     ]