<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/meta/classes/goarch.bbclass, branch kirkstone-4.0.28</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=kirkstone-4.0.28</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=kirkstone-4.0.28'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2023-11-28T15:00:32+00:00</updated>
<entry>
<title>goarch: Move Go architecture mapping to a library</title>
<updated>2023-11-28T15:00:32+00:00</updated>
<author>
<name>Peter Marko</name>
<email>peter.marko@siemens.com</email>
</author>
<published>2023-11-09T12:36:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=e826f8043684fb037f8e4cdb7623d59d7309f655'/>
<id>urn:sha1:e826f8043684fb037f8e4cdb7623d59d7309f655</id>
<content type='text'>
Other spaces uses the Go architecture definitions as their own (for
example, container arches are defined to be Go arches). To make it
easier for other places to use this mapping, move the code that does the
translation of OpenEmbedded arches to Go arches to a library.

(From oe-core rev: 3e86f72fc2e1cc2e5ea4b4499722d736941167ce)

This commit together with meta-virtualization commit
115f6367f37095415f289fb6981cda9608ac72ff
broke meta-virtualization master used with
meta-lts-mixins kirkstone/go which is our primary
usecase for having kirkstone/go mixin layer

Manually crafted since cherry-pick had too many conflicts:
* different path to classes
* additional architecture loongarch64
* different way how to import library

(From OE-Core rev: 8726ae02d760270f9e7fe7ef5715d8f7553371ce)

Signed-off-by: Peter Marko &lt;peter.marko@siemens.com&gt;
Cc: Joshua Watt &lt;JPEWhacker@gmail.com&gt;
Cc: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
Cc: Jose Quaresma &lt;jose.quaresma@foundries.io&gt;
Signed-off-by: Steve Sakoman &lt;steve@sakoman.com&gt;
</content>
</entry>
<entry>
<title>Allow global override of golang GO_DYNLINK</title>
<updated>2021-08-20T07:53:03+00:00</updated>
<author>
<name>Oliver Kranz</name>
<email>o.kranz.88@gmail.com</email>
</author>
<published>2021-08-19T09:22:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=a3c1be72af66ba8dd1b1393f10dd1c13c7cb9509'/>
<id>urn:sha1:a3c1be72af66ba8dd1b1393f10dd1c13c7cb9509</id>
<content type='text'>
Small golang applications create massive memory overhead if go-runtime
is deployed. So it is helpfull to be able to disable the GO_DYNLINK
option on a per distro/local.conf basis by making it a ?= instead of =.

(From OE-Core rev: 2a7f5843c4ad2a3bd44bf9c262aacab2931b5677)

Signed-off-by: Oliver Kranz &lt;o.kranz.88@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Convert to new override syntax</title>
<updated>2021-08-02T14:44:10+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2021-07-28T22:28:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=bb6ddc3691ab04162ec5fd69a2d5e7876713fd15'/>
<id>urn:sha1:bb6ddc3691ab04162ec5fd69a2d5e7876713fd15</id>
<content type='text'>
This is the result of automated script conversion:

scripts/contrib/convert-overrides.py &lt;oe-core directory&gt;

converting the metadata to use ":" as the override character instead of "_".

(From OE-Core rev: 42344347be29f0997cc2f7636d9603b1fe1875ae)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>goarch: Use softfloat instead of 387 for 386 goarch</title>
<updated>2021-02-26T15:21:20+00:00</updated>
<author>
<name>Khem Raj</name>
<email>raj.khem@gmail.com</email>
</author>
<published>2021-02-25T00:06:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=510406ddf54613b691cd59efa12f70848b5101b5'/>
<id>urn:sha1:510406ddf54613b691cd59efa12f70848b5101b5</id>
<content type='text'>
387 has been removed from go 1.16 see [1]

[1] https://github.com/golang/go/issues/40255

(From OE-Core rev: fd549c139f534f28974c86a4e4c7acf6f5c40a79)

Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>goarch.bbclass: Fix ppc64le detection</title>
<updated>2021-02-23T22:35:01+00:00</updated>
<author>
<name>Khem Raj</name>
<email>raj.khem@gmail.com</email>
</author>
<published>2021-02-20T19:09:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=47a2fffca41c0c121f819b70836fcce87ed1ee48'/>
<id>urn:sha1:47a2fffca41c0c121f819b70836fcce87ed1ee48</id>
<content type='text'>
ppc64le should go above ppc64 in checks otherwise it gets subsumed
wrongly with ppc64 check

