Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Mar 2013 13:33:24 +0200
From:      "Andrew W. Nosenko" <andrew.w.nosenko@gmail.com>
To:        mexas@bristol.ac.uk
Cc:        gerald@pfeifer.com, freebsd-ports@freebsd.org, bdrewery@freebsd.org
Subject:   Re: is it a good idea to overwrite GCC_DEFAULT_VERSION= in Mk/bsd.gcc.mk?
Message-ID:  <CALa-7vx_gHLiMJpZ3P_VgFHDpRof1Azzma3Afa0f8NtNarUi-Q@mail.gmail.com>
In-Reply-To: <201303261050.r2QAo9v6041217@mech-cluster241.men.bris.ac.uk>
References:  <CALa-7vw=e2GkfvReD4-eurUv%2BNaR6nJAT9cZ45tQVT6uac-n7Q@mail.gmail.com> <201303261050.r2QAo9v6041217@mech-cluster241.men.bris.ac.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Mar 26, 2013 at 12:50 PM, Anton Shterenlikht
<mexas@bristol.ac.uk> wrote:
>         From andrew.w.nosenko@gmail.com Mon Mar 25 18:09:38 2013
>
>         On Mon, Mar 25, 2013 at 5:59 PM, Gerald Pfeifer <gerald@pfeifer.com> wrote:
>         > On Mon, 25 Mar 2013, Anton Shterenlikht wrote:
>         >> I've now run ia64 with the above change for over 2 weeks,
>         >> mostly rebuilding ports, etc.
>         >> I didn't see any issues with gcc47.
>         >> So, from my very limited testing,
>         >> gcc47 can be made default.
>         >
>         > Thanks for the feedback, Anton!  To really make that switch
>         > globally, we'll need more extensive testing, a full ports builds
>         > run, since there is a chance that some port you are not using may
>         > be broken, and I hope to get this done in the coming weeks.
>
>         >From my expiriense, devel/glib20 cannot be compiled with gcc47.
>
> Isn't it built with the system default compiler:
>
> configure:3954: checking for C compiler version
> configure:3963: cc --version >&5
> cc (GCC) 4.2.1 20070831 patched [FreeBSD]
>
> I think we are only talking about updating lang/gcc to 4.7.

By default -- yes, it is going to build with base gcc.  But topic and,
therefore, my reaction was about overriding compiler to be lang/gcc*
from ports and whether there are ports, which fail in that case.  At
least, as I understand it.

Now, why overriding the compiler for Glib seems important to me and
why I tried to do that:

Since
    commit aba0f0c38bbfa11ad48b5410ebdbed2a99e68c58
    Author: Ryan Lortie <desrt@desrt.ca>
    Date:   Tue Oct 18 16:21:50 2011 -0400

        gatomic: introduce G_ATOMIC_LOCK_FREE

glib atomics implementation depends on gcc predefined macro
__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4, which is absent on the base
gcc-4.2 and on Clang (all version, at least at that time).

As consequence, we have a mutex-based implementation of atomics.
Building Glib using more modern GCC (e.g. gcc-4.7) would help, but
gnome-libtool hack prevents us from that.

See also:
    Thread "atomic ops broken on mac/xcode"
    https://mail.gnome.org/archives/gtk-devel-list/2012-August/msg00089.html

    Gnome bugzilla #682818: atomic ops broken on mac/xcode
    https://bugzilla.gnome.org/show_bug.cgi?id=682818

    LLVM/Clang bugzilla #11174: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_
    http://llvm.org/bugs/show_bug.cgi?id=11174

-- 
Andrew W. Nosenko <andrew.w.nosenko@gmail.com>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CALa-7vx_gHLiMJpZ3P_VgFHDpRof1Azzma3Afa0f8NtNarUi-Q>