<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/meta/recipes-devtools/gcc/gcc-runtime.inc, branch dunfell-next</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=dunfell-next</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=dunfell-next'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2020-05-05T07:45:30+00:00</updated>
<entry>
<title>nativesdk-gcc-runtime: enable building libstdc++.a</title>
<updated>2020-05-05T07:45:30+00:00</updated>
<author>
<name>Jeremy Puhlman</name>
<email>jpuhlman@mvista.com</email>
</author>
<published>2020-04-15T02:32:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=b13c3781b505f3ce8f12ee009534be5c489fae32'/>
<id>urn:sha1:b13c3781b505f3ce8f12ee009534be5c489fae32</id>
<content type='text'>
(From OE-Core rev: 217e8f587792b2fe25aead085ddc533d4100cd7a)

Signed-off-by: Jeremy Puhlman &lt;jpuhlman@mvista.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
Signed-off-by: Steve Sakoman &lt;steve@sakoman.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>gcc-runtime: apply ARM specific workaround to big-endian ARM too</title>
<updated>2020-03-29T11:05:31+00:00</updated>
<author>
<name>Andre McCurdy</name>
<email>armccurdy@gmail.com</email>
</author>
<published>2020-03-16T18:48:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=4a3c1b0cf09c61e0d46f3ddc055d61db143748fc'/>
<id>urn:sha1:4a3c1b0cf09c61e0d46f3ddc055d61db143748fc</id>
<content type='text'>
(From OE-Core rev: 633010f7c9f369565fd43465a857ad5680405e11)

Signed-off-by: Andre McCurdy &lt;armccurdy@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>newlib: Enable building libstdc++ for newlib based toolchains</title>
<updated>2020-01-19T23:49:39+00:00</updated>
<author>
<name>Alejandro Enedino Hernandez Samaniego</name>
<email>alejandro@enedino.org</email>
</author>
<published>2020-01-19T03:01:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=e261883a0fa673b6c11bd4f81669843c3f0f8af6'/>
<id>urn:sha1:e261883a0fa673b6c11bd4f81669843c3f0f8af6</id>
<content type='text'>
Some baremetal applications might require support from libstdc++
On newlib based toolchains, libstdc++ can be built as a static
library that applications can then link against it.

Pass libsdtc++-(static)dev to LIBC_DEPENDENCIES allowing the
library to be present for cross compilation as well as on
sdk builds.

(From OE-Core rev: 18af9ecef6e247519d8a1573e32208bb69cf81fe)

Signed-off-by: Alejandro Enedino Hernandez Samaniego &lt;alejandro@enedino.org&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>gcc-cross.inc: Prevent native sysroot from leaking into configargs.h</title>
<updated>2019-11-29T17:43:40+00:00</updated>
<author>
<name>Nathan Rossi</name>
<email>nathan@nathanrossi.com</email>
</author>
<published>2019-11-25T06:58:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=decb74d362849ece8f93f40c1c36cbcbcd188927'/>
<id>urn:sha1:decb74d362849ece8f93f40c1c36cbcbcd188927</id>
<content type='text'>
Prevent the native(sdk) sysroot path from leaking into configargs.h. The
configargs.h header is intended to be static and unchanged as the
content is used as a means of determining that a gcc plugin is built for
the same gcc. This also effects the output of 'gcc --version'. Due to
per recipe sysroots and staging, the sysroot path would be replaced with
the sysroot local to the recipe thus changing the content of
configargs.h.

The sysroot path is replaced with a generic "/host" prefix which
represents the host sysroot (e.g. native or nativesdk).

(From OE-Core rev: 84a78f46d59447eeec3d69532a7506148f64c979)

Signed-off-by: Nathan Rossi &lt;nathan@nathanrossi.com&gt;
Signed-off-by: Ross Burton &lt;ross.burton@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>gcc-runtime: Package libstdc++.a-gdb.py</title>
<updated>2019-11-27T13:25:18+00:00</updated>
<author>
<name>Khem Raj</name>
<email>raj.khem@gmail.com</email>
</author>
<published>2019-11-25T08:44:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=cf57a45026e4f8f2aea4a61877a56bf84256fca9'/>
<id>urn:sha1:cf57a45026e4f8f2aea4a61877a56bf84256fca9</id>
<content type='text'>
There is python gdb script for static libstdc++ archives as well
fixes
ERROR: gcc-runtime-9.2.0-r0 do_package: QA Issue: gcc-runtime: Files/directories were installed but not shipped in any package:
/usr/lib/libstdc++.a-gdb.py

