From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Achim Gratz Newsgroups: gmane.emacs.devel Subject: Re: ABI incompatibilities with MinGW GCC 4.7.0 Date: Sat, 09 Jun 2012 14:06:48 +0200 Message-ID: <871ulopu3r.fsf@Rainer.invalid> References: <83ipf2ustm.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1339243629 1089 80.91.229.3 (9 Jun 2012 12:07:09 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sat, 9 Jun 2012 12:07:09 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Jun 09 14:07:09 2012 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1SdKRg-00081x-Jr for ged-emacs-devel@m.gmane.org; Sat, 09 Jun 2012 14:07:08 +0200 Original-Received: from localhost ([::1]:48566 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SdKRg-0006RT-9M for ged-emacs-devel@m.gmane.org; Sat, 09 Jun 2012 08:07:08 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:58551) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SdKRc-0006Qr-Rw for emacs-devel@gnu.org; Sat, 09 Jun 2012 08:07:06 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SdKRb-0001gu-0A for emacs-devel@gnu.org; Sat, 09 Jun 2012 08:07:04 -0400 Original-Received: from plane.gmane.org ([80.91.229.3]:39748) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SdKRa-0001gm-PF for emacs-devel@gnu.org; Sat, 09 Jun 2012 08:07:02 -0400 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1SdKRW-0007jq-Ig for emacs-devel@gnu.org; Sat, 09 Jun 2012 14:06:58 +0200 Original-Received: from pd9eb25cd.dip.t-dialin.net ([217.235.37.205]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 09 Jun 2012 14:06:58 +0200 Original-Received: from Stromeko by pd9eb25cd.dip.t-dialin.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 09 Jun 2012 14:06:58 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 36 Original-X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: pd9eb25cd.dip.t-dialin.net User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1 (gnu/linux) Cancel-Lock: sha1:mJG8V3szkMBuq5M3/wiHwHGarjo= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.91.229.3 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:150855 Archived-At: Eli Zaretskii writes: > See http://sourceforge.net/mailarchive/message.php?msg_id=29376223 and > the following discussion (which is still unfolding) for the details. The first of these is a red herring. You always needed to know whether all libraries you link to were produced with '-mms-bitfields' or '-mno-ms-bitfields' anyway ever since that option was introduced. So the default changes with 4.7.0, but you can just as easily chose the former default. The second change only affects C++ programs AFAICS and it makes (__thiscall) the default which has been introduced with 4.6.2 (I think). I can only assume that you can still override it with (__stdcall), but that means changes to the source. There is a disturbing lack of consideration for backwards compatibility and I would have expected that the ABI version is bumped (so one could specify the old default with, say, -mabi=...). If there's really no way to get the old default back without qualifying all functions in the source, I'd consider that a defect that needs to be fixed for 4.7.1. > (Actually, you cannot safely use the MinGW GCC 4.7.0 for building > Emacs on Windows at all for now, because (a) there's no MinGW runtime > available that is compatible with the new ABI, and (b) you must link > with libxpm.dll, which was compiled by an older GCC.) I still think that simply adding '-mno-ms-bitfields' to the build is all you need for Emacs Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ SD adaptations for Waldorf Q V3.00R3 and Q+ V3.54R2: http://Synth.Stromeko.net/Downloads.html#WaldorfSDada