[U-Boot] [PATCH] ARM: enable CONFIG_USE_PRIVATE_LIBGCC by default (re-send to the correct address)

Masahiro Yamada yamada.masahiro at socionext.com
Thu Jul 2 14:29:45 CEST 2015


2015-07-02 21:18 GMT+09:00 Masahiro Yamada <yamada.masahiro at socionext.com>:
> 2015-07-02 8:39 GMT+09:00 Daniel Schwierzeck <daniel.schwierzeck at gmail.com>:
>>
>>
>> Am 02.07.2015 um 00:04 schrieb Albert ARIBAUD:
>>> Hello Wolfgang,
>>>
>>> On Wed, 01 Jul 2015 23:50:17 +0200, Wolfgang Denk <wd at denx.de> wrote:
>>>
>>>> Actually I think it is inherently wrong to enable
>>>> CONFIG_USE_PRIVATE_LIBGCC by default.
>>>>
>>>> This option is intended as a workaround for broken toolchains, until
>>>> these get fixed.  By enabling this by default, we miss do not notice
>>>> the problems our tool chain has, and therefore these never get fixed,
>>>> i. e. brokenness grows.  This cannot be good.
>>>>
>>>> CONFIG_USE_PRIVATE_LIBGCC should only be an emergency-opt-in, but
>>>> never ever a default setting.
>>>
>>> Well then, should we not revisit commits c3dd823 and 7bfd5ee, which
>>> enable CONFIG_USE_PRIVATE_LIBGCC for sh and mips respectively? Either
>>> we allow it by default for all architectures, or we forbid it by
>>> default for all architectures, but I don't like the idea of a
>>> heterogeneous per-arch default setting.
>>>
>>
>> CONFIG_USE_PRIVATE_LIBGCC should be removed. If an architecture supports
>> a private libgcc, then it should always use it. I think for U-Boot it is
>> better and safer to have all code under control instead of pulling in
>> external code from toolchains which are often somehow broken.
>>
>> Speaking for MIPS we have boards with all combinations of Big
>> Endian/Little Endian and Hard Float/Soft Float. You need an own libgcc
>> binary for each FPU variant, but almost no toolchain supports this. Thus
>> you need different toolchains for different boards. This is a PITA for
>> users or developers who want to use buildman. Always using
>> CONFIG_USE_PRIVATE_LIBGCC=yes was the only painless way so far. That is
>> why we chose to enable CONFIG_USE_PRIVATE_LIBGCC by default.
>>
>> BTW: Linux kernel or Barebox always use a private libgcc.
>>
>
>
> I agree with Daniel.
>
> Instead of removing CONFIG_USE_PRIVATE_LIBGCC,
> I think it is better to "select" it by Kconfig.
>
> (And rename it to CONFIG_HAVE_PRIVATE_LIBGCC
> in order to clearly indicate it is not a user-configurable
> but forced configuration.)

My bad.
Daniel, you are right.

We already have CONFIG_HAVE_PRIVATE_LIBGCC.
So, removing CONFIG_USE_PRIVATE_LIBGCC is OK.



-- 
Best Regards
Masahiro Yamada


More information about the U-Boot mailing list