<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/meta/recipes-devtools/gcc/gcc-target.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-07T12:03:30+00:00</updated>
<entry>
<title>gcc-target: Ensure buildtools-extended-tarball doesn't use arch=native</title>
<updated>2020-05-07T12:03:30+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2020-04-30T18:47:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=323560d6ae04a2e428e8f036b24732d5b13e77df'/>
<id>urn:sha1:323560d6ae04a2e428e8f036b24732d5b13e77df</id>
<content type='text'>
A nativesdk BBCLASSEXTEND was added to gcc-target without realising this
would pass arch=native through to it for x86-64. This heavily optimises
gcc output for the host its running on meaning it can't be reused via
sstate on other machines.

Add class-target overrides here to get the desired behaviour. All
targets have been covered for completeness.

(From OE-Core rev: 3fff2c9400f2f64cbc8cc450b5ab29505eacbdd1)

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: Configure all gccs with --disable-install-libiberty</title>
<updated>2020-05-07T12:03:30+00:00</updated>
<author>
<name>Khem Raj</name>
<email>raj.khem@gmail.com</email>
</author>
<published>2020-04-15T23:18:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=426be0f2aecb00533d7edde1191c5d33636a730c'/>
<id>urn:sha1:426be0f2aecb00533d7edde1191c5d33636a730c</id>
<content type='text'>
OE uses libiberty from binutils, since its properly compiled as pic
archive and applications and other libraries needing libiberty can
properly link with it.

With this option applied, explicit delete of libiberty headers and
libraries is not required in install step, since they wont get installed
in first place.

(From OE-Core rev: b6f1def25cbb477549fad48e9586cef3ada2f9e5)

Signed-off-by: Khem Raj &lt;raj.khem@gmail.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-target: Use --with-arch=native for target gcc</title>
<updated>2020-03-21T22:39:01+00:00</updated>
<author>
<name>Khem Raj</name>
<email>raj.khem@gmail.com</email>
</author>
<published>2020-03-16T22:20:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=d566448b3d7b2fe3e9743795a2ef4bdc2b4d06a4'/>
<id>urn:sha1:d566448b3d7b2fe3e9743795a2ef4bdc2b4d06a4</id>
<content type='text'>
This should help gcc detect and use target ISA on x86_64 machines when
-march is not used on cmdline

[YOCTO #139]

(From OE-Core rev: f9e410521c92e2458ba7e2ca63d28434618b9f25)

Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
Cc: Ross Burton &lt;ross.burton@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>gcc: don't ship build host information in the target gcc-plugins package</title>
<updated>2020-03-11T13:44:02+00:00</updated>
<author>
<name>Ross Burton</name>
<email>ross.burton@intel.com</email>
</author>
<published>2020-03-10T14:07:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=2e2f1980e082f3b0588da9c9712a21c412a68d0f'/>
<id>urn:sha1:2e2f1980e082f3b0588da9c9712a21c412a68d0f</id>
<content type='text'>
The build host configuration isn't reproducible as it varies depending
on the gcc version of the build host. This information isn't useful on the
target anyway so remove it.

(From OE-Core rev: f9154b2c3eff8434914710ab453e13cf338597ec)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>gcc: Improve build reproduciblity</title>
<updated>2019-12-06T14:41:28+00:00</updated>
<author>
<name>Nathan Rossi</name>
<email>nathan@nathanrossi.com</email>
</author>
<published>2019-11-30T10:47:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=098ef4f019f8fdaba9da08119eddbb12f6cc9b6a'/>
<id>urn:sha1:098ef4f019f8fdaba9da08119eddbb12f6cc9b6a</id>
<content type='text'>
Prevent the gcc embedded checksum from containing a checksum that was
computed with build specific paths. The checksum-options file included
the value of LINKER/LDFLAGS which contains DEBUG_PREFIX_MAP and
STAGING_DIR_TARGET.

(From OE-Core rev: 0ead8cbdfb96c4fcbefd24c6647d0f50599f45b3)

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-target.inc: Prevent sysroot from leaking into configargs.h</title>
<updated>2019-12-06T14:41:28+00:00</updated>
<author>
<name>Nathan Rossi</name>
<email>nathan@nathanrossi.com</email>
</author>
<published>2019-11-30T10:47:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=eb308499c26dc085e39874da4b0634bc20040f8b'/>
<id>urn:sha1:eb308499c26dc085e39874da4b0634bc20040f8b</id>
<content type='text'>
Prevent the full recipe-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 -v'. 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.
This change also improves gcc binary reproducibility. The sysroot path
is replaced with the base target root "/".

(From OE-Core rev: b8d6e2ab68ee5e341fe970b191bfd334e6d2c40b)

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-target: Do not set --with-sysroot and gxx-include-dir paths</title>
<updated>2019-05-08T11:15:17+00:00</updated>
<author>
<name>Khem Raj</name>
<email>raj.khem@gmail.com</email>
</author>
<published>2019-05-06T17:51:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=fd32e1e5e629b616e8300d9f08d7d9c178a8d177'/>
<id>urn:sha1:fd32e1e5e629b616e8300d9f08d7d9c178a8d177</id>
<content type='text'>
These options are not needed on target infact since the defaults would
be good enough for compiler to find the relevant headers and libraries
from compiler runtime

with gcc9 it starts to strip the sysroot from gxx-include-dir which
means it tries to look for gxx headers in localdir

ignoring nonexistent directory "usr/include/c++/9.0.1"
ignoring nonexistent directory "usr/include/c++/9.0.1/arm-yoe-linux-gnueabi"
ignoring nonexistent directory "usr/include/c++/9.0.1/backward"

instead of sysroot

Removing these options make it behave normal

(From OE-Core rev: 2996640fb3577a3c28a22f1e25eae15e8e3d46b1)

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: Select proper ARC CPU when build for target</title>
<updated>2018-11-23T23:35:18+00:00</updated>
<author>
<name>Alexey Brodkin</name>
<email>alexey.brodkin@synopsys.com</email>
</author>
<published>2018-11-22T12:06:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=c4f4c5347c7f1300f30deee11072be09f22aee3d'/>
<id>urn:sha1:c4f4c5347c7f1300f30deee11072be09f22aee3d</id>
<content type='text'>
By default GCC for ARC is configured with ARC700 CPU.
This means when we don't pass "-mcpu=xxx":
 a) Code will be compiled for ARC700
 b) Libs will used for ARC700

