Comment to document possible problems with last change.
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 3 Nov 1998 17:52:59 +0000 (17:52 +0000)
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 3 Nov 1998 17:52:59 +0000 (17:52 +0000)
* dwarf2out.c (output_call_frame_info): Comments on last change.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23512 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/dwarf2out.c

index 4dd177d..4592a9c 100644 (file)
@@ -1,3 +1,7 @@
+Tue Nov  3 17:51:36 1998  Jim Wilson  <wilson@cygnus.com>
+
+       * dwarf2out.c (output_call_frame_info): Comments on last change.
+
 Tue Nov  3 07:51:43 1998  Richard Earnshaw (rearnsha@arm.com)
 
        * arm.c (add_constant): When taking the address of an item in the
index 4c350eb..8661080 100644 (file)
@@ -1829,6 +1829,14 @@ output_call_frame_info (for_eh)
       fputc ('\n', asm_out_file);
       ASM_OUTPUT_LABEL (asm_out_file, l1);
 
+      /* ??? This always emits a 4 byte offset when for_eh is true, but it
+        emits a target dependent sized offset when for_eh is not true.
+        This inconsistency may confuse gdb.  The only case where we need a
+        non-4 byte offset is for the Irix6 N64 ABI, so we may lose SGI
+        compatibility if we emit a 4 byte offset.  We need a 4 byte offset
+        though in order to be compatible with the dwarf_fde struct in frame.c.
+        If the for_eh case is changed, then the struct in frame.c has
+        to be adjusted appropriately.  */
       if (for_eh)
        ASM_OUTPUT_DWARF_DELTA4 (asm_out_file, l1, "__FRAME_BEGIN__");
       else