On Sep 4, 1999, Alexandre Oliva <[EMAIL PROTECTED]> wrote:
> A couple of files failed to compile on alpha platforms, with gcc
> 2.95.1, apparently because of bug in handling functions that don't
> return (i.e., marked with __atribute__ ((__noreturn__))). I've
> managed to work around the problems by introducing a kludge, that will
> only be enabled on the affected platforms.
Oops, it worked on DU4.0, but not on GNU/Linux/alpha (RH6.0). Here's
an additional patch:
--- lily/mixed-qp.cc~ Sat Sep 4 08:00:20 1999
+++ lily/mixed-qp.cc Sat Sep 4 09:36:01 1999
@@ -20,11 +20,18 @@
#endif
#if USE___EPRINTF_WRAPPER
+#if __GLIBC__ >= 2
+static void
+__assert_fail_wrapper
+(const char *, const char *, unsigned, const char *);
+#define __assert_fail __assert_fail_wrapper
+#else
static void
__eprintf_wrapper
(const char *, const char *, unsigned, const char *);
#define __eprintf __eprintf_wrapper
#endif
+#endif
void
Mixed_qp::add_equality_cons (Vector , double)
@@ -33,6 +40,14 @@
}
#if USE___EPRINTF_WRAPPER
+#if __GLIBC__ >= 2
+static void
+__assert_fail_wrapper
+(const char *fmt, const char *file, unsigned line, const char *expr)
+{
+ __assert_fail(fmt, file, line, expr);
+}
+#else
#undef __eprintf
static void
__eprintf_wrapper
@@ -40,6 +55,7 @@
{
__eprintf(fmt, file, line, expr);
}
+#endif
#endif
void
BTW, I'm also having some trouble getting it to run on Solaris7/x86:
it will crash in _init, and gdb doesn't work on this platform :-(
--
Alexandre Oliva http://www.dcc.unicamp.br/~oliva IC-Unicamp, Bra[sz]il
oliva@{dcc.unicamp.br,guarana.{org,com}} aoliva@{acm.org,computer.org}
oliva@{gnu.org,kaffe.org,{egcs,sourceware}.cygnus.com,samba.org}
** I may forward mail about projects to mailing lists; please use them