Quantcast

MinGW GCC 4.7.0 released

classic Classic list List threaded Threaded
52 messages Options
123
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

MinGW GCC 4.7.0 released

Cesar Strauss
Dear MinGW community,

I am pleased to announce the mingw.org release of GCC 4.7.0.

This MinGW port generates 32-bit code for Windows, and should run on any
32- or 64-bit Windows operating system.

No local patches were used.

Binary incompatibility notice!
------------------------------

The C and C++ ABI have changed, which means in general you can't link
together binaries compiled with this version of the compiler and any
previous version. In particular:

* The option -mms-bitfields is enabled by default, which means the
   bitfield layout follows the convention of the Microsoft compiler.

* C++ class-member functions now follow the __thiscall calling
   convention.

Known Issue:
------------

PATH must be set to the location of the gcc.exe binary. Specifying the
full path on the command line doesn't work currently.

To install:
-----------

Run the latest graphical mingw-get-inst installer, checking the option
to download the latest repository catalogs.

The GCC core package includes only the C language. At any time, if you
want to install another language, do:

        mingw-get install <language>

where <language> is one of: ada,c++,fortran,objc.

To upgrade:
-----------

        mingw-get update
        mingw-get upgrade gcc
        mingw-get upgrade ada     (optional)
        mingw-get upgrade c++     (optional)
        mingw-get upgrade fortran (optional)
        mingw-get upgrade objc    (optional)

Or, simply type "mingw-get upgrade" to upgrade everything to their
latest versions.

See the complete file list and the full release notes at:
http://sourceforge.net/projects/mingw/files/MinGW/Base/gcc/Version4/gcc-4.7.0-1/

See also: http://gcc.gnu.org/gcc-4.7/changes.html

Regards,

Cesar


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: MinGW GCC 4.7.0 released

niXman
2012/6/7 Cesar Strauss:

> I am pleased to announce the mingw.org release of GCC 4.7.0.

Thanks, of course.
But approximately the next week will be released version 4.7.1 =)

--
Regards,
niXman
___________________________________________________
Dual-target(i686/x86_64) MinGW compilers for i686/x86_64 hosts:
http://sourceforge.net/projects/mingwbuilds/

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: MinGW GCC 4.7.0 released

Eli Zaretskii
In reply to this post by Cesar Strauss
> From: Cesar Strauss <[hidden email]>
> Date: Thu, 07 Jun 2012 15:19:28 -0300
>
> Dear MinGW community,
>
> I am pleased to announce the mingw.org release of GCC 4.7.0.

Thanks.

> Binary incompatibility notice!
> ------------------------------
>
> The C and C++ ABI have changed, which means in general you can't link
> together binaries compiled with this version of the compiler and any
> previous version.

Does this mean that all the libraries, shared and static alike, in all
the precompiled packages out there are unusable with this compiler,
and must be rebuilt?

> * The option -mms-bitfields is enabled by default, which means the
>    bitfield layout follows the convention of the Microsoft compiler.
>
> * C++ class-member functions now follow the __thiscall calling
>    convention.

Are these the only causes of the ABI incompatibility?

Also, are there any discussions one can read to understand the reasons
for enabling -mms-bitfields by default?  If not, perhaps you could
explain those reasons?  TIA.

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: MinGW GCC 4.7.0 released

Earnie Boyd
On Thu, Jun 7, 2012 at 2:36 PM, Eli Zaretskii <[hidden email]> wrote:

>> From: Cesar Strauss <[hidden email]>
>> Date: Thu, 07 Jun 2012 15:19:28 -0300
>>
>> Dear MinGW community,
>>
>> I am pleased to announce the mingw.org release of GCC 4.7.0.
>
> Thanks.
>
>> Binary incompatibility notice!
>> ------------------------------
>>
>> The C and C++ ABI have changed, which means in general you can't link
>> together binaries compiled with this version of the compiler and any
>> previous version.
>
> Does this mean that all the libraries, shared and static alike, in all
> the precompiled packages out there are unusable with this compiler,
> and must be rebuilt?
>

Yes, exactly.

