This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

__eprintf problem in f77


There was a problem with __eprintf before in cc1/cc1plus, then it disappeared somewhere in last patches before
egcs-1.0 release. But it is still present in the f771 compiler.

problem:
 when building the entire bulk of compilers, make stops at gcc/f/fini.c with the ld diagnostics
 "undefined symbol __eprintf in fini.o"
cause:
 gcc/assert.h defines assert() to call __eprintf when assertion fails.
 fini.c includes some .h file which in turn includes assert.h.
 __eprintf is not present in default libraries when using cc
solution:
 define assert() in fini.c same way as in, for example, f/com.c, i.e:

/* This is used by the `assert' macro.  It is provided in libgcc.a,
   which `cc' doesn't know how to link.  Note that the C++ front-end
   no longer actually uses the `assert' macro (instead, it calls
   my_friendly_assert).  But all of the back-end files still need this.  */
void
__eprintf (string, expression, line, filename)
#ifdef __STDC__
     const char *string;
     const char *expression;
     unsigned line;
     const char *filename;
#else
     char *string;
     char *expression;
     unsigned line;
     char *filename;
#endif
{
  fprintf (stderr, string, expression, line, filename);
  fflush (stderr);
  abort ();
}

Greetings,
    _\ndy@teamOS/2



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]