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

Reply via email to