[Buildroot] [PATCH v2 1/1] package/mono: force internal libatomic-ops for some arm variants

Illia Bitkov illia.bitkov at mind.be
Mon Aug 23 12:36:55 UTC 2021


Hello,

On Thu, Aug 19, 2021 at 11:50 PM Thomas Petazzoni <
thomas.petazzoni at bootlin.com> wrote:

> On Thu, 19 Aug 2021 23:31:31 +0200
> Illia Bitkov <illia.bitkov at mind.be> wrote:
>
> > Error:
> >
> /home/buildroot/autobuild/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/9.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld:
> ../../external/bdwgc/.libs/libgc.a(gc.o): in function `GC_steal_mark_stack':
> > gc.c:(.text+0x2020): undefined reference to `AO_store_full_emulation'
> >
> /home/buildroot/autobuild/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/9.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld:
> ../../external/bdwgc/.libs/libgc.a(gc.o): in function `GC_mark_from':
> > gc.c:(.text+0x51c0): undefined reference to `AO_store_full_emulation'
> >
> /home/buildroot/autobuild/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/9.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld:
> gc.c:(.text+0x54dc): undefined reference to `AO_store_full_emulation'
> >
> /home/buildroot/autobuild/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/9.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld:
> gc.c:(.text+0x5584): undefined reference to `AO_store_full_emulation'
> >
> /home/buildroot/autobuild/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/9.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld:
> ../../external/bdwgc/.libs/libgc.a(gc.o): in function `GC_mark_and_push':
> > gc.c:(.text+0x574c): undefined reference to `AO_store_full_emulation'
> >
> /home/buildroot/autobuild/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/9.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld:
> ../../external/bdwgc/.libs/libgc.a(gc.o):gc.c:(.text+0x5f0c): more
> undefined references to `AO_store_full_emulation' follow
> >
> /home/buildroot/autobuild/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/9.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld:
> ../../external/bdwgc/.libs/libgc.a(gc.o): in function `GC_mark_local':
> > gc.c:(.text+0xfae4): undefined reference to
> `AO_fetch_compare_and_swap_emulation'
> >
> /home/buildroot/autobuild/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/9.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld:
> ../../external/bdwgc/.libs/libgc.a(gc.o): in function `GC_finalize':
> > gc.c:(.text+0x10990): undefined reference to `AO_store_full_emulation'
> >
> /home/buildroot/autobuild/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/9.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld:
> gc.c:(.text+0x10ae8): undefined reference to `AO_store_full_emulation'
> >
> /home/buildroot/autobuild/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/9.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld:
> ../../external/bdwgc/.libs/libgc.a(gc.o): in function `GC_malloc_kind':
> > gc.c:(.text+0x1682c): undefined reference to `AO_store_full_emulation'
> >
> /home/buildroot/autobuild/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/9.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld:
> gc.c:(.text+0x16880): undefined reference to `AO_store_full_emulation'
> >
> /home/buildroot/autobuild/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/9.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld:
> ../../external/bdwgc/.libs/libgc.a(gc.o): in function `GC_make_descriptor':
> > gc.c:(.text+0x16e04): undefined reference to `AO_store_full_emulation'
> >
> /home/buildroot/autobuild/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/9.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld:
> ../../external/bdwgc/.libs/libgc.a(gc.o):gc.c:(.text+0x177bc): more
> undefined references to `AO_store_full_emulation' follow
> > collect2: error: ld returned 1 exit status
> >
> > Fixes:
> >
> http://autobuild.buildroot.net/results/18b017dd5b9c1d8d6c91303ea4f1fdd3e1b086e0/
> >
> http://autobuild.buildroot.net/results/1d262e9ad5bf8bf437bc3f2a709d84acf854d298/
> > Signed-off-by: Illia Bitkov <illia.bitkov at mind.be>
>
> Thanks, but I don't really see where are the additional explanations.
> Is libatomic_ops broken for those platforms? If so, why does it affect
> only Mono and not other packages using libatomic_ops?
>
>
Problem is not with mono but rather with the internal version of bdwgc
which doesn't link with external libatomic.
I will close this patch and create a new one which fixes the linkage
problem.


> Thanks,
>
> Thomas
> --
> Thomas Petazzoni, co-owner and CEO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
>

Thanks
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20210823/7816afc2/attachment.html>


More information about the buildroot mailing list