Earnie Boyd | 14 Jun 2012 15:51
Picon

GCC 4.7 ABI incompatibility

Because of the -mms-bitfields default of the newly release GCC 4.7 we
have a complete mess on our hands with regard to package requirements.
 Chris is about to release a -2 version of the current mingwrt and
w32api libraries compiled with this version of the compiler, however
it should only be installed with GCC 4.7.  The xml meta data for
mingwrt and w32api will need to reflect the GCC version requirements
as well as the xml meta data for GCC needs to reflect the mingwrt and
w32api versions in its requirements.  How do we best handle this
issue?

--

-- 
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/
Chris Sutcliffe | 14 Jun 2012 16:56
Picon

Re: GCC 4.7 ABI incompatibility

On 14 June 2012 09:51, Earnie Boyd wrote:
> Because of the -mms-bitfields default of the newly release GCC 4.7 we
> have a complete mess on our hands with regard to package requirements.
>  Chris is about to release a -2 version of the current mingwrt and
> w32api libraries compiled with this version of the compiler, however
> it should only be installed with GCC 4.7.  The xml meta data for
> mingwrt and w32api will need to reflect the GCC version requirements
> as well as the xml meta data for GCC needs to reflect the mingwrt and
> w32api versions in its requirements.  How do we best handle this
> issue?

Is the -mms-bitfields the only ABI change?  If so, I already compile
mingwrt and w32api with this modifier set.

Chris

--

-- 
Chris Sutcliffe
http://emergedesktop.org
http://www.google.com/profiles/ir0nh34d

------------------------------------------------------------------------------
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/
Charles Wilson | 14 Jun 2012 17:22
Picon

Re: GCC 4.7 ABI incompatibility

On 6/14/2012 9:51 AM, Earnie Boyd wrote:
> Because of the -mms-bitfields default of the newly release GCC 4.7 we
> have a complete mess on our hands with regard to package requirements.
>  Chris is about to release a -2 version of the current mingwrt and
> w32api libraries compiled with this version of the compiler, however
> it should only be installed with GCC 4.7.  The xml meta data for
> mingwrt and w32api will need to reflect the GCC version requirements
> as well as the xml meta data for GCC needs to reflect the mingwrt and
> w32api versions in its requirements.  How do we best handle this
> issue?

AFAIK, all of the add-on [*] libraries we distribute for mingw32 are
compiled with -mms-bitfields and always have been at least as far back
as 2009, so this doesn't affect *our* offerings at all.

[*] that is, everything *but* the core stuff (of which I am not sure
whether they have previously been built with ms-bitfields or not) - such
as mingwrt and w32api.

However, there is an *additional* ABI incompatibility in 4.7 IIRC, for
C++.  I'll have to research the details but I'm swamped right now.
Check the mailing list for a question I posted and Kai answered, no more
than 6 months ago (but at least 2 months back).

--
Chuck

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
(Continue reading)

NightStrike | 15 Jun 2012 12:34
Picon

Re: GCC 4.7 ABI incompatibility

On Thu, Jun 14, 2012 at 5:22 AM, Charles Wilson
<cwilso11@...> wrote:
> However, there is an *additional* ABI incompatibility in 4.7 IIRC, for
> C++.  I'll have to research the details but I'm swamped right now.
> Check the mailing list for a question I posted and Kai answered, no more
> than 6 months ago (but at least 2 months back).

Which mailing list?

------------------------------------------------------------------------------
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/
Keith Marshall | 17 Jun 2012 18:43
Picon

www.mingw.org pages added

On 04/05/12 15:48, Keith Marshall wrote:
> On 03/05/12 14:00, Earnie Boyd wrote:
>> On Wed, Apr 25, 2012 at 8:55 AM, Earnie Boyd
>> <earnie@...> wrote:
>>> I've been adding pages to MinGW.org indexed in a block on the right
>>> titled "What Can You Do for MinGW?"  I would like feedback for the
>>> content in those pages.
>>
>> Ping.  Anyone?
> 
> I had a couple of observations, but I'll have to get back to you with them.

Apologies for the delay in getting back to this.  One of my observations
related equally to two pages, and was trivial:

* On each of the "Drupal Administration" and the "Content
  Administration" pages, you had said:

  "We have need of someone(s) ..."

  That's a grammatical faux-pas, since someone is strictly
  singular.  I've gone ahead, and removed the offending "(s)",
  in both cases.

Beyond that, I had just one other issue:

* On the "Software Package Contribution" page, I see:

  "... all packages should meet the guidelines of mgwport and
  have the xml data required for mingw-get to install it."
(Continue reading)

Keith Marshall | 17 Jun 2012 19:14
Picon

Re: [Mingw-users] MinGW GCC 4.7.0 released

On 14/06/12 14:16, Chris Sutcliffe wrote:
> I can roll-out a new '-2' release of the existing versions fairly
> quickly.  Doing another sweep of open issues on each existing version
> and looking at addressing them will take me at least a couple of weeks
> given my current workload.
> 
> Any preference?

A new -2 release, rebuilt from *currently released* source tarballs, please.

Eli has pointed out a potentially ABI breaking change in the dirent.c
implementation in mingwrt.  Yeah, mea culpa.  The old implementation was
broken, and I fixed it, but in so doing I changed the internal layout of
the dirent struct, (and thus, also the DIR reference type), without
considering the possibility of third-party libraries compiled against
the old version failing, unless they too are recompiled.

I'm reluctant to revert to the old, broken implementation, but we do
need to agree how we move forward, even if that is to accept the ABI
change, bumping the major version from 3.x to 4.x, and advising users of
third-party libraries that the may need to recompile them, in order to
maintain ABI consistency.  (The alternative may be to try to rework the
new implementation around a backwardly compatible, but necessarily
grossly vulgar and inefficient, alternative dirent struct declaration).

--

-- 
Regards,
Keith.

------------------------------------------------------------------------------
(Continue reading)

Chris Sutcliffe | 18 Jun 2012 03:12
Picon

Re: [Mingw-users] MinGW GCC 4.7.0 released

On 17 June 2012 13:14, Keith Marshall
<keithmarshall@...> wrote:
> On 14/06/12 14:16, Chris Sutcliffe wrote:
>> I can roll-out a new '-2' release of the existing versions fairly
>> quickly.  Doing another sweep of open issues on each existing version
>> and looking at addressing them will take me at least a couple of weeks
>> given my current workload.
>>
>> Any preference?
>
> A new -2 release, rebuilt from *currently released* source tarballs, please.

Fair enough, I will work on them shortly and hopefully will have them
out mid-week.

> Eli has pointed out a potentially ABI breaking change in the dirent.c
> implementation in mingwrt.  Yeah, mea culpa.  The old implementation was
> broken, and I fixed it, but in so doing I changed the internal layout of
> the dirent struct, (and thus, also the DIR reference type), without
> considering the possibility of third-party libraries compiled against
> the old version failing, unless they too are recompiled.
>
> I'm reluctant to revert to the old, broken implementation, but we do
> need to agree how we move forward, even if that is to accept the ABI
> change, bumping the major version from 3.x to 4.x, and advising users of
> third-party libraries that the may need to recompile them, in order to
> maintain ABI consistency.  (The alternative may be to try to rework the
> new implementation around a backwardly compatible, but necessarily
> grossly vulgar and inefficient, alternative dirent struct declaration).

(Continue reading)

waterlan | 18 Jun 2012 09:31
Picon
Picon
Favicon

Re: GCC 4.7 ABI incompatibility

Charles Wilson schreef op 2012-06-14 17:22:

> On 6/14/2012 9:51 AM, Earnie Boyd wrote:
>
>> Because of the -mms-bitfields default of the newly release GCC 4.7 
>> we
>> have a complete mess on our hands with regard to package 
>> requirements.
>> Chris is about to release a -2 version of the current mingwrt and
>> w32api libraries compiled with this version of the compiler, however 
>> it
>> should only be installed with GCC 4.7. The xml meta data for mingwrt
>> and w32api will need to reflect the GCC version requirements as well 
>> as
>> the xml meta data for GCC needs to reflect the mingwrt and w32api
>> versions in its requirements. How do we best handle this issue?
>
> AFAIK, all of the add-on [*] libraries we distribute for mingw32 are
> compiled with -mms-bitfields and always have been at least as far 
> back
> as 2009, so this doesn't affect *our* offerings at all.
>
> [*] that is, everything *but* the core stuff (of which I am not sure
> whether they have previously been built with ms-bitfields or not) - 
> such
> as mingwrt and w32api.
>
> However, there is an *additional* ABI incompatibility in 4.7 IIRC, 
> for
> C++. I'll have to research the details but I'm swamped right now.
(Continue reading)

Earnie Boyd | 18 Jun 2012 13:40
Picon

Re: GCC 4.7 ABI incompatibility

On Mon, Jun 18, 2012 at 3:31 AM, waterlan wrote:
> What happens if users keep on using an older than 4.7 gcc, and use the
> new gcc 4.7 rebuild libraries? In other words, if all libraries are
> rebuild, are the users than forced to use gcc 4.7?

If a library contains C++ then definitely; if it is strictly C then
maybe.  IMO, we should tie the library dependencies to the GCC version
regardless.

--

-- 
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/
Earnie Boyd | 18 Jun 2012 13:41
Picon

Re: [Mingw-users] MinGW GCC 4.7.0 released

On Sun, Jun 17, 2012 at 9:12 PM, Chris Sutcliffe wrote:
> I think we should bump to 4.x as opposed to try and maintain backward
> compatibility.

I agree.

--

-- 
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/

Gmane