From owner-freebsd-ports-bugs@FreeBSD.ORG Thu May 29 09:30:03 2008 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CE537106566B for ; Thu, 29 May 2008 09:30:03 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id A52F58FC3B for ; Thu, 29 May 2008 09:30:03 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.2/8.14.2) with ESMTP id m4T9U3p0090614 for ; Thu, 29 May 2008 09:30:03 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.2/8.14.1/Submit) id m4T9U3rq090613; Thu, 29 May 2008 09:30:03 GMT (envelope-from gnats) Resent-Date: Thu, 29 May 2008 09:30:03 GMT Resent-Message-Id: <200805290930.m4T9U3rq090613@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Jan Henrik Sylvester Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5AC471065670 for ; Thu, 29 May 2008 09:22:40 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21]) by mx1.freebsd.org (Postfix) with ESMTP id 3772D8FC29 for ; Thu, 29 May 2008 09:22:40 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.14.2/8.14.2) with ESMTP id m4T9Kx6D062908 for ; Thu, 29 May 2008 09:20:59 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.14.2/8.14.1/Submit) id m4T9Kx9I062907; Thu, 29 May 2008 09:20:59 GMT (envelope-from nobody) Message-Id: <200805290920.m4T9Kx9I062907@www.freebsd.org> Date: Thu, 29 May 2008 09:20:59 GMT From: Jan Henrik Sylvester To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: ports/124094: editors/qemacs broken with gcc4 / gcc34 X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 May 2008 09:30:03 -0000 >Number: 124094 >Category: ports >Synopsis: editors/qemacs broken with gcc4 / gcc34 >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu May 29 09:30:03 UTC 2008 >Closed-Date: >Last-Modified: >Originator: Jan Henrik Sylvester >Release: FreeBSD 7.0-RELEASE i386 >Organization: >Environment: >Description: qemacs needs the patch attached to even start (from qemacs-devel@nongnu.org) and not only give "No suitable display found, exiting". A lot more seems to be broken with gcc4 or gcc34. According to qemacs-devel, gcc4 needs many more patches that are in CVS with alpha status. Therefore, changing to gcc34 seems sensible to me, even if it is not required for the application to start up. I have given up to research this further as utf8 editing is obviously very broken leading to immediate segfaults on simple operations. >How-To-Repeat: Install editors/qemacs on FreeBSD 7 and start qemacs. >Fix: The patch attached seems to make simple ASCII editing possible. (The gcc34 part may not be required.) Patch attached with submission follows: diff -uN files/patch-qe.h.orig files/patch-qe.h --- files/patch-qe.h.orig 1970-01-01 01:00:00.000000000 +0100 +++ files/patch-qe.h 2008-05-29 10:05:38.000000000 +0200 @@ -0,0 +1,22 @@ +--- qe.h.orig 2003-04-22 00:01:42.000000000 +0200 ++++ qe.h 2005-06-07 16:02:27.000000000 +0200 +@@ -576,10 +576,18 @@ + + /* make sure that the keyword is not disabled by glibc (TINYC case) */ + #undef __attribute__ +- ++#if __GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < 3) + /* same method as the linux kernel... */ + #define __init_call __attribute__ ((unused,__section__ (".initcall.init"))) + #define __exit_call __attribute__ ((unused,__section__ (".exitcall.exit"))) ++#else ++#undef __attribute_used__ ++#define __attribute_used__ __attribute__((__used__)) ++#define __init_call __attribute_used__ __attribute__((__section__ (".initcall.init"))) ++#define __exit_call __attribute_used__ __attribute__((__section__ (".exitcall.exit"))) ++ ++#endif ++ + + #define qe_module_init(fn) \ + static int (*__initcall_##fn)(void) __init_call = fn diff -uN Makefile.orig Makefile --- Makefile.orig 2008-04-19 19:48:21.000000000 +0200 +++ Makefile 2008-05-29 09:56:07.000000000 +0200 @@ -18,6 +18,7 @@ HAS_CONFIGURE= yes CONFIGURE_ARGS= --prefix="${PREFIX}" --make="${GMAKE}" --cc="${CC}" \ --extra-cflags="${CFLAGS}" --extra-ldflags="${LDFLAGS}" +USE_GCC= 3.4 DATADIR= ${PREFIX}/share/qe >Release-Note: >Audit-Trail: >Unformatted: