<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/meta/recipes-devtools/gcc/gcc-cross.inc, branch 5.2_M3</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=5.2_M3</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=5.2_M3'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2025-01-21T23:09:34+00:00</updated>
<entry>
<title>base: Switch virtual/cross-XXX to be under recipe specific providers</title>
<updated>2025-01-21T23:09:34+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2025-01-13T17:55:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=6b1e65b7d6ce163b9cd9515e915074248b718979'/>
<id>urn:sha1:6b1e65b7d6ce163b9cd9515e915074248b718979</id>
<content type='text'>
Currently, providers are set on a global config basis. This change allows
for a select set of providers to be configured using BB_RECIPE_VIRTUAL_PROVIDERS
on a per recipe basis. This would allow for the selection of virtual/cross-cc
as gcc or clang for example.

The PROVIDERS are removed from the recipes so that if a version of the
dependency accidentally slips through, the build will fail and the user
can correct the issue.

(From OE-Core rev: 6eeab1a5d7f23917b94c130e417d59afb757b546)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>classes/recipes: Switch virtual/XXX-gcc to virtual/cross-cc (and c++/binutils)</title>
<updated>2025-01-21T23:09:33+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2025-01-10T14:45:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=90e0a0f7f4536e1aeb311ab2b061be71b4129e4e'/>
<id>urn:sha1:90e0a0f7f4536e1aeb311ab2b061be71b4129e4e</id>
<content type='text'>
The idea of the base class dependency is to say "yes, I need a C cross compiler"
and this was never meant to be gcc specific. Looking at the codebase, whilst we
code triplets into this, it does overcomplicate things as there are only ever
limited, "target", "sdk" and the class extended versions like mutlilib.

After much thought, we can simplify this to virtual/cross-cc and virtual/nativesdk-cross-cc.

This lets us remove the "gcc" specific element as well as removing the over
complicated triplet usage.

At the same time, change the much less widely used "g++" variant to "c++" for
similar reasons and remove the triplet from virtual/XXX-binutils too.

Backwards compatibility mappings could be left but are just going to confuse
things in future so we'll just require users to update.

This simplification, whilst disruptive for any toolchain focused layers, will
make improved toolchain selection in the future much easier.

Since we no longer have overlapping variables, some code for that can just
be removed. The class extension code does need to start remapping some variables
but not the crosssdk target recipe names.

This patch is in two pieces, this one handles the renaming with the functional
changes separate in a second for easier review even if this breaks bisection.

(From OE-Core rev: 4ccc3bc8266c327bcc18c9a3faf7536210dfb9f0)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>gcc: unify cleanup of include-fixed, apply to cross-canadian</title>
<updated>2024-08-03T06:56:10+00:00</updated>
<author>
<name>Denys Dmytriyenko</name>
<email>denys@konsulko.com</email>
</author>
<published>2024-07-22T05:34:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=af2b1221e8f7d2287c7039c8d6e83c04d85cac2d'/>
<id>urn:sha1:af2b1221e8f7d2287c7039c8d6e83c04d85cac2d</id>
<content type='text'>
Since target and cross variants were already doing similar cleanup
of include-fixed headers, as those aren't used, unify the code and
also apply the same to cross-canadian variant.

Some of those header files get processed with a tool that leaves
absolute buildpaths inside the file's commented section, causing
QA errors. Since those aren't used, let's remove them.

This may be a temporary solution until the tool itself gets fixed
to not embed absolute buildpaths in the header files:
https://lists.openembedded.org/g/openembedded-core/topic/107268307

(From OE-Core rev: 9221e4ab8cca4c06dc3d5c1de2fd4ce46477578a)

Signed-off-by: Denys Dmytriyenko &lt;denys@konsulko.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>gcc: remove paths to sysroot from configargs.h and checksum-options for gcc-cross-canadian</title>
<updated>2024-08-03T06:56:10+00:00</updated>
<author>
<name>Oleksandr Hnatiuk</name>
<email>ohnatiuk@cisco.com</email>
</author>
<published>2024-07-22T05:34:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=f1ad5be4337c5d45c0f1bed48184336e9ab1fad8'/>
<id>urn:sha1:f1ad5be4337c5d45c0f1bed48184336e9ab1fad8</id>
<content type='text'>
Apply fixes from gcc-cross (84a78f46d594 and 0ead8cbdfb96) to gcc-cross-canadian.
This will improve (but not fix) reproducibility of gcc-cross-canadian.
Also move this code to functions to avoid code duplication.

[RP: Tweak patch to make the function parameters clear and fix quoting issues
ensuring the code exactly matches the original replacements with an additional
parameter.]

(From OE-Core rev: 350ff7d53f7506de2bc01f0efc569b8294b9afea)

