Add comments for previous patch as requested.
authorDale Johannesen <dalej@apple.com>
Wed, 30 Apr 2008 00:43:29 +0000 (00:43 +0000)
committerDale Johannesen <dalej@apple.com>
Wed, 30 Apr 2008 00:43:29 +0000 (00:43 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50463 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/DwarfWriter.cpp

index 74df79002f4b4a2d57fd850b1cfc7ee1349c2dc4..9e806fadcde458e6083fb91c299ede9c3f0169fd 100644 (file)
@@ -2876,6 +2876,9 @@ private:
     RI->getInitialFrameState(Moves);
     EmitFrameMoves(NULL, 0, Moves, true);
 
+    // On Darwin the linker honors the alignment of eh_frame, which means it
+    // must be 8-byte on 64-bit targets to match what gcc does.  Otherwise
+    // you get holes which confuse readers of eh_frame.
     Asm->EmitAlignment(TD->getPointerSize() == sizeof(int32_t) ? 2 : 3, 
                        0, 0, false);
     EmitLabel("eh_frame_common_end", Index);
@@ -2966,6 +2969,9 @@ private:
       // frame.
       EmitFrameMoves("eh_func_begin", EHFrameInfo.Number, EHFrameInfo.Moves, true);
       
+      // On Darwin the linker honors the alignment of eh_frame, which means it
+      // must be 8-byte on 64-bit targets to match what gcc does.  Otherwise
+      // you get holes which confuse readers of eh_frame.
       Asm->EmitAlignment(TD->getPointerSize() == sizeof(int32_t) ? 2 : 3, 
                          0, 0, false);
       EmitLabel("eh_frame_end", EHFrameInfo.Number);