make SectionKind know whether a symbol is weak or not in addition
to its classification.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77140 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
index 5da01a2..0bbbddf 100644
--- a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
+++ b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
@@ -311,15 +311,17 @@
     SectionKind Kind;
     switch (CPE.getRelocationInfo()) {
     default: llvm_unreachable("Unknown section kind");
-    case 2: Kind = SectionKind::get(SectionKind::ReadOnlyWithRel); break;
-    case 1: Kind = SectionKind::get(SectionKind::ReadOnlyWithRelLocal); break;
+    case 2: Kind = SectionKind::get(SectionKind::ReadOnlyWithRel, false); break;
+    case 1:
+      Kind = SectionKind::get(SectionKind::ReadOnlyWithRelLocal,false);
+      break;
     case 0:
-      switch (TM.getTargetData()->getTypeAllocSize(CPE.getType())) {
-      case 4:   Kind = SectionKind::get(SectionKind::MergeableConst4); break;
-      case 8:   Kind = SectionKind::get(SectionKind::MergeableConst8); break;
-      case 16:  Kind = SectionKind::get(SectionKind::MergeableConst16); break;
-      default:  Kind = SectionKind::get(SectionKind::MergeableConst); break;
-      }
+    switch (TM.getTargetData()->getTypeAllocSize(CPE.getType())) {
+    case 4:  Kind = SectionKind::get(SectionKind::MergeableConst4,false); break;
+    case 8:  Kind = SectionKind::get(SectionKind::MergeableConst8,false); break;
+    case 16: Kind = SectionKind::get(SectionKind::MergeableConst16,false);break;
+    default: Kind = SectionKind::get(SectionKind::MergeableConst,false); break;
+    }
     }
 
     const Section *S = TAI->getSectionForMergeableConstant(Kind);
diff --git a/lib/CodeGen/ELFWriter.cpp b/lib/CodeGen/ELFWriter.cpp
index 97b7ff0..c0e7b93 100644
--- a/lib/CodeGen/ELFWriter.cpp
+++ b/lib/CodeGen/ELFWriter.cpp
@@ -157,14 +157,16 @@
   SectionKind Kind;
   switch (CPE.getRelocationInfo()) {
   default: llvm_unreachable("Unknown section kind");
-  case 2: Kind = SectionKind::get(SectionKind::ReadOnlyWithRel); break;
-  case 1: Kind = SectionKind::get(SectionKind::ReadOnlyWithRelLocal); break;
+  case 2: Kind = SectionKind::get(SectionKind::ReadOnlyWithRel,false); break;
+  case 1:
+    Kind = SectionKind::get(SectionKind::ReadOnlyWithRelLocal,false);
+    break;
   case 0:
     switch (TM.getTargetData()->getTypeAllocSize(CPE.getType())) {
-    case 4:   Kind = SectionKind::get(SectionKind::MergeableConst4); break;
-    case 8:   Kind = SectionKind::get(SectionKind::MergeableConst8); break;
-    case 16:  Kind = SectionKind::get(SectionKind::MergeableConst16); break;
-    default:  Kind = SectionKind::get(SectionKind::MergeableConst); break;
+    case 4:  Kind = SectionKind::get(SectionKind::MergeableConst4,false); break;
+    case 8:  Kind = SectionKind::get(SectionKind::MergeableConst8,false); break;
+    case 16: Kind = SectionKind::get(SectionKind::MergeableConst16,false);break;
+    default: Kind = SectionKind::get(SectionKind::MergeableConst,false); break;
     }
   }