[U-Boot] [PATCH] ARM: enable CONFIG_USE_PRIVATE_LIBGCC by default

Masahiro Yamada yamada.masahiro at socionext.com
Thu Jul 2 14:54:44 CEST 2015


2015-07-02 21:43 GMT+09:00 Albert ARIBAUD <albert.u.boot at aribaud.net>:
> Hello Masahiro,
>
> On Thu, 2 Jul 2015 21:21:12 +0900, Masahiro Yamada
> <yamada.masahiro at socionext.com> wrote:
>> Hi Albert,
>>
>>
>> 2015-07-02 6:21 GMT+09:00 Albert ARIBAUD <albert.u.boot at aribaud.net>:
>> > On Thu, 16 Apr 2015 11:21:44 +0200, Albert ARIBAUD
>> > <albert.u.boot at aribaud.net> wrote:
>> >> Hello Masahiro,
>> >>
>> >> Your patch clashes with Pavel's already committed
>> >> break-if-private-libgcc-and-thumb, causing many boards to fail building.
>> >>
>> >> I am putting your patch in 'under review' state until I can have a look
>> >> at what happens with private libgcc and thumb.
>> >
>> > Hmm, even with the libgcc+thumb thing fixed, this patch still causes
>> > quite a few target to fail:
>> >
>> > - without the patch, buildman yields 503 1 12 / 516.
>> > - With the patch, buildman yields 488 1 27 / 516.
>> >
>> > Of these, 10 are aarch64 boards which now try to build a private libgcc
>> > with some hardwired 32-bit mnemonics :
>> >
>> > | arch/arm/lib/_ashldi3.S:21: Error: operand 1 should be an integer
>> > register -- `subs r3,r2,#32' | arch/arm/lib/_ashldi3.S:22: Error: unknown mnemonic `rsb' -- `rsb ip,r2,#32'
>> > | arch/arm/lib/_ashldi3.S:23: Error: unknown mnemonic `movmi' -- `movmi r1,r1,lsl r2'
>> > | arch/arm/lib/_ashldi3.S:24: Error: unknown mnemonic `movpl' -- `movpl r1,r0,lsl r3'
>> > | arch/arm/lib/_ashldi3.S:25: Error: unknown mnemonic `orrmi' -- `orrmi r1,r1,r0,lsr ip'
>> > | arch/arm/lib/_ashldi3.S:26: Error: operand 1 should be an integer register -- `mov r0,r0,lsl r2'
>> > | arch/arm/lib/_ashldi3.S:27: Error: operand 1 should be an integer register -- `mov pc,lr'
>> >
>> > This should be fairly easy to fix by
>> >  defaulting CONFIG_USE_PRIVATE_LIBGCC to
>> >
>> > The other 5 failures are snow, smdk5250, peach-pi, smdk5420, and
>> > peach-pit, all of which show the same error:
>> >
>> >> arch/arm/lib/lib.a(div0.o): In function `__div0':
>> >> arch/arm/lib/div0.c:13: undefined reference to `hang'
>> >> make[2]: *** [spl/u-boot-spl] Error 1
>> >> make[1]: *** [spl/u-boot-spl] Error 2
>> >
>> > That one is be a dependency on hang(). This function... hangs out... in
>> > lib/hang.c, which according to lib/Makefile should be included in any
>> > build, SPL or otherwise; but it appears lib/ is not built at all for
>> > SPL, at least for these five targets.
>> >
>> > Masahiro, can you have a look at e.g. snow (arm) and ls2085ardb
>> > (aarch64) and see if you can update your patch to make sure these two
>> > targets build? The other 13 should follow then.
>>
>> OK.
>> I will take a look.
>
> Ok -- don't rush, though. Seeing as there are contrary opinions on
> whether we should use a private libgcc or not, I won't decide on
> committing the patch right away.

OK.

If you think we should take our time for this discussion,
will you send a pull-request with currently applied change sets?
The 2015.07 will be released in 10 days.




-- 
Best Regards
Masahiro Yamada


More information about the U-Boot mailing list