unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Jason Rumney <jasonr@gnu.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: Achim Gratz <Stromeko@nexgo.de>, emacs-devel@gnu.org
Subject: Re: ABI incompatibilities with MinGW GCC 4.7.0
Date: Sat, 09 Jun 2012 22:44:01 +0800	[thread overview]
Message-ID: <878vfwv93i.fsf@gnu.org> (raw)
In-Reply-To: <83k3zgtywl.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 09 Jun 2012 16:09:30 +0300")

Eli Zaretskii <eliz@gnu.org> writes:

>> I still think that simply adding '-mno-ms-bitfields' to the build is all
>> you need for Emacs
>
> If we know the libraries out there are not built with GCC 4.7.x, then
> this is indeed the way to go.  But what about people who like to build
> all their libraries themselves? if they use GCC 4.7 to build their
> libraries, and don't make a point of using '-mno-ms-bitfields' when
> they do, we cannot let them build Emacs with '-mno-ms-bitfields', can
> we?

The GTK binaries available for Windows have been built with
-mms-bitfields for some years now, and the image libraries contained
within them have worked without problem with Emacs for all that time. So
I think the choice of whether to build with or without that flag is a
non-issue for Emacs.

> And then there's the issue of other ABI changes, if there are any.
> That is the really disturbing part, because the bitfields issue rarely
> if at all affects real-life code.

It is somewhat disturbing that the MinGW-GCC maintainers themselves are
unsure about other ABI changes, but I doubt that any of them will affect
pure C code except maybe in more rare corner cases like the bitfield
issue.  If we were using C++, it might be another story, but for
interfaces to third-party libraries that are distributed separately in
binary form, C++ has always been a bad choice.




  reply	other threads:[~2012-06-09 14:44 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-08  8:11 ABI incompatibilities with MinGW GCC 4.7.0 Eli Zaretskii
2012-06-08  9:42 ` joakim
2012-06-08 10:02   ` Eli Zaretskii
2012-06-09  3:10 ` Jason Rumney
2012-06-09  6:59   ` Eli Zaretskii
2012-06-09 12:06 ` Achim Gratz
2012-06-09 13:09   ` Eli Zaretskii
2012-06-09 14:44     ` Jason Rumney [this message]
2012-06-09 14:55       ` Eli Zaretskii
2012-06-09 16:19     ` Achim Gratz
2012-06-09 18:13       ` Eli Zaretskii
2012-06-09 18:55         ` Achim Gratz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=878vfwv93i.fsf@gnu.org \
    --to=jasonr@gnu.org \
    --cc=Stromeko@nexgo.de \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).