[OE-core] Go runtime host contamination
Matt Madison
matt at madison.systems
Thu Sep 28 21:22:55 UTC 2017
On Thu, Sep 28, 2017 at 10:28 AM, Paul Barker <pbarker at toganlabs.com> wrote:
> Hey,
>
> I'm trying to upgrade runc-opencontainers in meta-virtualization to
> v1.0.0-rc4 and hitting a host contamination issue.
>
> Both host and target are x86-64 but I'm using glibc on the host
> (Ubuntu 16.04) and musl on the target. I'm getting link failures
> referring to missing symbols "__vfprintf_chk" and "__fprintf_chk" in
> libcontainer. I'm pretty sure these symbols exist in glibc but not in
> musl.
>
> The failure is occurring when trying to link libcontainer which uses
> the go extension cgo to incorporate some c code in with the go code.
>
> Using a pretty dumb grep, I can see the contamination in the go-runtime package:
>
> $ grep -r __fprintf_chk
> tmp/work/core2-64-oe-linux-musl/go-runtime/1.9-r0/image/
> Binary file
> tmp/work/core2-64-oe-linux-musl/go-runtime/1.9-r0/image/usr/lib/go/src/host-tools/trace
> matches
> Binary file
> tmp/work/core2-64-oe-linux-musl/go-runtime/1.9-r0/image/usr/lib/go/src/host-tools/pprof
> matches
> Binary file
> tmp/work/core2-64-oe-linux-musl/go-runtime/1.9-r0/image/usr/lib/go/pkg/linux_amd64/runtime/cgo.a
> matches
Yep, I see what's going on here. I have a patch in the works to take
care of it.
Thanks,
-Matt
>
> The go build process seems to build host tools & runtime first and
> then the target runtime, even for the go-runtime recipe. It looks like
> it's installing the host version of the runtime library instead of the
> target version but I'm not 100% sure here. There is some code in
> go/src/make.bash to handle the case when host arch & os match target
> arch & os and I think this is getting tripped up.
>
> I can provide further info and logs tomorrow. Just wondering if anyone
> has seen this sort of problem before and has any suggestions.
>
> Cheers,
>
> --
> Paul Barker
> Togán Labs Ltd
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
More information about the Openembedded-core
mailing list