Signed-off-by: Oleksandr Hnatiuk &lt;ohnatiuk@cisco.com&gt;
Signed-off-by: Denys Dmytriyenko &lt;denys@konsulko.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>tclibc-picolibc: Adds a new TCLIBC variant to build with picolibc as C library</title>
<updated>2024-07-26T11:28:42+00:00</updated>
<author>
<name>Alejandro Hernandez Samaniego</name>
<email>alejandro@enedino.org</email>
</author>
<published>2024-06-18T18:12:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=09b49a35e1cd68f2e7aac35c8094adfc3ca38685'/>
<id>urn:sha1:09b49a35e1cd68f2e7aac35c8094adfc3ca38685</id>
<content type='text'>
Enables usage of TCLIBC=picolibc extending OE functionality to build and use
picolibc based toolchains to build baremetal applications.

Picolibc is a set of standard C libraries, both libc and libm, designed for
smaller embedded systems with limited ROM and RAM. Picolibc includes code
from Newlib and AVR Libc, but adresses some of newlibs concerns, it retains
newlibs directory structure, math, string and locale implementations, but
removed the GPL bits used to build the library, swiches old C style code for
C18 and replaces autotools with meson.

This patch adds a picolibc recipe for the C library, a picolibc-helloworld
recipe that contains an example application and a testcase that builds it.

Picolibc can be built for ARM and RISCV architectures, its been tested both
for 32 and 64 bits, the provided example recipe produces the following output:

hello, world

Runqemu does not automatically show any output since it hides QEMU stderr which
is where the QEMU monitors output is directed to when using semihosting, but,
manually running the same QEMU command does work properly.

(From OE-Core rev: c7535ecaccb72ef21a61f9aec5c68e61fb4f6fb6)

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: Allow using libc++</title>
<updated>2024-06-12T15:57:19+00:00</updated>
<author>
<name>Dan McGregor</name>
<email>danismostlikely@gmail.com</email>
</author>
<published>2024-03-28T15:43:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=b67fced09debcd4bf9bd12dc8475972e495b9c0d'/>
<id>urn:sha1:b67fced09debcd4bf9bd12dc8475972e495b9c0d</id>
<content type='text'>
With the addition of the C++ runtime setting added recently, allow
gcc to use libc++ as its runtime. There's some minor fixes still
required, such as allowing setting the unwinder library. But this
allows for testing libc++ with gcc.

(From OE-Core rev: f84ae97e2bc081c972e78ee4a958f21111dbbfb6)

Signed-off-by: Daniel McGregor &lt;daniel.mcgregor@vecima.com&gt;
Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@bootlin.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>gcc-cross: Fix relative links</title>
<updated>2022-08-17T18:57:32+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2022-07-21T14:27:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=abbbc8712937fdda93df04b460f8f9e8277f8c21'/>
<id>urn:sha1:abbbc8712937fdda93df04b460f8f9e8277f8c21</id>
<content type='text'>
Now that we're using absolute paths to run configure, there are absolute
path symlinks within gcc's output. Use our script that fixes these so
that the sstate objects work correctly.

(From OE-Core rev: 78f0bb21ae4337fdf628b2436c6182c32ed4fa9d)

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>gcc-cross: Install linker LTO plugin for binutils tools</title>
<updated>2021-04-27T14:11:47+00:00</updated>
<author>
<name>Khem Raj</name>
<email>raj.khem@gmail.com</email>
</author>
<published>2021-04-25T19:08:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=fb21d2e147fb2d02f405ed67d30526e60a7d6857'/>
<id>urn:sha1:fb21d2e147fb2d02f405ed67d30526e60a7d6857</id>
<content type='text'>
This will ensure that ar/ranlib/nm can load the lto linker plugin like
gcc-ar, gcc-nm, gcc-ranlib does, this will let the behaviour match
between gcc wrappers for these tools, this should help LTO builds for
packages

(From OE-Core rev: d6658505089234476c1b35fc08fef1eb4f121e85)

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-cross: make use of the system include directories fatal</title>
<updated>2021-03-10T10:30:39+00:00</updated>
<author>
<name>Ross Burton</name>
<email>ross@burtonini.com</email>
</author>
<published>2021-03-08T18:01:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=fdb9e868f71318c1247ef4e1b895580e66d9faf5'/>
<id>urn:sha1:fdb9e868f71318c1247ef4e1b895580e66d9faf5</id>
<content type='text'>
When building the cross GCC, configure it so that including the host
system include directories is fatal, not just a warning.

(From OE-Core rev: d039d6fbfc9076f081173f6e5cc63c56fe3a5adb)

Signed-off-by: Ross Burton &lt;ross.burton@arm.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
