On Tue, Oct 3, 2017 at 3:02 PM, Wold, Saul <[email protected]> wrote: > On Fri, 2017-09-29 at 14:15 +0000, Matt Madison wrote: >> When building for a target whose architecture matches >> the build host's, the second pass through make.bash >> to build the shareable runtime would also overwrite >> the target's static cgo library with host-compatibile >> binaries. >> >> Fix this by running the host-side build once and >> target-only passes of make.bash twice, for static >> and shareable. This ensures that what gets installed >> is target-compatible. >> >> [YOCTO #12136] >> > This does not appear to actually fix the bug mentioned here, I just > found the failure again with intel-corei7-64 (from meta-intel) and then > confirmed that it fails with qemux86-64 and genericx86-64 when using > TCLIBC = "musl" > > Can you please verify and test with MUSL.
Hmm. I had tested with MUSL before sending that patch, but I'll try it again to see what I might have missed. -Matt > > Thanks > Sau! > > >> Signed-off-by: Matt Madison <[email protected]> >> --- >> meta/recipes-devtools/go/go-runtime.inc | 11 ++++++++--- >> 1 file changed, 8 insertions(+), 3 deletions(-) >> >> diff --git a/meta/recipes-devtools/go/go-runtime.inc b/meta/recipes- >> devtools/go/go-runtime.inc >> index 934d1aa..bd26e2e 100644 >> --- a/meta/recipes-devtools/go/go-runtime.inc >> +++ b/meta/recipes-devtools/go/go-runtime.inc >> @@ -23,9 +23,13 @@ do_compile() { >> rm -rf ${GOBIN} ${B}/pkg >> mkdir ${GOBIN} >> cd src >> - GO_FLAGS="" ./make.bash >> + ./make.bash --host-only >> + cp ${B}/pkg/tool/${BUILD_GOTUPLE}/go_bootstrap ${B} >> + rm -rf ${B}/pkg/${TARGET_GOTUPLE} >> + ./make.bash --target-only >> if [ -n "${GO_DYNLINK}" ]; then >> - GO_FLAGS="-buildmode=shared" GO_LDFLAGS="-extldflags >> \"${LDFLAGS}\"" ./make.bash >> + cp ${B}/go_bootstrap ${B}/pkg/tool/${BUILD_GOTUPLE} >> + GO_FLAGS="-buildmode=shared" GO_LDFLAGS="-extldflags >> \"${LDFLAGS}\"" ./make.bash --target-only >> fi >> cd ${B} >> } >> @@ -41,8 +45,9 @@ do_install() { >> rm -rf ${D}${libdir}/go/pkg/obj >> rm -rf ${D}${libdir}/go/pkg/bootstrap >> find src -mindepth 1 -maxdepth 1 -type d | while read >> srcdir; do >> - [ "$srcdir" = "./cmd" ] || cp -- >> preserve=mode,timestamps -R $srcdir ${D}${libdir}/go/src/ >> + cp --preserve=mode,timestamps -R $srcdir >> ${D}${libdir}/go/src/ >> done >> + rm -f ${D}${libdir}/go/src/cmd/dist/dist >> } >> >> # Remove test binaries that cannot be relocated >> -- >> 2.7.4 >> -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
