[U-Boot] [PATCH] Makefile: prevent libgcc to be linked twice

Nicolas Ferre
2011-10-20T08:26:46Z

On 10/18/2011 06:06 PM, Mike Frysinger :
> On Tuesday 18 October 2011 04:30:27 Nicolas Ferre wrote:
>> On 10/17/2011 07:25 PM, Mike Frysinger :
>>> On Monday 17 October 2011 09:41:15 Nicolas Ferre wrote:
>>>> If we define USE_PRIVATE_LIBGCC, PLATFORM_LIBS is used during
>>>> link. During this last link editing, libgcc may be listed twice
>>>> and fail.
>>>> Prevent this using "filter-out" in top Makefile.
>>>
>>> could you please provide more details ? libgcc should not be listed
>>> twice.
>>
>> I compile current u-boot with the flowing command line:
>> make -j5 CROSS_COMPILE=arm-linux-gnueabi- USE_PRIVATE_LIBGCC=yes
>> at91sam9m10g45ek_nandflash
>
> the issue shows up when using the board shortcut, and only when your tree is
> already configured. if you use at91sam9m10g45ek_nandflash_config and then
> another make, it works fine. if you start from a clean tree (git clean -x -d),
> it works fine.

Ah thanks for the information. Indeed it is a more common way of using
the configuration/compilation flow...

> this is due to PLATFORM_LIBS appending PLATFORM_LIBGCC when the tree has been
> configured, then exporting PLATFORM_LIBS, then the board shortcut running
> $(MAKE). the exported PLATFORM_LIBS gets LIBGCC appended a second time.
>
> this issue will show up with any value that gets appended to PLATFORM_LIBS and
> not just libgcc. the arm code already hits this and deals with it locally.
> seems like we should instead unify this logic, or redo PLATFORM_LIBS so that
> it isn't an issue in the first place.

Yes, that it a bit confusing... But with proper explanation, we can deal
with this.

Thanks for your help, best regards,
--
Nicolas Ferre