<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/meta/recipes-devtools/gcc/gcc-cross-canadian.inc, branch uninative-2.6</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=uninative-2.6</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=uninative-2.6'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2019-04-12T12:40:21+00:00</updated>
<entry>
<title>gcc-cross-canadian: Make baremetal specific code generic</title>
<updated>2019-04-12T12:40:21+00:00</updated>
<author>
<name>Khem Raj</name>
<email>raj.khem@gmail.com</email>
</author>
<published>2019-04-11T22:11:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=ec8a40e231ce67bb5502b309afeac2a4fda34fd6'/>
<id>urn:sha1:ec8a40e231ce67bb5502b309afeac2a4fda34fd6</id>
<content type='text'>
baremetal override is not valid for cross-canadian anymore
therefore use the TARGET_OS overrides

Fixes
e.g. https://github.com/riscv/meta-riscv/issues/117

(From OE-Core rev: 1bc122a044de280d17525c8e5ee66e81775a7d8b)

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>recipes: Drop virtual/libc-for-gcc</title>
<updated>2018-12-26T11:19:54+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2018-12-19T22:29:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=1867965acd5291725069346eda9b239e60af2694'/>
<id>urn:sha1:1867965acd5291725069346eda9b239e60af2694</id>
<content type='text'>
We no longer have special "libc" for gcc so we can rely on plain
virtual/libc and reduce the complexity in the dependencies.

(From OE-Core rev: 122217b421f749b5fef52bea44ad6e04bc8f8d3a)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>gcc: Drop gcc-cross-initial and use gcc-cross instead</title>
<updated>2018-12-26T11:19:54+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2018-12-19T00:09:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=0afd3ac3ada35dd986aaf3be41d7177dc6b71ade'/>
<id>urn:sha1:0afd3ac3ada35dd986aaf3be41d7177dc6b71ade</id>
<content type='text'>
We need a libgcc to build glibc. Tranditionally we therefore build
a non-threaded and non-shared compiler (gcc-cross-initial), then use
that to build libgcc-initial which is used to build glibc which we can
then build gcc-cross and libgcc against.

Firstly, we can drop the glibc dependency from gcc-cross, *if* we make
two changes:

a) specify the minimum glibc version to support in a configure option
b) create a dummy limits.h file so that later when glibc creates one,
   the headers structure has support for it. We can do this with a simple
   empty file

Once gcc-cross is libc independent, we can use it to build both
libgcc-initial and then later libgcc.

libgcc-initial is tricky as we need to imitate the non-threaded and
non-shared case. We can do that by hacking the threading mode back to
"single" even if gcc reports "posix" and disable libc presence for the
libgcc-intial build. We have to create the dummy limits.h to avoid
compiler errors from a missing header.

glibc will fail to link with libgcc-initial due to a missing "exception
handler" capable libgcc (libgcc_eh.a). Since we know glibc doesn't need
any exception handler, we can safely symlink to libgcc.a.

With those changes, gcc-cross can be used in all places and we only need
one build of gcc for each architecture.

For some reason ifunc was being disabled on mips prior to these changes
but afterwards became enabled but caused assertion failures. This is
therefore disabled until we can debug that.

(From OE-Core rev: 62b7308b8c4d2b439a15a4f7cbc6f823077bb0be)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>gcc: Remove unnecessary --with-mpfr and --with-mpc when cross compiling</title>
<updated>2018-10-09T18:04:02+00:00</updated>
<author>
<name>Mike Crowe</name>
<email>mac@mcrowe.com</email>
</author>
<published>2018-10-05T13:49:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=bbf3a2ab515abd1b8784d0666ed5d9457d09e3b4'/>
<id>urn:sha1:bbf3a2ab515abd1b8784d0666ed5d9457d09e3b4</id>
<content type='text'>
Passing --with-mpfr and --with-mpc when compiling the cross compiler
appears to be at best unnecessary, and at worst can cause build failures.

Firstly, the paths passed in gcc-cross-canadian are using the undefined
${layout_exec_prefix}. This results in configure passing
-I${STAGING_DIR_HOST}/include twice to the compiler when it's doing its
test builds. This is mostly pointless since that directory doesn't exist
with the default oe-core configuration - the correct path would be
-I${STAGING_DIR_HOST}/usr/include.

The path for mpfr passed in gcc-cross is correct, but unnecessary since it
is just the sysroot default.

I've gone back through the history, and it seems that these lines (or
similar ones) were originally added way back in
8800d8be25295dd7c7d84dde62c3be4df8e43346 for GCC 4.1.1 in 2006! I asked[1]
if anyone knew why this was necessary but received no response, so I can
only assume that no-one knows.