(From OE-Core rev: 9becb6c1ea68096930fe77cc0e4126ff204d0592)

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>gcc-runtime: Add do_check task for executing gcc test suites</title>
<updated>2019-09-06T11:45:47+00:00</updated>
<author>
<name>Nathan Rossi</name>
<email>nathan@nathanrossi.com</email>
</author>
<published>2019-09-03T16:56:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=6ccf0746cf91bf9e792e9dfe41389eeb286db803'/>
<id>urn:sha1:6ccf0746cf91bf9e792e9dfe41389eeb286db803</id>
<content type='text'>
Add a do_check task to implement execution of the gcc component test
suites. The component test suites require execution of compiled programs
on the target.

The implementation provided allows for execution testing against a host
via SSH or within the local build environment using qemu linux-user
execution. The selection of execution is done via the
TOOLCHAIN_TEST_TARGET variable, and configuration of the remote host is
done with the TOOLCHAIN_TEST_HOST, TOOLCHAIN_TEST_HOST_USER and
TOOLCHAIN_TEST_HOST_PORT variables.

By default the do_check task will execute all check targets, this can be
changed by setting MAKE_CHECK_TARGETS to the desired test suite target
(e.g. check-gcc or check-target-libatomic).

(From OE-Core rev: 9d5d680baa91b34dc97641f98856a51d1bb060c1)

Signed-off-by: Nathan Rossi &lt;nathan@nathanrossi.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>gcc-runtime: Move content from gcclibdir into libdir</title>
<updated>2019-08-14T16:33:49+00:00</updated>
<author>
<name>Khem Raj</name>
<email>raj.khem@gmail.com</email>
</author>
<published>2019-08-13T15:28:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=1dc2823d62b253a6f7d05f71426f77925523de49'/>
<id>urn:sha1:1dc2823d62b253a6f7d05f71426f77925523de49</id>
<content type='text'>
OE does not use the traditional /usr/lib/gcc prefix to store gcc-runtime
it basically is moved into libdir, however some newer files were
installed by newer versions of gcc especially libgomp ( omp.h openacc.h )
into gcclibdir, so we have content in both directories, this confuses
other tools which are trying to guess the gcc installation and its
runtime location, since now we have two directories, the tools either
choose one or other and we get inconsistent behavior, e.g. clang for
aarch64 uses /usr/lib but same clang for riscv64 chose /usr/lib/gcc

This change ensures that OE ends up with single valid location for gcc
runtime files

Move more common bits into common inc file

(From OE-Core rev: e9e5744ba8b0d43c8b874d365f83071ce20bf0a1)

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>gcc-runtime.inc: create the correct directory before creating the symlinks in it</title>
<updated>2019-06-21T14:32:36+00:00</updated>
<author>
<name>Martin Jansa</name>
<email>martin.jansa@gmail.com</email>
</author>
<published>2019-06-21T09:02:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=4b65e63681250c0a94f74f0e37669b944bb42383'/>
<id>urn:sha1:4b65e63681250c0a94f74f0e37669b944bb42383</id>
<content type='text'>
* since
  commit b071a1a209556158bcfcc20e3c8bd4b15373767c
  Author: Changqing Li &lt;changqing.li@windriver.com&gt;
  Date:   Tue Jun 18 15:46:56 2019 +0800

    gcc-runtime: fix C++ header mapping for n32/x32 tune

  gcc-runtime.do_install is failing with:

  ln: failed to create symbolic link 'work/aarch64-oemllib32-linux-gnueabi/lib32-gcc-runtime/9.1.0-r0/image/usr/include/c++/9.1.0/arm-oe-linux-gnueabi/bits': No such file or directory
  WARNING: exit code 1 from a shell command.
  ERROR: Function failed: do_install (log file is located at work/aarch64-oemllib32-linux-gnueabi/lib32-gcc-runtime/9.1.0-r0/temp/log.do_install.31049)

  There is only empty directory without the -gnueabi suffix:
  work/aarch64-oemllib32-linux-gnueabi/lib32-gcc-runtime/9.1.0-r0/image/usr/include/c++/9.1.0/arm-oe-linux/

  and

  work/aarch64-oemllib32-linux-gnueabi/lib32-gcc-runtime/9.1.0-r0/image/usr/include/c++/9.1.0/arm-oemllib32-linux-gnueabi/
  bits  ext

