<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/meta/recipes-devtools/gcc/gcc-cross-canadian.inc, branch 5.0_M2</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=5.0_M2</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=5.0_M2'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2023-05-02T09:24:50+00:00</updated>
<entry>
<title>gcc/go: Drop crosssdk suffix from virtual provides to improve dependency handling</title>
<updated>2023-05-02T09:24:50+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2023-05-01T11:01:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=768c89e306d0486acf8bc76cecef90436f6551b3'/>
<id>urn:sha1:768c89e306d0486acf8bc76cecef90436f6551b3</id>
<content type='text'>
There is little point in having "crosssdk" suffex added to the virtual provider within
gcc/go since the TARGET_PREFIX or SDK_PREFIX already encapsulates this. Remove it
allowing some of the special case overriding to be removed.

This also allows removal of some of the MLPREFIX usage since again, the triplet
also covers this.

(From OE-Core rev: fe0206ba482d209b24e636d578aa68ba5e67ba1b)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>binutils: Drop crosssdk suffix from virtual provides to improve dependency handling</title>
<updated>2023-05-02T09:24:50+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2023-03-08T15:49:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=9a20fbe23f63d87e30b0291ae1dba863c0f5de31'/>
<id>urn:sha1:9a20fbe23f63d87e30b0291ae1dba863c0f5de31</id>
<content type='text'>
There is little point in having "crosssdk" suffex added to the virtual provider within
binutils since the TARGET_PREFIX or SDK_PREFIX already encapsulates this. Remove it
allowing some of the special case overriding to be removed.

(From OE-Core rev: 6856fc5c848cc2564bebe03a007ef109f46d0adb)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>gcc-cross-canadian: add default plugin linker</title>
<updated>2022-09-17T06:47:07+00:00</updated>
<author>
<name>Samuli Piippo</name>
<email>samuli.piippo@gmail.com</email>
</author>
<published>2022-09-16T07:41:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=09ae62b662724c58c64b305bac05ed9302ce9d79'/>
<id>urn:sha1:09ae62b662724c58c64b305bac05ed9302ce9d79</id>
<content type='text'>
Fix multilib sdk issue where gcc is unable to find linker. Previous
fix was in cdd86896c8d29135f937968e9aa07f919cf543d3 using real-ld
symlink, but that prevented switching between bfd and gold linkers.

Running compiler with debug arguments shows that collect2 tries and
fails to find linker using the multilib triples:

  $ $CC -v -Wl,-debug
  ...
  Looking for 'real-ld'
  Looking for 'collect-ld'
  Looking for 'mips-oemllib32-linux-ld'
  Looking for 'mips-oe-linux-mips-oemllib32-linux-ld'
  ...
  collect2 version 12.2.0
  ld_file_name        = not found
  ...
  collect2: fatal error: cannot find ‘ld’

Using --with-plugin-ld=ld in gcc-cross-canadian builds to set default
linker name for collect2, lets it find the linker correctly:

  Looking for 'real-ld'
  Looking for 'collect-ld'
  Looking for 'ld'
  ...
  collect2 version 12.2.0
  ld_file_name        = /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/libexec/mips-oe-linux/gcc/mips-oe-linux/12.2.0/ld

Swith between bfd and gold linker works as expected now:

  $ $CC -v -Wl,-debug -fuse-ld=gold
  ...
  Looking for 'real-ld'
  Looking for 'collect-ld'
  Looking for 'ld.gold'
  ...
  collect2 version 12.2.0
  ld_file_name        = /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/libexec/i686-oe-linux/gcc/i686-oe-linux/12.2.0/ld.gold

(From OE-Core rev: cf1bb16b7f9f81514feaf1e4ecffd9039387bb89)

Signed-off-by: Samuli Piippo &lt;samuli.piippo@qt.io&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Revert "gcc-cross-canadian: Add symlink to real-ld alongside other symlinks"</title>
<updated>2022-09-17T06:47:07+00:00</updated>
<author>
<name>Samuli Piippo</name>
<email>samuli.piippo@gmail.com</email>
</author>
<published>2022-09-16T07:41:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=971cb0c9af502d568f9f050248c372c3b684d2d6'/>
<id>urn:sha1:971cb0c9af502d568f9f050248c372c3b684d2d6</id>
<content type='text'>
This reverts commit cdd86896c8d29135f937968e9aa07f919cf543d3.

real-ld is always used if that is found, which means you cannot
switch between bfd and gold linkers using -fuse-ld gcc option.

(From OE-Core rev: 53ae417c63a4a7ff4a729d3653a31cf1c0758f10)

