diff --git a/lib/CodeGen/DwarfWriter.cpp b/lib/CodeGen/DwarfWriter.cpp
index dd7ba9c..e72ff07 100644
--- a/lib/CodeGen/DwarfWriter.cpp
+++ b/lib/CodeGen/DwarfWriter.cpp
@@ -925,19 +925,20 @@
 
   void EmitSectionOffset(const char* Label, const char* Section,
                          unsigned LabelNumber, unsigned SectionNumber,
-                         bool IsSmall = false, bool isEH = false) {
+                         bool IsSmall = false, bool isEH = false,
+                         bool useSet = true) {
     bool printAbsolute = false;
-    if (TAI->needsSet()) {
+    if (isEH)
+      printAbsolute = TAI->isAbsoluteEHSectionOffsets();
+    else
+      printAbsolute = TAI->isAbsoluteDebugSectionOffsets();
+
+    if (TAI->needsSet() && useSet) {
       O << "\t.set\t";
       PrintLabelName("set", SetCounter, Flavor);
       O << ",";
       PrintLabelName(Label, LabelNumber);
 
-      if (isEH)
-        printAbsolute = TAI->isAbsoluteEHSectionOffsets();
-      else
-        printAbsolute = TAI->isAbsoluteDebugSectionOffsets();
-      
       if (!printAbsolute) {
         O << "-";
         PrintLabelName(Section, SectionNumber);
@@ -953,11 +954,6 @@
         
       PrintLabelName(Label, LabelNumber);
 
-      if (isEH)
-        printAbsolute = TAI->isAbsoluteEHSectionOffsets();
-      else
-        printAbsolute = TAI->isAbsoluteDebugSectionOffsets();
-
       if (!printAbsolute) {
         O << "-";
         PrintLabelName(Section, SectionNumber);
@@ -2919,7 +2915,7 @@
 
       EmitSectionOffset("eh_frame_begin", "eh_frame_common",
                         EHFrameInfo.Number, EHFrameInfo.PersonalityIndex,
-                        true, true);
+                        true, true, false);
       Asm->EOL("FDE CIE offset");
 
       EmitReference("eh_func_begin", EHFrameInfo.Number, true);
