Message ID | 20240419175309.214181-1-jose.quaresma@foundries.io |
---|---|
State | Accepted, archived |
Commit | 6ad90fc2fc49c4199a59dfb1c1d81a7ba184a522 |
Headers | show |
Series | [1/2] go: Drop the linkmode completely | expand |
On Fri, Apr 19, 2024 at 10:53 AM Jose Quaresma via lists.openembedded.org <quaresma.jose=gmail.com@lists.openembedded.org> wrote: > > This will make possible to restore the default dynamic linking globally > which is what we had before the 1.20.X release. > Looks good overall. how do we support the static linking if user wanted ? > Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io> > --- > meta/classes-recipe/go.bbclass | 2 -- > meta/recipes-devtools/go/go-runtime.inc | 2 +- > 2 files changed, 1 insertion(+), 3 deletions(-) > > diff --git a/meta/classes-recipe/go.bbclass b/meta/classes-recipe/go.bbclass > index cc3564c36a..d32509aa6d 100644 > --- a/meta/classes-recipe/go.bbclass > +++ b/meta/classes-recipe/go.bbclass > @@ -48,8 +48,6 @@ GO_RPATH:class-native = "${@'-r ${STAGING_LIBDIR_NATIVE}/go/pkg/${TARGET_GOTUPLE > GO_RPATH_LINK:class-native = "${@'-Wl,-rpath-link=${STAGING_LIBDIR_NATIVE}/go/pkg/${TARGET_GOTUPLE}_dynlink' if d.getVar('GO_DYNLINK') else ''}" > GO_EXTLDFLAGS ?= "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${GO_RPATH_LINK} ${LDFLAGS}" > GO_LINKMODE ?= "" > -GO_LINKMODE:class-nativesdk = "--linkmode=external" > -GO_LINKMODE:class-native = "--linkmode=external" > GO_EXTRA_LDFLAGS ?= "" > GO_LINUXLOADER ?= "-I ${@get_linuxloader(d)}" > # Use system loader. If uninative is used, the uninative loader will be patched automatically > diff --git a/meta/recipes-devtools/go/go-runtime.inc b/meta/recipes-devtools/go/go-runtime.inc > index 3f1e795dd9..413cf6d33f 100644 > --- a/meta/recipes-devtools/go/go-runtime.inc > +++ b/meta/recipes-devtools/go/go-runtime.inc > @@ -15,7 +15,7 @@ export CGO_LDFLAGS = "${@ ' '.join(filter(lambda f: not f.startswith('-fdebug-pr > export GOCACHE = "${B}/.cache" > > GO_EXTLDFLAGS ?= "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${LDFLAGS}" > -GO_SHLIB_LDFLAGS ?= '-ldflags="--linkmode=external -extldflags '${GO_EXTLDFLAGS}'"' > +GO_SHLIB_LDFLAGS ?= '-ldflags="-extldflags '${GO_EXTLDFLAGS}'"' > > do_configure() { > : > -- > 2.44.0 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#198558): https://lists.openembedded.org/g/openembedded-core/message/198558 > Mute This Topic: https://lists.openembedded.org/mt/105623011/1997914 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
Khem Raj <raj.khem@gmail.com> escreveu (sexta, 19/04/2024 à(s) 19:17): > On Fri, Apr 19, 2024 at 10:53 AM Jose Quaresma via > lists.openembedded.org > <quaresma.jose=gmail.com@lists.openembedded.org> wrote: > > > > This will make possible to restore the default dynamic linking globally > > which is what we had before the 1.20.X release. > > > > Looks good overall. how do we support the static linking if user wanted ? > To disable the dynamic linking, which is the default, we need to unset the GO_DYNLINK but this needs to be done with a machine arch override otherwise has no effect. GO_DYNLINK:machine_arch = "" As an example the below patch enables the static linkiging for all the architectures https://git.yoctoproject.org/poky/commit/meta/classes-recipe/goarch.bbclass?id=fd2e5e0b89d9c69acc9f813f07cd052630596ad5 Jose > > Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io> > > --- > > meta/classes-recipe/go.bbclass | 2 -- > > meta/recipes-devtools/go/go-runtime.inc | 2 +- > > 2 files changed, 1 insertion(+), 3 deletions(-) > > > > diff --git a/meta/classes-recipe/go.bbclass > b/meta/classes-recipe/go.bbclass > > index cc3564c36a..d32509aa6d 100644 > > --- a/meta/classes-recipe/go.bbclass > > +++ b/meta/classes-recipe/go.bbclass > > @@ -48,8 +48,6 @@ GO_RPATH:class-native = "${@'-r > ${STAGING_LIBDIR_NATIVE}/go/pkg/${TARGET_GOTUPLE > > GO_RPATH_LINK:class-native = > "${@'-Wl,-rpath-link=${STAGING_LIBDIR_NATIVE}/go/pkg/${TARGET_GOTUPLE}_dynlink' > if d.getVar('GO_DYNLINK') else ''}" > > GO_EXTLDFLAGS ?= "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${GO_RPATH_LINK} > ${LDFLAGS}" > > GO_LINKMODE ?= "" > > -GO_LINKMODE:class-nativesdk = "--linkmode=external" > > -GO_LINKMODE:class-native = "--linkmode=external" > > GO_EXTRA_LDFLAGS ?= "" > > GO_LINUXLOADER ?= "-I ${@get_linuxloader(d)}" > > # Use system loader. If uninative is used, the uninative loader will be > patched automatically > > diff --git a/meta/recipes-devtools/go/go-runtime.inc > b/meta/recipes-devtools/go/go-runtime.inc > > index 3f1e795dd9..413cf6d33f 100644 > > --- a/meta/recipes-devtools/go/go-runtime.inc > > +++ b/meta/recipes-devtools/go/go-runtime.inc > > @@ -15,7 +15,7 @@ export CGO_LDFLAGS = "${@ ' '.join(filter(lambda f: > not f.startswith('-fdebug-pr > > export GOCACHE = "${B}/.cache" > > > > GO_EXTLDFLAGS ?= "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${LDFLAGS}" > > -GO_SHLIB_LDFLAGS ?= '-ldflags="--linkmode=external -extldflags > '${GO_EXTLDFLAGS}'"' > > +GO_SHLIB_LDFLAGS ?= '-ldflags="-extldflags '${GO_EXTLDFLAGS}'"' > > > > do_configure() { > > : > > -- > > 2.44.0 > > > > > > -=-=-=-=-=-=-=-=-=-=-=- > > Links: You receive all messages sent to this group. > > View/Reply Online (#198558): > https://lists.openembedded.org/g/openembedded-core/message/198558 > > Mute This Topic: https://lists.openembedded.org/mt/105623011/1997914 > > Group Owner: openembedded-core+owner@lists.openembedded.org > > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [ > raj.khem@gmail.com] > > -=-=-=-=-=-=-=-=-=-=-=- > > >
On Fri, Apr 19, 2024 at 11:28 AM Jose Quaresma <quaresma.jose@gmail.com> wrote: > > > Khem Raj <raj.khem@gmail.com> escreveu (sexta, 19/04/2024 à(s) 19:17): > >> On Fri, Apr 19, 2024 at 10:53 AM Jose Quaresma via >> lists.openembedded.org >> <quaresma.jose=gmail.com@lists.openembedded.org> wrote: >> > >> > This will make possible to restore the default dynamic linking globally >> > which is what we had before the 1.20.X release. >> > >> >> Looks good overall. how do we support the static linking if user wanted ? >> > > To disable the dynamic linking, which is the default, we need to unset the > GO_DYNLINK > but this needs to be done with a machine arch override otherwise has no > effect. > > GO_DYNLINK:machine_arch = "" > > As an example the below patch enables the static linkiging for all the > architectures > > https://git.yoctoproject.org/poky/commit/meta/classes-recipe/goarch.bbclass?id=fd2e5e0b89d9c69acc9f813f07cd052630596ad5 > > I wonder if it makes sense to have a variable for doing static linking now that dynamic linking is default anyway and remove it > Jose > > >> > Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io> >> > --- >> > meta/classes-recipe/go.bbclass | 2 -- >> > meta/recipes-devtools/go/go-runtime.inc | 2 +- >> > 2 files changed, 1 insertion(+), 3 deletions(-) >> > >> > diff --git a/meta/classes-recipe/go.bbclass >> b/meta/classes-recipe/go.bbclass >> > index cc3564c36a..d32509aa6d 100644 >> > --- a/meta/classes-recipe/go.bbclass >> > +++ b/meta/classes-recipe/go.bbclass >> > @@ -48,8 +48,6 @@ GO_RPATH:class-native = "${@'-r >> ${STAGING_LIBDIR_NATIVE}/go/pkg/${TARGET_GOTUPLE >> > GO_RPATH_LINK:class-native = >> "${@'-Wl,-rpath-link=${STAGING_LIBDIR_NATIVE}/go/pkg/${TARGET_GOTUPLE}_dynlink' >> if d.getVar('GO_DYNLINK') else ''}" >> > GO_EXTLDFLAGS ?= "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${GO_RPATH_LINK} >> ${LDFLAGS}" >> > GO_LINKMODE ?= "" >> > -GO_LINKMODE:class-nativesdk = "--linkmode=external" >> > -GO_LINKMODE:class-native = "--linkmode=external" >> > GO_EXTRA_LDFLAGS ?= "" >> > GO_LINUXLOADER ?= "-I ${@get_linuxloader(d)}" >> > # Use system loader. If uninative is used, the uninative loader will >> be patched automatically >> > diff --git a/meta/recipes-devtools/go/go-runtime.inc >> b/meta/recipes-devtools/go/go-runtime.inc >> > index 3f1e795dd9..413cf6d33f 100644 >> > --- a/meta/recipes-devtools/go/go-runtime.inc >> > +++ b/meta/recipes-devtools/go/go-runtime.inc >> > @@ -15,7 +15,7 @@ export CGO_LDFLAGS = "${@ ' '.join(filter(lambda f: >> not f.startswith('-fdebug-pr >> > export GOCACHE = "${B}/.cache" >> > >> > GO_EXTLDFLAGS ?= "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${LDFLAGS}" >> > -GO_SHLIB_LDFLAGS ?= '-ldflags="--linkmode=external -extldflags >> '${GO_EXTLDFLAGS}'"' >> > +GO_SHLIB_LDFLAGS ?= '-ldflags="-extldflags '${GO_EXTLDFLAGS}'"' >> > >> > do_configure() { >> > : >> > -- >> > 2.44.0 >> > >> > >> > -=-=-=-=-=-=-=-=-=-=-=- >> > Links: You receive all messages sent to this group. >> > View/Reply Online (#198558): >> https://lists.openembedded.org/g/openembedded-core/message/198558 >> > Mute This Topic: https://lists.openembedded.org/mt/105623011/1997914 >> > Group Owner: openembedded-core+owner@lists.openembedded.org >> > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [ >> raj.khem@gmail.com] >> > -=-=-=-=-=-=-=-=-=-=-=- >> > >> > > > -- > Best regards, > > José Quaresma >
Khem Raj <raj.khem@gmail.com> escreveu (sexta, 19/04/2024 à(s) 21:43): > > > On Fri, Apr 19, 2024 at 11:28 AM Jose Quaresma <quaresma.jose@gmail.com> > wrote: > >> >> >> Khem Raj <raj.khem@gmail.com> escreveu (sexta, 19/04/2024 à(s) 19:17): >> >>> On Fri, Apr 19, 2024 at 10:53 AM Jose Quaresma via >>> lists.openembedded.org >>> <quaresma.jose=gmail.com@lists.openembedded.org> wrote: >>> > >>> > This will make possible to restore the default dynamic linking globally >>> > which is what we had before the 1.20.X release. >>> > >>> >>> Looks good overall. how do we support the static linking if user wanted ? >>> >> >> To disable the dynamic linking, which is the default, we need to unset >> the GO_DYNLINK >> but this needs to be done with a machine arch override otherwise has no >> effect. >> >> GO_DYNLINK:machine_arch = "" >> >> As an example the below patch enables the static linkiging for all the >> architectures >> >> https://git.yoctoproject.org/poky/commit/meta/classes-recipe/goarch.bbclass?id=fd2e5e0b89d9c69acc9f813f07cd052630596ad5 >> >> > > I wonder if it makes sense to have a variable for doing static linking now > that dynamic linking is default anyway and remove it > To do this, we would have to remove all the logic based on the GO_DYNLINK and add this new variable to the static linking. Just to clarify, the default upstream golang linking is the static way but in OE we prefer the dynamic linking maybe because the binary size but I did some tests and surprisingly the result can even be better in terms of binary size when we link statically as can be see on this https://github.com/foundriesio/lmp-manifest/pull/425 This toolchain is also a bit particular in the sense that the go-runtime conditions all other packages afterwards. For example, by having a static go-runtime we are conditioning everything to be linked in the same way, the opposite is no longer true and we can have the go-runtime dynamically but then have packages linked statically. The reason is because the /usr/lib/go/pkg/linux_amd64_dynlink/libstd.so only exists when the go-runtime is dynamically linked. Jose > > >> Jose >> >> >>> > Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io> >>> > --- >>> > meta/classes-recipe/go.bbclass | 2 -- >>> > meta/recipes-devtools/go/go-runtime.inc | 2 +- >>> > 2 files changed, 1 insertion(+), 3 deletions(-) >>> > >>> > diff --git a/meta/classes-recipe/go.bbclass >>> b/meta/classes-recipe/go.bbclass >>> > index cc3564c36a..d32509aa6d 100644 >>> > --- a/meta/classes-recipe/go.bbclass >>> > +++ b/meta/classes-recipe/go.bbclass >>> > @@ -48,8 +48,6 @@ GO_RPATH:class-native = "${@'-r >>> ${STAGING_LIBDIR_NATIVE}/go/pkg/${TARGET_GOTUPLE >>> > GO_RPATH_LINK:class-native = >>> "${@'-Wl,-rpath-link=${STAGING_LIBDIR_NATIVE}/go/pkg/${TARGET_GOTUPLE}_dynlink' >>> if d.getVar('GO_DYNLINK') else ''}" >>> > GO_EXTLDFLAGS ?= "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} >>> ${GO_RPATH_LINK} ${LDFLAGS}" >>> > GO_LINKMODE ?= "" >>> > -GO_LINKMODE:class-nativesdk = "--linkmode=external" >>> > -GO_LINKMODE:class-native = "--linkmode=external" >>> > GO_EXTRA_LDFLAGS ?= "" >>> > GO_LINUXLOADER ?= "-I ${@get_linuxloader(d)}" >>> > # Use system loader. If uninative is used, the uninative loader will >>> be patched automatically >>> > diff --git a/meta/recipes-devtools/go/go-runtime.inc >>> b/meta/recipes-devtools/go/go-runtime.inc >>> > index 3f1e795dd9..413cf6d33f 100644 >>> > --- a/meta/recipes-devtools/go/go-runtime.inc >>> > +++ b/meta/recipes-devtools/go/go-runtime.inc >>> > @@ -15,7 +15,7 @@ export CGO_LDFLAGS = "${@ ' '.join(filter(lambda f: >>> not f.startswith('-fdebug-pr >>> > export GOCACHE = "${B}/.cache" >>> > >>> > GO_EXTLDFLAGS ?= "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${LDFLAGS}" >>> > -GO_SHLIB_LDFLAGS ?= '-ldflags="--linkmode=external -extldflags >>> '${GO_EXTLDFLAGS}'"' >>> > +GO_SHLIB_LDFLAGS ?= '-ldflags="-extldflags '${GO_EXTLDFLAGS}'"' >>> > >>> > do_configure() { >>> > : >>> > -- >>> > 2.44.0 >>> > >>> > >>> > -=-=-=-=-=-=-=-=-=-=-=- >>> > Links: You receive all messages sent to this group. >>> > View/Reply Online (#198558): >>> https://lists.openembedded.org/g/openembedded-core/message/198558 >>> > Mute This Topic: https://lists.openembedded.org/mt/105623011/1997914 >>> > Group Owner: openembedded-core+owner@lists.openembedded.org >>> > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub >>> [raj.khem@gmail.com] >>> > -=-=-=-=-=-=-=-=-=-=-=- >>> > >>> >> >> >> -- >> Best regards, >> >> José Quaresma >> >
On Mon, Apr 22, 2024 at 1:47 PM Jose Quaresma <quaresma.jose@gmail.com> wrote: > > > Khem Raj <raj.khem@gmail.com> escreveu (sexta, 19/04/2024 à(s) 21:43): > >> >> >> On Fri, Apr 19, 2024 at 11:28 AM Jose Quaresma <quaresma.jose@gmail.com> >> wrote: >> >>> >>> >>> Khem Raj <raj.khem@gmail.com> escreveu (sexta, 19/04/2024 à(s) 19:17): >>> >>>> On Fri, Apr 19, 2024 at 10:53 AM Jose Quaresma via >>>> lists.openembedded.org >>>> <quaresma.jose=gmail.com@lists.openembedded.org> wrote: >>>> > >>>> > This will make possible to restore the default dynamic linking >>>> globally >>>> > which is what we had before the 1.20.X release. >>>> > >>>> >>>> Looks good overall. how do we support the static linking if user wanted >>>> ? >>>> >>> >>> To disable the dynamic linking, which is the default, we need to unset >>> the GO_DYNLINK >>> but this needs to be done with a machine arch override otherwise has no >>> effect. >>> >>> GO_DYNLINK:machine_arch = "" >>> >>> As an example the below patch enables the static linkiging for all the >>> architectures >>> >>> https://git.yoctoproject.org/poky/commit/meta/classes-recipe/goarch.bbclass?id=fd2e5e0b89d9c69acc9f813f07cd052630596ad5 >>> >>> >> >> I wonder if it makes sense to have a variable for doing static linking >> now that dynamic linking is default anyway and remove it >> > > To do this, we would have to remove all the logic based on the GO_DYNLINK and > add this new variable to the static linking. > > Just to clarify, the default upstream golang linking is the static way but > in OE we prefer the dynamic linking maybe because > the binary size but I did some tests and surprisingly the result can even > be better in terms of binary size when we link statically > as can be see on this https://github.com/foundriesio/lmp-manifest/pull/425 > Yeah that’s ok for build time sizes but I wonder how does it do at runtime since this will use go runtime as dynamic libs > This toolchain is also a bit particular in the sense that the go-runtime > conditions all other packages afterwards. > For example, by having a static go-runtime we are conditioning everything > to be linked in the same way, > the opposite is no longer true and we can have the go-runtime dynamically > but then have packages linked statically. > The reason is because the /usr/lib/go/pkg/linux_amd64_dynlink/libstd.so > only exists when the go-runtime is dynamically linked. > > > Jose > > >> >> >>> Jose >>> >>> >>>> > Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io> >>>> > --- >>>> > meta/classes-recipe/go.bbclass | 2 -- >>>> > meta/recipes-devtools/go/go-runtime.inc | 2 +- >>>> > 2 files changed, 1 insertion(+), 3 deletions(-) >>>> > >>>> > diff --git a/meta/classes-recipe/go.bbclass >>>> b/meta/classes-recipe/go.bbclass >>>> > index cc3564c36a..d32509aa6d 100644 >>>> > --- a/meta/classes-recipe/go.bbclass >>>> > +++ b/meta/classes-recipe/go.bbclass >>>> > @@ -48,8 +48,6 @@ GO_RPATH:class-native = "${@'-r >>>> ${STAGING_LIBDIR_NATIVE}/go/pkg/${TARGET_GOTUPLE >>>> > GO_RPATH_LINK:class-native = >>>> "${@'-Wl,-rpath-link=${STAGING_LIBDIR_NATIVE}/go/pkg/${TARGET_GOTUPLE}_dynlink' >>>> if d.getVar('GO_DYNLINK') else ''}" >>>> > GO_EXTLDFLAGS ?= "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} >>>> ${GO_RPATH_LINK} ${LDFLAGS}" >>>> > GO_LINKMODE ?= "" >>>> > -GO_LINKMODE:class-nativesdk = "--linkmode=external" >>>> > -GO_LINKMODE:class-native = "--linkmode=external" >>>> > GO_EXTRA_LDFLAGS ?= "" >>>> > GO_LINUXLOADER ?= "-I ${@get_linuxloader(d)}" >>>> > # Use system loader. If uninative is used, the uninative loader will >>>> be patched automatically >>>> > diff --git a/meta/recipes-devtools/go/go-runtime.inc >>>> b/meta/recipes-devtools/go/go-runtime.inc >>>> > index 3f1e795dd9..413cf6d33f 100644 >>>> > --- a/meta/recipes-devtools/go/go-runtime.inc >>>> > +++ b/meta/recipes-devtools/go/go-runtime.inc >>>> > @@ -15,7 +15,7 @@ export CGO_LDFLAGS = "${@ ' '.join(filter(lambda f: >>>> not f.startswith('-fdebug-pr >>>> > export GOCACHE = "${B}/.cache" >>>> > >>>> > GO_EXTLDFLAGS ?= "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${LDFLAGS}" >>>> > -GO_SHLIB_LDFLAGS ?= '-ldflags="--linkmode=external -extldflags >>>> '${GO_EXTLDFLAGS}'"' >>>> > +GO_SHLIB_LDFLAGS ?= '-ldflags="-extldflags '${GO_EXTLDFLAGS}'"' >>>> > >>>> > do_configure() { >>>> > : >>>> > -- >>>> > 2.44.0 >>>> > >>>> > >>>> > -=-=-=-=-=-=-=-=-=-=-=- >>>> > Links: You receive all messages sent to this group. >>>> > View/Reply Online (#198558): >>>> https://lists.openembedded.org/g/openembedded-core/message/198558 >>>> > Mute This Topic: https://lists.openembedded.org/mt/105623011/1997914 >>>> > Group Owner: openembedded-core+owner@lists.openembedded.org >>>> > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub >>>> [raj.khem@gmail.com] >>>> > -=-=-=-=-=-=-=-=-=-=-=- >>>> > >>>> >>> >>> >>> -- >>> Best regards, >>> >>> José Quaresma >>> >> > > -- > Best regards, > > José Quaresma >
diff --git a/meta/classes-recipe/go.bbclass b/meta/classes-recipe/go.bbclass index cc3564c36a..d32509aa6d 100644 --- a/meta/classes-recipe/go.bbclass +++ b/meta/classes-recipe/go.bbclass @@ -48,8 +48,6 @@ GO_RPATH:class-native = "${@'-r ${STAGING_LIBDIR_NATIVE}/go/pkg/${TARGET_GOTUPLE GO_RPATH_LINK:class-native = "${@'-Wl,-rpath-link=${STAGING_LIBDIR_NATIVE}/go/pkg/${TARGET_GOTUPLE}_dynlink' if d.getVar('GO_DYNLINK') else ''}" GO_EXTLDFLAGS ?= "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${GO_RPATH_LINK} ${LDFLAGS}" GO_LINKMODE ?= "" -GO_LINKMODE:class-nativesdk = "--linkmode=external" -GO_LINKMODE:class-native = "--linkmode=external" GO_EXTRA_LDFLAGS ?= "" GO_LINUXLOADER ?= "-I ${@get_linuxloader(d)}" # Use system loader. If uninative is used, the uninative loader will be patched automatically diff --git a/meta/recipes-devtools/go/go-runtime.inc b/meta/recipes-devtools/go/go-runtime.inc index 3f1e795dd9..413cf6d33f 100644 --- a/meta/recipes-devtools/go/go-runtime.inc +++ b/meta/recipes-devtools/go/go-runtime.inc @@ -15,7 +15,7 @@ export CGO_LDFLAGS = "${@ ' '.join(filter(lambda f: not f.startswith('-fdebug-pr export GOCACHE = "${B}/.cache" GO_EXTLDFLAGS ?= "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${LDFLAGS}" -GO_SHLIB_LDFLAGS ?= '-ldflags="--linkmode=external -extldflags '${GO_EXTLDFLAGS}'"' +GO_SHLIB_LDFLAGS ?= '-ldflags="-extldflags '${GO_EXTLDFLAGS}'"' do_configure() { :
This will make possible to restore the default dynamic linking globally which is what we had before the 1.20.X release. Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io> --- meta/classes-recipe/go.bbclass | 2 -- meta/recipes-devtools/go/go-runtime.inc | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-)