* make sure to create correct directory (with -${TARGET_OS suffix instead of -linux suffix)
  before creating the symlinks in it

(From OE-Core rev: 41cbf5dc203ba74b06cb4890e1022f3f02fbd6fd)

Signed-off-by: Martin Jansa &lt;Martin.Jansa@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>gcc-runtime: fix C++ header mapping for n32/x32 tune</title>
<updated>2019-06-19T11:46:44+00:00</updated>
<author>
<name>Changqing Li</name>
<email>changqing.li@windriver.com</email>
</author>
<published>2019-06-18T07:46:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=63371ee4ecf1b2f873047a09a1e1264b288eab8b'/>
<id>urn:sha1:63371ee4ecf1b2f873047a09a1e1264b288eab8b</id>
<content type='text'>
The SDK was unable to find the C++ header pieces correctly since it's
using a generic compiler, not one specifically targeting the multilib
vendor prefix and default tune.  This adds the right mapping to ensure
SDKs work as expected. And fix problem in below configurations:

multilib configuration 1:
MACHINE="qemumips64"
MULTILIBS ?= "multilib:lib32 multilib:libn32"
DEFAULTTUNE_virtclass-multilib-lib32 ?= "mips"
DEFAULTTUNE_virtclass-multilib-libn32 ?= "mips64-n32"
MULTILIB_GLOBAL_VARIANTS_append = " libn32"
require conf/multilib.conf

ignoring nonexistent directory "&lt;path&gt;/sysroots/mips64-poky-linux/usr/include/c++/8.2.0/mips64-poky-linux/32

multilib configuration 2:
MACHINE="qemumips64"
MULTILIBS = 'multilib:lib64 multilib:lib32'
DEFAULTTUNE = 'mips64-n32'
DEFAULTTUNE_virtclass-multilib-lib64 = 'mips64'
DEFAULTTUNE_virtclass-multilib-lib32 = 'mips32r2'
require conf/multilib.conf

For this configuration:
for target gcc-runtime, need to create symlink like mips64-poly-linux --&gt; mips64-poky-linux-gnu32
for target lib64-gcc-runtime, need to create symlink like mips64-poly-linux/32 --&gt; mips64-pokymllib64-linux
in order to avoid conflict during populate_sdk, create symlink for subfoler bits/ext for target gcc-runtime,
this is ugly, but seems no better way to cover all kinds of configuration.

single lib configuration:
MACHINE="qemumips64"
DEFAULTTUNE = "mips64-n32"

(From OE-Core rev: b071a1a209556158bcfcc20e3c8bd4b15373767c)

Signed-off-by: Changqing Li &lt;changqing.li@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>gcc-runtime: Add --cache-file to EXTRA_OECONF</title>
<updated>2019-01-24T17:45:25+00:00</updated>
<author>
<name>Robert Yang</name>
<email>liezhi.yang@windriver.com</email>
</author>
<published>2019-01-24T07:00:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=4ed543ef714da9a4f1766b44b5d872ada9345d0f'/>
<id>urn:sha1:4ed543ef714da9a4f1766b44b5d872ada9345d0f</id>
<content type='text'>
This can save configure time since it runs configure multiple times:
$ time bitbake gcc-runtime -cconfigure
  60s -&gt; 54s

  Saved 6s

(From OE-Core rev: 48cc7179ffeb89adf1ba5212338b958684e43962)

Signed-off-by: Robert Yang &lt;liezhi.yang@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