I've successfully built for various targets with this patch applied and
observed no problems.

[1] http://lists.openembedded.org/pipermail/openembedded-core/2018-September/155971.html

(From OE-Core rev: 2f9f02d5fda9884ccf9ae22ceb00d59b99036a49)

Signed-off-by: Mike Crowe &lt;mac@mcrowe.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>gcc: Add missing flex-native dependency</title>
<updated>2018-01-13T10:15:19+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2018-01-11T16:49:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=97b52bb597415e71d7009fbb3eec6913ac542b77'/>
<id>urn:sha1:97b52bb597415e71d7009fbb3eec6913ac542b77</id>
<content type='text'>
This is needed for all stages of the cross/target/canadian compilers
and without it (and with indirect gcc dependencies disabled), the steps
fail. Add missing dependencies.

(From OE-Core rev: e7be4aedd4f1e23c596a8cae0437bc5c187787e5)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>gcc: Add recipes for gcc-7</title>
<updated>2017-06-14T09:23:27+00:00</updated>
<author>
<name>Khem Raj</name>
<email>raj.khem@gmail.com</email>
</author>
<published>2017-04-15T01:10:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=70f1fd06439fc0d340639cfe1e90ba8f4d9298fa'/>
<id>urn:sha1:70f1fd06439fc0d340639cfe1e90ba8f4d9298fa</id>
<content type='text'>
Switch default compiler to gcc 7

(From OE-Core rev: 03bb12008891cf1a023aaddb6547da6d41d0cab0)

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-canadian: Use ${target_includedir} for compatibility with meta-micro</title>
<updated>2017-06-14T09:18:30+00:00</updated>
<author>
<name>Mike Crowe</name>
<email>mac@mcrowe.com</email>
</author>
<published>2017-05-16T12:40:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=6e43be47d0eca11a8e6c03e517f57845cb2b80cc'/>
<id>urn:sha1:6e43be47d0eca11a8e6c03e517f57845cb2b80cc</id>
<content type='text'>
meta-micro puts headers in /include rather than /usr/include in the
sysroot. ${target_includedir} means that the correct path will be used
automatically.

(From OE-Core rev: 12abcc3791592035d99064262eb3d229fa5ef88c)

Signed-off-by: Mike Crowe &lt;mac@mcrowe.com&gt;
Acked-by: Phil Blundell &lt;pb@pbcl.net&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>gcc-cross-canadian: Add missing DEPENDS on virtual/${HOST_PREFIX}gcc-crosssdk</title>
<updated>2016-01-26T18:05:13+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2016-01-25T15:06:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=c2231ded4b23c98aedf6512db3018f97e6f7eb83'/>
<id>urn:sha1:c2231ded4b23c98aedf6512db3018f97e6f7eb83</id>
<content type='text'>
The cross-canadian compiler needs the nativesdk compiler to build
but for some reason this was missing. Add the missing dependency.

(From OE-Core rev: 77fcdfdc83f01f1ff0ae310ebb7bffbdb4330156)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>meta: Drop now pointless manual -dbg packaging</title>
<updated>2015-12-16T11:56:30+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2015-12-15T15:40:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=e0890b662e590d18a4eb7229b469f0078f97b1e7'/>
<id>urn:sha1:e0890b662e590d18a4eb7229b469f0078f97b1e7</id>
<content type='text'>
With the autodebug package generation logic, specifically setting FILES_${PN}-dbg
isn't needed in most cases, we can remove them.

(From OE-Core rev: 3ab59d49dd7c18e194b58d1248b4b87709b5a738)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>gcc-cross-canadian.inc: overrides for libc-baremetal</title>
<updated>2015-08-30T11:35:51+00:00</updated>
<author>
<name>Juro Bystricky</name>
<email>juro.bystricky@intel.com</email>
</author>
<published>2015-08-22T16:55:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=260aa5203dc6f98001b3725b28eb1f29919f71fd'/>
<id>urn:sha1:260aa5203dc6f98001b3725b28eb1f29919f71fd</id>
<content type='text'>
Modify configure arguments (EXTRA_OECONF) to support build for
TCLIBC="baremetal"

(From OE-Core rev: 87e81e469fd941fa1b41ded3e02644695cafd2dc)

(From OE-Core rev: 1a79426dabf9237fa2cdd5908ff370bf1d9fa2df)

Signed-off-by: Juro Bystricky &lt;juro.bystricky@intel.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>
</feed>