>> * The option -mms-bitfields is enabled by default, which means the
>>    bitfield layout follows the convention of the Microsoft compiler.
>>
>> * C++ class-member functions now follow the __thiscall calling
>>    convention.
>
> Are these the only causes of the ABI incompatibility?
>

I don't know.  The -mms-bitfields flag is enough to cause the
incompatibility for both shared and static libraries.  Therefore since
GCC libraries that are added by default would have been built with
-mms-bitfields the question I have are there suitable GCC libraries
that exclude -mms-bitfields?  However, my opinion is that this should
never have been an option and just the way it works on Windows.

Should we wait for new mingw runtime and w32api libraries before upgrading?

> Also, are there any discussions one can read to understand the reasons
> for enabling -mms-bitfields by default?  If not, perhaps you could
> explain those reasons?  TIA.

You can find plenty in google to answer that.

--
Earnie
-- https://sites.google.com/site/earnieboyd

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: MinGW GCC 4.7.0 released

Eli Zaretskii
> Date: Thu, 7 Jun 2012 15:24:11 -0400
> From: Earnie Boyd <[hidden email]>
>
> On Thu, Jun 7, 2012 at 2:36 PM, Eli Zaretskii <[hidden email]> wrote:
> >> From: Cesar Strauss <[hidden email]>
> >> Date: Thu, 07 Jun 2012 15:19:28 -0300
> >>
> >> Dear MinGW community,
> >>
> >> I am pleased to announce the mingw.org release of GCC 4.7.0.
> >
> > Thanks.
> >
> >> Binary incompatibility notice!
> >> ------------------------------
> >>
> >> The C and C++ ABI have changed, which means in general you can't link
> >> together binaries compiled with this version of the compiler and any
> >> previous version.
> >
> > Does this mean that all the libraries, shared and static alike, in all
> > the precompiled packages out there are unusable with this compiler,
> > and must be rebuilt?
> >
>
> Yes, exactly.

That's terrible.  I really wonder what grave problems justified that.

> >> * The option -mms-bitfields is enabled by default, which means the
> >>    bitfield layout follows the convention of the Microsoft compiler.
> >>
> >> * C++ class-member functions now follow the __thiscall calling
> >>    convention.
> >
> > Are these the only causes of the ABI incompatibility?
> >
>
> I don't know.

Well, I hope somebody does, and will speak up.  Otherwise, this means
that it will be impossible even in principle to distribute a library
that can be used both with GCC >= 4.7.0 and GCC < 4.7.0.  I cannot
imagine what could possibly justify such a schism.

> Should we wait for new mingw runtime and w32api libraries before upgrading?

Is there any choice?  You yourself just said that all the existing
static libraries are ABI incompatible.  That includes, e.g.,
libmingwex.a and other MinGW extension libraries distributed with the
runtime.  I hope the import libraries are safe, at least.

> > Also, are there any discussions one can read to understand the reasons
> > for enabling -mms-bitfields by default?  If not, perhaps you could
> > explain those reasons?  TIA.
>
> You can find plenty in google to answer that.

Please humor me with a pointer or two, if you can.  I'm not asking
about what "-mms-bitfields" does; I think I know that.  I'm asking why
it was decided to turn it on by default.  I tried to google, but
couldn't find anything recent, just old discussions about the effects
of this option on the generated code (which btw always sound to me as
purely theoretical, since the chances one bumps into the code that
really triggers the differences are slim at best; maybe I'm missing
something).

TIA


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: MinGW GCC 4.7.0 released

xunxun
于 2012/6/8 15:34, Eli Zaretskii 写道:

>> Date: Thu, 7 Jun 2012 15:24:11 -0400
>> From: Earnie Boyd <[hidden email]>
>>
>> On Thu, Jun 7, 2012 at 2:36 PM, Eli Zaretskii <[hidden email]> wrote:
>>>> From: Cesar Strauss <[hidden email]>
>>>> Date: Thu, 07 Jun 2012 15:19:28 -0300
>>>>
>>>> Dear MinGW community,
>>>>
>>>> I am pleased to announce the mingw.org release of GCC 4.7.0.
>>> Thanks.
>>>
>>>> Binary incompatibility notice!
>>>> ------------------------------
>>>>
>>>> The C and C++ ABI have changed, which means in general you can't link
>>>> together binaries compiled with this version of the compiler and any
>>>> previous version.
>>> Does this mean that all the libraries, shared and static alike, in all
>>> the precompiled packages out there are unusable with this compiler,
>>> and must be rebuilt?
>>>
>> Yes, exactly.
> That's terrible.  I really wonder what grave problems justified that.
>
>>>> * The option -mms-bitfields is enabled by default, which means the
>>>>     bitfield layout follows the convention of the Microsoft compiler.
>>>>
>>>> * C++ class-member functions now follow the __thiscall calling
>>>>     convention.
>>> Are these the only causes of the ABI incompatibility?
>>>
>> I don't know.
> Well, I hope somebody does, and will speak up.  Otherwise, this means
> that it will be impossible even in principle to distribute a library
> that can be used both with GCC >= 4.7.0 and GCC < 4.7.0.  I cannot
> imagine what could possibly justify such a schism.
>
>> Should we wait for new mingw runtime and w32api libraries before upgrading?
> Is there any choice?  You yourself just said that all the existing
> static libraries are ABI incompatible.  That includes, e.g.,
> libmingwex.a and other MinGW extension libraries distributed with the
> runtime.  I hope the import libraries are safe, at least.
>
>>> Also, are there any discussions one can read to understand the reasons
>>> for enabling -mms-bitfields by default?  If not, perhaps you could
>>> explain those reasons?  TIA.
>> You can find plenty in google to answer that.
> Please humor me with a pointer or two, if you can.  I'm not asking
> about what "-mms-bitfields" does; I think I know that.  I'm asking why
> it was decided to turn it on by default.
It's said that this is to bring into correspondence with VC, maybe Kai
will know the details.

Forward to Kai.

> I tried to google, but
> couldn't find anything recent, just old discussions about the effects
> of this option on the generated code (which btw always sound to me as
> purely theoretical, since the chances one bumps into the code that
> really triggers the differences are slim at best; maybe I'm missing
> something).
>
> TIA
>
>


--
Best Regards,
xunxun


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: MinGW GCC 4.7.0 released

nikola bozovic
In reply to this post by Cesar Strauss

Hi, i am pleased to update to this version,
but when i try to compile CGAL, i get this message:

gcc: error: and\: No such file or directory
gcc: error: Settings/nbozovic/Desktop/Dzo/Dragan\: No such file or directory
gcc: error: Vidovic/voda\: No such file or directory
gcc: error: FULL/voda/CGAL-4.0/include: No such file or directory
gcc: error: and\: No such file or directory
gcc: error: Settings/nbozovic/Desktop/Dzo/Dragan\: No such file or directory
gcc: error: Vidovic/voda\: No such file or directory
gcc: error: FULL/voda/boost_1_49_0: No such file or directory
c:\MinGW\bin\windres.exe: preprocessing failed.
make[2]: *** [src/CGAL/CMakeFiles/CGAL.dir/CGAL_verinfo.rc.obj] Error 1
make[1]: *** [src/CGAL/CMakeFiles/CGAL.dir/all] Error 2
make: *** [all] Error 2


/*

Dear MinGW community,

I am pleased to announce the mingw.org release of GCC 4.7.0.

This MinGW port generates 32-bit code for Windows, and should run on any
32- or 64-bit Windows operating system.


*/



------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: MinGW GCC 4.7.0 released

Fredric Johansson
In reply to this post by Eli Zaretskii
On Fri, Jun 8, 2012 at 9:34 AM, Eli Zaretskii <[hidden email]> wrote:

>> Date: Thu, 7 Jun 2012 15:24:11 -0400
>> From: Earnie Boyd <[hidden email]>
>>
>> On Thu, Jun 7, 2012 at 2:36 PM, Eli Zaretskii <[hidden email]> wrote:
>> >> From: Cesar Strauss <[hidden email]>
>> >> Date: Thu, 07 Jun 2012 15:19:28 -0300
>> >>
>> >> Dear MinGW community,
>> >>
>> >> I am pleased to announce the mingw.org release of GCC 4.7.0.
>> >
>> > Thanks.
>> >
>> >> Binary incompatibility notice!
>> >> ------------------------------
>> >>
>> >> The C and C++ ABI have changed, which means in general you can't link
>> >> together binaries compiled with this version of the compiler and any
>> >> previous version.
>> >
>> > Does this mean that all the libraries, shared and static alike, in all
>> > the precompiled packages out there are unusable with this compiler,
>> > and must be rebuilt?
>> >
>>
>> Yes, exactly.
>
> That's terrible.  I really wonder what grave problems justified that.
>
>> >> * The option -mms-bitfields is enabled by default, which means the
>> >>    bitfield layout follows the convention of the Microsoft compiler.
>> >>
>> >> * C++ class-member functions now follow the __thiscall calling
>> >>    convention.
>> >
>> > Are these the only causes of the ABI incompatibility?
>> >
>>
>> I don't know.
>
> Well, I hope somebody does, and will speak up.  Otherwise, this means
> that it will be impossible even in principle to distribute a library
> that can be used both with GCC >= 4.7.0 and GCC < 4.7.0.  I cannot
> imagine what could possibly justify such a schism.
>
>> Should we wait for new mingw runtime and w32api libraries before upgrading?
>
> Is there any choice?  You yourself just said that all the existing
> static libraries are ABI incompatible.  That includes, e.g.,
> libmingwex.a and other MinGW extension libraries distributed with the
> runtime.  I hope the import libraries are safe, at least.
>
>> > Also, are there any discussions one can read to understand the reasons
>> > for enabling -mms-bitfields by default?  If not, perhaps you could
>> > explain those reasons?  TIA.
>>
>> You can find plenty in google to answer that.
>
> Please humor me with a pointer or two, if you can.  I'm not asking
> about what "-mms-bitfields" does; I think I know that.  I'm asking why
> it was decided to turn it on by default.  I tried to google, but
> couldn't find anything recent, just old discussions about the effects
> of this option on the generated code (which btw always sound to me as
> purely theoretical, since the chances one bumps into the code that
> really triggers the differences are slim at best; maybe I'm missing
> something).
>
> TIA
>

A quick googling found this:
http://old.nabble.com/-patch-i386-mingw-g%2B%2B.dg-gcc.dg-%3A-Set--mms-bitfields-as-default-for-native-windows-targets-td31378825.html
It doesn't explain why it was changed but it says that there already
was other changes to the ABI so this could as well go in at the same
time.

//Fredric

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: MinGW GCC 4.7.0 released

Fredric Johansson
In reply to this post by nikola bozovic
On Fri, Jun 8, 2012 at 11:45 AM, nikola bozovic <[hidden email]> wrote:

>
> Hi, i am pleased to update to this version,
> but when i try to compile CGAL, i get this message:
>
> gcc: error: and\: No such file or directory
> gcc: error: Settings/nbozovic/Desktop/Dzo/Dragan\: No such file or directory
> gcc: error: Vidovic/voda\: No such file or directory
> gcc: error: FULL/voda/CGAL-4.0/include: No such file or directory
> gcc: error: and\: No such file or directory
> gcc: error: Settings/nbozovic/Desktop/Dzo/Dragan\: No such file or directory
> gcc: error: Vidovic/voda\: No such file or directory
> gcc: error: FULL/voda/boost_1_49_0: No such file or directory
> c:\MinGW\bin\windres.exe: preprocessing failed.
> make[2]: *** [src/CGAL/CMakeFiles/CGAL.dir/CGAL_verinfo.rc.obj] Error 1
> make[1]: *** [src/CGAL/CMakeFiles/CGAL.dir/all] Error 2
> make: *** [all] Error 2
>

This has nothing to do with the new gcc. You are building in a dir
which has spaces in its path which is unsupported and won't work. Move
to a dir without spaces and it should compile fine.

//Fredric

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: MinGW GCC 4.7.0 released

