[gnu.gdb.bug] gdb 3.3 and 3.4 problem with Fortran under SunOS 4.x

jim@UUNET.UU.NET (Jim Levie) (01/20/90)

Both gdb 3.3 and 3.4 fail when debugging a Fortran program under SunOS 4.x
when the Fortran program uses an "external" statment.  The following patch
will apparently fix the problem without breaking anything else as far as
I know.  I'm not sure if this is technically the best fix... but it works!

*** dbxread.c-orig	Fri Jan 19 22:26:45 1990
--- dbxread.c	Fri Jan 19 22:25:52 1990
***************
*** 4057,4066 ****
--- 4057,4076 ----
        SYMBOL_VALUE (sym) = value;
        SYMBOL_NAMESPACE (sym) = VAR_NAMESPACE;
        add_symbol_to_list (sym, &local_symbols);
        break;
  
+ #ifdef SUNOS4
+     case'X':
+       /* Most likely a unique Sun Fortran special for "externals" */
+       SYMBOL_CLASS (sym) = LOC_STATIC;
+       SYMBOL_VALUE (sym) = value;
+       SYMBOL_NAMESPACE (sym) = VAR_NAMESPACE;
+       add_symbol_to_list (sym, &global_symbols);
+       break;
+ #endif
+ 
      default:
        error ("Invalid symbol data: unknown symbol-type code `%c' at symtab pos %d.", deftype, symnum);
      }
    return sym;
  }

=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
 Jim Levie   REMTECH Inc  Huntsville, Al 
 The opinions expressed above are just that.
 Ph.    (205) 536-8581               email: uunet!ingr!chimera!jim