Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 27 Jun 2013 22:33:35 +0200
From:      Dimitry Andric <dimitry@andric.com>
To:        Andrew Turner <andrew@fubar.geek.nz>
Cc:        "freebsd-hackers@freebsd.org Hackers" <freebsd-hackers@freebsd.org>, Kevin Day <toasty@dragondata.com>
Subject:   Re: Can't use gcc in a clang built world
Message-ID:  <E182F535-E923-405C-B9F9-CFDBBAA11495@andric.com>
In-Reply-To: <20130627194835.4b1a7408@bender.Home>
References:  <DB5E076C-7DF1-47CD-977C-F36F7B1B1A08@dragondata.com> <51CC1C9F.7080403@andric.com> <20130627194835.4b1a7408@bender.Home>

next in thread | previous in thread | raw e-mail | index | archive | help
On Jun 27, 2013, at 20:48, Andrew Turner <andrew@fubar.geek.nz> wrote:
> On Thu, 27 Jun 2013 13:06:07 +0200
> Dimitry Andric <dimitry@andric.com> wrote:
> 
>> On 2013-06-27 02:02, Kevin Day wrote:
>>> Are you supposed to be able to use gcc to build userland binaries
>>> if you built world with clang?
>>> 
>>> I'm on -CURRENT as of a few days ago (using armv6 but i'm not sure
>>> if that matters).
>> 
>> Yes, the arch matters a lot.  For arm, adding __clear_cache() to
>> libgcc was explicitly disabled by Andrew here:
>> 
>> http://svnweb.freebsd.org/base?view=revision&revision=244382
>> 
>> "Don't provide clear_cache or the __sync_* functions on ARM with clang
>> as they are provided by clang as builtin functions."
>> 
>> Maybe those functions should be in libgcc after all, if other programs
>> depend on this.
> 
> The reason to disable __clear_cache is incorrect in r244382 as it is a
> builtin in clang, but calls into an external copy of __clear_cache. The
> reason __clear_cache was disabled was because of a bug in clang where
> it is unable to compile a builtin function, however I only found this
> out recently.
> 
> The issue with clang has been fixed, and, as of r251791 __clear_cache
> is enabled in compiler-rt.


Okay, but apparently compilers such as gcc do not use compiler-rt at
all, but expect the function to be available in libgcc instead.

So since clang can compile the definition on arm now, shall we re-enable
it for libgcc too?

-Dimitry




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E182F535-E923-405C-B9F9-CFDBBAA11495>