Eli Zaretskii
In reply to this post by Fredric Johansson
> Date: Fri, 8 Jun 2012 12:06:59 +0200
> From: Fredric Johansson <[hidden email]>
>
> A quick googling found this:
> http://old.nabble.com/-patch-i386-mingw-g%2B%2B.dg-gcc.dg-%3A-Set--mms-bitfields-as-default-for-native-windows-targets-td31378825.html
> It doesn't explain why it was changed but it says that there already
> was other changes to the ABI so this could as well go in at the same
> time.

Thanks.  I found that, of course, but as you say, it doesn't explain
at all why this was done.  And for those "other ABI changes" I
couldn't even find a description.

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: MinGW GCC 4.7.0 released

Roumen Petrov
In reply to this post by Eli Zaretskii
Eli Zaretskii wrote:

>> Date: Thu, 7 Jun 2012 15:24:11 -0400
>> From: Earnie Boyd<[hidden email]>
>>
>> On Thu, Jun 7, 2012 at 2:36 PM, Eli Zaretskii<[hidden email]>  wrote:
>>>> From: Cesar Strauss<[hidden email]>
>>>> Date: Thu, 07 Jun 2012 15:19:28 -0300
>>>>
>>>> Dear MinGW community,
>>>>
>>>> I am pleased to announce the mingw.org release of GCC 4.7.0.
[SNIP]

>>> Also, are there any discussions one can read to understand the reasons
>>> for enabling -mms-bitfields by default?  If not, perhaps you could
>>> explain those reasons?  TIA.
>> You can find plenty in google to answer that.
> Please humor me with a pointer or two, if you can.  I'm not asking
> about what "-mms-bitfields" does; I think I know that.  I'm asking why
> it was decided to turn it on by default.  I tried to google, but
> couldn't find anything recent, just old discussions about the effects
> of this option on the generated code (which btw always sound to me as
> purely theoretical, since the chances one bumps into the code that
> really triggers the differences are slim at best; maybe I'm missing
> something).
May be you miss that mingw.org build by default products with this flags
set.

[SNIP]

Roumen


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: MinGW GCC 4.7.0 released

Eli Zaretskii
> Date: Sat, 09 Jun 2012 00:06:00 +0300
> From: Roumen Petrov <[hidden email]>
>
> May be you miss that mingw.org build by default products with this flags
> set.

Thanks.

No, I didn't miss that.  The problem is, mingw.org is not the only
source of precompiled packages.

Besides, if this is so, why did Earnie ask whether we need a new
runtime release to go with this GCC version?  Perhaps not every
product is built with this flag set?

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: MinGW GCC 4.7.0 released

Ross Ridge
In reply to this post by Cesar Strauss
Eli Zaretskii writes:
>Thanks.  I found that, of course, but as you say, it doesn't explain
>at all why this was done.  And for those "other ABI changes" I
>couldn't even find a description.

>From the sounds of things these ABI changes are an incredibly misguided
attempt to make GCC's ABI compatible with the Microsoft C++ compilers.
This goal is well beyond what the few volunteers working on the Windows
ports of GCC could ever expect to accomplish in any sort of reasonable
time frame.  It might be practical if someone was actually funding the
work, but otherwise GCC is never going to be C++ ABI compatible with MSC.

Having GCC stuck in this middle state with an evolving ABI that's neither
compatible with previous GCC compilers nor with Visual C++ seems to me
to be a very big mistake.

                                        Ross Ridge


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: MinGW GCC 4.7.0 released

Kai Tietz-2
It isn't a big mistake to fix things in the proper way vendor defines
its ABI.  It was always a flaw to have it different implemented in
gcc.  So this feature has changed, and along other C++ ABI things,
which are always none-backward compatible, also the __thiscall
convention has changed for 4.7.  As reference read the feature-page of
gcc.
I wouldn't be to sure that g++ remains completely incompatible to
msc's variant.  In fact there is right now just an issue about
vtable/vbtable, which makes it impossible to use C++ compiled by msc
within g++ projects (and otherway round, too).  There is still a
name-mangling issue, but this issue can be solved at least for DLL
version via symbol-name-alias exporting feature.

Regards,
Kai

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: MinGW GCC 4.7.0 released

Keith Marshall
In reply to this post by Ross Ridge
On 09/06/12 16:02, Ross Ridge wrote:

> From the sounds of things these ABI changes are an incredibly misguided
> attempt to make GCC's ABI compatible with the Microsoft C++ compilers.
> This goal is well beyond what the few volunteers working on the Windows
> ports of GCC could ever expect to accomplish in any sort of reasonable
> time frame.  It might be practical if someone was actually funding the
> work, but otherwise GCC is never going to be C++ ABI compatible with MSC.
>
> Having GCC stuck in this middle state with an evolving ABI that's neither
> compatible with previous GCC compilers nor with Visual C++ seems to me
> to be a very big mistake.

On the one hand, I am inclined to agree with this assessment; on the
other, I feel obliged to reiterate the introduction from Cesar's
original release announcement:

> I am pleased to announce the mingw.org release of GCC 4.7.0.
>
> This MinGW port generates 32-bit code for Windows, and should run on any
> 32- or 64-bit Windows operating system.
>
> No local patches were used.

Note, in particular, the final statement, (with my emphasis):

> *No local patches were used.*

In other words, these ABI changes are being orchestrated, not by us at
MinGW.org, but by the upstream GCC project folks themselves.  Since
Danny Smith felt the need, (for undisclosed personal reasons), to
curtail his contributions in both the MinGW and GCC arenas, we have
lacked any effective voice to influence the direction of GCC
development.  If you feel aggrieved by this change in ABI direction,
please raise the issue with the GCC folks directly.

--
Regards,
Keith.

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: MinGW GCC 4.7.0 released

Earnie Boyd
In reply to this post by Ross Ridge
On Sat, Jun 9, 2012 at 11:02 AM, Ross Ridge <[hidden email]> wrote:

> Eli Zaretskii writes:
>>Thanks.  I found that, of course, but as you say, it doesn't explain
>>at all why this was done.  And for those "other ABI changes" I
>>couldn't even find a description.
>
> >From the sounds of things these ABI changes are an incredibly misguided
> attempt to make GCC's ABI compatible with the Microsoft C++ compilers.
> This goal is well beyond what the few volunteers working on the Windows
> ports of GCC could ever expect to accomplish in any sort of reasonable
> time frame.  It might be practical if someone was actually funding the
> work, but otherwise GCC is never going to be C++ ABI compatible with MSC.
>

C++ ABI has nothing to do with -mms-bitfields which has to do with
data alignment.

> Having GCC stuck in this middle state with an evolving ABI that's neither
> compatible with previous GCC compilers nor with Visual C++ seems to me
> to be a very big mistake.

Probably but this has nothing to do with the discussion.

--
Earnie
-- https://sites.google.com/site/earnieboyd

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: MinGW GCC 4.7.0 released

Ross Ridge
In reply to this post by Cesar Strauss
Keith Marshall writes:
>In other words, these ABI changes are being orchestrated, not by us at
>MinGW.org, but by the upstream GCC project folks themselves.

Yes, that's why I refered to it as being a problem with GCC, not MinGW.

>Since Danny Smith felt the need, (for undisclosed personal reasons),
>to curtail his contributions in both the MinGW and GCC arenas, we have
>lacked any effective voice to influence the direction of GCC development.
>If you feel aggrieved by this change in ABI direction, please raise the
>issue with the GCC folks directly

Well, there's little point unless there's a consensus by the MinGW
community that this is a mistake.  Personally, I've given up on GCC
project (as opposed to the MinGW project), there was also I time when
I abe to influence the direction of GCC and likely could've prevented
Kai Tietz's ABI changes.  Now its going to take more than just someone
like me who hasn't updated their copy of GCC in three years and isn't
really effected by the change.

                                        Ross Ridge


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: MinGW GCC 4.7.0 released

Eli Zaretskii
In reply to this post by Kai Tietz-2
> Date: Sun, 10 Jun 2012 08:32:19 +0200
> From: Kai Tietz <[hidden email]>
>
> It isn't a big mistake to fix things in the proper way vendor defines
> its ABI.  It was always a flaw to have it different implemented in
> gcc.

Maybe so, but this flaw is now scattered all over the world, so making
the change _now_ creates a potential for many subtle bugs.