And if we happen to run on ARCv2 core like ARC HSxx we
won't be able to use target gcc w/o "-mcpu=xxx" which
is not very convenient as we want to build "target" toolchain
but not canadian-cross.

Note the trick here is we set TUNE_PKGARCH in just 2 values,
it is either "arc700" for all ARCompact cores (ARC750 &amp; ARC770)
and "archs" for all ARCv2 cores (ARC HS38 &amp; HS48), see [1].
This gives us usable defaults.

For cross-compilation we use TUNE_CCARGS for fine-tuning depending
on which HW features we have on the current target so that
we may have HW feature A &amp; B or B &amp; C or A &amp; B &amp; C, see [2].

[1] https://github.com/foss-for-synopsys-dwc-arc-processors/meta-synopsys/blob/master/conf/machine/include/tune-arcv2.inc#L4
[2] https://github.com/foss-for-synopsys-dwc-arc-processors/meta-synopsys/blob/master/conf/machine/include/tune-arcv2.inc#L34

(From OE-Core rev: 6d2e44db7ebada41ad1cfc1c98ce9012242ced11)

Signed-off-by: Alexey Brodkin &lt;abrodkin@synopsys.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>gcc-8: Enable fp arch extention when fpu is available</title>
<updated>2018-06-21T08:34:40+00:00</updated>
<author>
<name>Khem Raj</name>
<email>raj.khem@gmail.com</email>
</author>
<published>2018-06-21T01:26:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=d3139c29e332887d35892a1cbd4f799ed9a62327'/>
<id>urn:sha1:d3139c29e332887d35892a1cbd4f799ed9a62327</id>
<content type='text'>
This is especially needed when defaulting to hard-float ABI
Fixes errors e.g.
cc1: error: -mfloat-abi=hard: selected processor lacks an FPU

Fixes [YOCTO #12795]

(From OE-Core rev: 85981cbbf0ce48a6d82bc39248afa9540ca858d8)

Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
Cc: Ross Burton &lt;ross.burton@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>gcc-target.inc: configure gcc for armv7ve targets to default to armv7ve</title>
<updated>2018-06-18T10:07:58+00:00</updated>
<author>
<name>Andre McCurdy</name>
<email>armccurdy@gmail.com</email>
</author>
<published>2018-06-07T04:34:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=76b414c3cdfd869ea051b0bb26d21a0b73a8b8da'/>
<id>urn:sha1:76b414c3cdfd869ea051b0bb26d21a0b73a8b8da</id>
<content type='text'>
Originally these ARM specific EXTRA_OECONF options were applied to
both gcc for the target and gcc-cross. That lead to a compromise
being made: gcc on the target was configured to default to an ARM
architecture which was at least compatible with the target (but not
necessarily an exact match) and gcc-cross was configured default to
armv7a for both armv7a and armv7ve (to avoid gcc-cross rebuilds when
switching between the two).

However, when these ARM specific EXTRA_OECONF options were moved from
gcc-configure-common.inc into gcc-target.inc (ie they were made to
apply only to gcc on the target) the compromise no longer needed to
be made.

  http://git.openembedded.org/openembedded-core/commit/?id=851937dde81de2a9ef54c5f19a78fb12fb82afd4

(From OE-Core rev: 3c368282741e9de1f96988e127b86a6a01b6a26f)

Signed-off-by: Andre McCurdy &lt;armccurdy@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