Signed-off-by: Samuli Piippo &lt;samuli.piippo@qt.io&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>gcc-cross-canadian: Add nativesdk-zstd dependency</title>
<updated>2022-06-04T10:28:23+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2022-06-02T09:38:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=48bb4f6628e5419e54e18c8204961633dbad265b'/>
<id>urn:sha1:48bb4f6628e5419e54e18c8204961633dbad265b</id>
<content type='text'>
To match the changes to gcc-cross, add a nativesdk-zstd dependency to ensure
our configurations match.

(From OE-Core rev: c145e00710fe557b5a3832fdc556ad53434b3615)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>gcc-cross-canadian: Fix cross canadian compiler for baremetal targets</title>
<updated>2022-01-12T07:19:35+00:00</updated>
<author>
<name>Alejandro Hernandez Samaniego</name>
<email>alejandro@enedino.org</email>
</author>
<published>2022-01-11T02:50:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=d4b186c2cfe62ba92850093fb165000c9f933202'/>
<id>urn:sha1:d4b186c2cfe62ba92850093fb165000c9f933202</id>
<content type='text'>
While building GCC it checks whether the include directory exists,
if it doesnt it throws an error and exits:

| The directory that should contain system headers does not exist:
| tmp/work/x86_64-nativesdk-pokysdk-linux/gcc-cross-canadian-riscv32/
    11.2.0-r0/recipe-sysroot/usr/include/
| make[1]: *** [Makefile:3257: stmp-fixinc] Error 1

Even though for the baremetal toolchain not having this directory
does make sense.

We overcame this by removing the --with-sysroot=/not/exist argument
for baremetal toolchains (via TARGET_OS override), however, the
newlib toolchain does have headers and an includedir, hence by fixing
the baremetal toolchain we broke the newlib one since it uses the same
TARGET_OS as baremetal, causing for example (on newlib):

/sdk/sysroots/x86_64-pokysdk-linux/usr/lib/riscv32-poky-elf/gcc/
    riscv32-poky-elf/11.2.0/include/stdint.h:9:16:
fatal error: stdint.h: No such file or directory

| # include_next &lt;stdint.h&gt;
                 ^~~~~~~~~~
compilation terminated.

By creating a dummy includedir, and removing the previous fix we
allow GCC to be built the same way, unifying the cross compiler
for all targets.

After this fix both TCLIBC=baremetal and TCLIBC=newlib SDKs work
properly.

(From OE-Core rev: 08ff7c87efdf373f1874fcccd9a2a73fc0efef30)

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>meta: convert nested overrides leftovers to new syntax</title>
<updated>2021-08-04T19:45:41+00:00</updated>
<author>
<name>Denys Dmytriyenko</name>
<email>denis@denix.org</email>
</author>
<published>2021-08-04T01:28:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=fdf57744b49501301163e9ac87045ad504e2c4f1'/>
<id>urn:sha1:fdf57744b49501301163e9ac87045ad504e2c4f1</id>
<content type='text'>
Those were missed in previous rounds of automated and manual conversion.

(From OE-Core rev: 22f9c7268b542baf6cd8aa0e34c8fb7aa1579e08)

Signed-off-by: Denys Dmytriyenko &lt;denis@denix.org&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>gcc-cross-canadian: add symlinks for ld.bfd and ld.gold</title>
<updated>2021-05-25T09:05:18+00:00</updated>
<author>
<name>Samuli Piippo</name>
<email>samuli.piippo@gmail.com</email>
</author>
<published>2021-05-21T14:33:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=e7cc8ac2d3e308511d2a10ef5ecd93cab0da6532'/>
<id>urn:sha1:e7cc8ac2d3e308511d2a10ef5ecd93cab0da6532</id>
<content type='text'>
When -fuse-ld gcc option is used, missing ld.bfd or ld.gold symlinks
can lead to linker error:

collect2: fatal error: cannot find 'ld'

(From OE-Core rev: 9ec1cd0a1e4cc2740be37585231279adf91c47d7)

Signed-off-by: Samuli Piippo &lt;samuli.piippo@qt.io&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>gcc-cross-canadian: Install LTO linker plugin to BFD searchable location</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:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=8cf9b6529e695401bba7e8dbd7b151e0cae743d2'/>
<id>urn:sha1:8cf9b6529e695401bba7e8dbd7b151e0cae743d2</id>
<content type='text'>
This helps binutils provided tools ar/ranlib/nm to find the LTO linker
plugin automatically as well which makes it equivalent to gcc-ar/gcc-nm/gcc-ranlib

(From OE-Core rev: 7d8d0b90bea7ea01e1e9ab0ff98f22431f68a506)

Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