Anyway, I guess this is all water under the bridge now, so the only
practical issue is how to adapt with the least pain.

> So this feature has changed, and along other C++ ABI things, which
> are always none-backward compatible, also the __thiscall convention
> has changed for 4.7.  As reference read the feature-page of gcc.

The announcement allowed it to be interpreted as if the -mms-bitfields
and __thiscall were not the only ABI changes.  If there are indeed
other ABI changes in this GCC release, could you please name them, or
point to some place(s) where they are listed and explained?

If these are the _only_ ABI changes, then do you agree with those who
think that -mms-bitfields change for C programs is not a grave
incompatibility since it is only very rarely seen in practice?  IOW,
if I distribute a couple dozen of C libraries, all compiled without
the -mms-bitfields switch, how urgent is it for me to produce versions
of those libraries compiled with -mms-bitfields?

TIA.

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: MinGW GCC 4.7.0 released

Kai Tietz-2
2012/6/11 Eli Zaretskii <[hidden email]>:

>> Date: Sun, 10 Jun 2012 08:32:19 +0200
>> From: Kai Tietz <[hidden email]>
>>
>> It isn't a big mistake to fix things in the proper way vendor defines
>> its ABI.  It was always a flaw to have it different implemented in
>> gcc.
>
> Maybe so, but this flaw is now scattered all over the world, so making
> the change _now_ creates a potential for many subtle bugs.
>
> Anyway, I guess this is all water under the bridge now, so the only
> practical issue is how to adapt with the least pain.

  In general we saw on mingw-w64's side that a lot of union/structure
definitions were affected by the wrong structure/union-layout.  Actual
I got pointed to this by the maintainer of open-suse's
mingw-repository.  The major difference between (ms_struct and
gcc_struct) is the kind of packing of consecutive same-sized types and
bitfield-elements with same type.

  If you are forced to use old none-ms-bitfield behavior, then you can
still turn it off. Just use the command-line option -no-ms-bitfields.


>> So this feature has changed, and along other C++ ABI things, which
>> are always none-backward compatible, also the __thiscall convention
>> has changed for 4.7.  As reference read the feature-page of gcc.
>
> The announcement allowed it to be interpreted as if the -mms-bitfields
> and __thiscall were not the only ABI changes.  If there are indeed
> other ABI changes in this GCC release, could you please name them, or
> point to some place(s) where they are listed and explained?
>
> If these are the _only_ ABI changes, then do you agree with those who
> think that -mms-bitfields change for C programs is not a grave
> incompatibility since it is only very rarely seen in practice?  IOW,
> if I distribute a couple dozen of C libraries, all compiled without
> the -mms-bitfields switch, how urgent is it for me to produce versions
> of those libraries compiled with -mms-bitfields?

No, this aren't the only ABI changes.  Time by time the C++ ABI
changes in g++.  For 4.7 ABI changes were introduced in respect of
C++11 (some C11 features were added too, but as C doesn't have
name-mangling, there is no issue).  It isn't uncommon that g++ version
isn't backward-compatible.  Same as for libgcc btw.  If you want to
use a C++ class, which was compiled with an eariler version of g++,
then you can use __cdecl function-decoration explicit for
class-members.

> TIA.

Regards,
Kai

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: MinGW GCC 4.7.0 released

Eli Zaretskii
> Date: Mon, 11 Jun 2012 18:44:57 +0200
> From: Kai Tietz <[hidden email]>
>
>   In general we saw on mingw-w64's side that a lot of union/structure
> definitions were affected by the wrong structure/union-layout.  Actual
> I got pointed to this by the maintainer of open-suse's
> mingw-repository.  The major difference between (ms_struct and
> gcc_struct) is the kind of packing of consecutive same-sized types and
> bitfield-elements with same type.

Where can I find the description of the details of these differences?

> No, this aren't the only ABI changes.  Time by time the C++ ABI
> changes in g++.  For 4.7 ABI changes were introduced in respect of
> C++11 (some C11 features were added too, but as C doesn't have
> name-mangling, there is no issue).

What about C?  Is the -mms-bitfields issue the only ABI change for C
programs?

Thanks.

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
123
Loading...