(From OE-Core rev: 126ecfe0d2ce65b2d2cf5598612e60bad7b3302e)

Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>goarch.bbclass: Disable dynamic linking on PPC64 LE</title>
<updated>2020-01-21T12:52:53+00:00</updated>
<author>
<name>Khem Raj</name>
<email>raj.khem@gmail.com</email>
</author>
<published>2020-01-20T17:18:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=dd2862668a86db5fccec51f74afc7e4dc85a3eac'/>
<id>urn:sha1:dd2862668a86db5fccec51f74afc7e4dc85a3eac</id>
<content type='text'>
(From OE-Core rev: cbcaa7e4808d881e19bdefc9123232449d8a2cad)

Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>goarch: Dont use -fno-PIE on mips</title>
<updated>2019-12-30T23:39:09+00:00</updated>
<author>
<name>Khem Raj</name>
<email>raj.khem@gmail.com</email>
</author>
<published>2019-12-29T18:43:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=89b336f24cfee1a613f406668ad1a8407c2c4fe2'/>
<id>urn:sha1:89b336f24cfee1a613f406668ad1a8407c2c4fe2</id>
<content type='text'>
This was added with

98b24e9268 goarch.bbclass: set SECURITY_CFLAGS for mips64

to overcome a problem that was inherent in go linker which has been now
fixed in golang compiler upstream

https://github.com/golang/go/issues/20243
https://github.com/golang/go/commit/39c07ce9e5311c94880789f19f2f8b49bf1b5241

(From OE-Core rev: ea93adc30ee3d8e0baa0f374c92afb7c6a133b2a)

Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
Cc: Kai Kang &lt;kai.kang@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>goarch: Remove target specific dependencies</title>
<updated>2019-12-15T09:10:46+00:00</updated>
<author>
<name>Khem Raj</name>
<email>raj.khem@gmail.com</email>
</author>
<published>2019-12-13T21:15:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=d07fba12a0b4b2dd2a31d24b09ac6f371f6678f5'/>
<id>urn:sha1:d07fba12a0b4b2dd2a31d24b09ac6f371f6678f5</id>
<content type='text'>
goarch is used in all classes of recipes ranging from native to target,
therefore its best to contain the variables and not spill over into
recipe classes where they can adversely affect shared state reuse e.g.
go-native currently gets TUNE_FEATURES into dependency chain of
referenced variables which means go-native gets rebuilt when we change
from qemuarm to qemux86 machine types since TUNE_FEATURES is defined
with DEFAULTTUNE which would change as machines are switched

These variables are specific to arm/mips/x86 so marking them with
appropriate overrides for native recipes will be right thing here

Chose 'hardfloat' for mips which is default too, 7 for arm and sse2 for x86
somehow go-native bootstrap compiler (1.4) still needs them so feed
commonly used values or defaults.

Fixes
ERROR: go-native different signature for task do_configure.sigdata between qemux86copy and qemuarm
...
List of dependencies for variable TUNE_FEATURES changed from '{'DEFAULTTUNE', 'TUNE_FEATURES_tune-core2-32'}' to '{'DEFAULTTUNE', 'TUNE_FEATURES_tune-armv7vethf-neon'}'
changed items: {'TUNE_FEATURES_tune-core2-32', 'TUNE_FEATURES_tune-armv7vethf-neon'}

(From OE-Core rev: 83eebf5577dd0a23be937375c1a8a15e3da4fa64)

Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>goarch.bbclass: Simplify logic</title>
<updated>2019-04-12T08:29:06+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2019-04-11T20:41:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=00a0e90f17bd2e66be56c060f4cfc54f6ffdade8'/>
<id>urn:sha1:00a0e90f17bd2e66be56c060f4cfc54f6ffdade8</id>
<content type='text'>
Further simplification of the go_map_arm() function.

(From OE-Core rev: 9c333505897b2bf0d80737c855af31785d23435a)

Signed-off-by: Mark Asselstine &lt;mark.asselstine@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>goarch.bbclass: use MACHINEOVERRIDES and simplify go_map_arm()</title>
<updated>2019-04-10T12:46:17+00:00</updated>
<author>
<name>Mark Asselstine</name>
<email>mark.asselstine@windriver.com</email>
</author>
<published>2019-03-18T15:21:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=a126d2383391d065c020253be03e53475659fccf'/>
<id>urn:sha1:a126d2383391d065c020253be03e53475659fccf</id>
<content type='text'>
Per https://github.com/golang/go/wiki/GoArm we need to set GOARM when
cross building for ARMv5, ARMv6 and ARMv7. The current approach of
using TUNE_FEATURES can be error prone, as we can see today when
attempting to build for Cortex-A7 which results in GOARM=''.

Since the value of MACHINEOVERRIDES already consolidates the values of
TUNE_FEATURES into something more consistent we can use the overrides
mechanism to set GOARM, leaving just a little bit of logic in
go_map_arm() to trigger off the arch (basically target vs host)
for the setting of GOARM.

(From OE-Core rev: 5f48939e26402b77fc3343f326765137f9570f40)

Signed-off-by: Mark Asselstine &lt;mark.asselstine@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
