summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gcc/gcc-sanitizers.inc
Commit message (Collapse)AuthorAgeFilesLines
* gcc: Clean up unnecessary variable confusionRichard Purdie2017-01-261-15/+10
| | | | | | | | | | | | | | SDKPKGSUFFIX could only really be "nativesdk" and TARGET_SYS never contains that so the code manipulating TARGET_SYS is pointless. I suspect this once worked against MULTIMACH_TARGET_SYS which would be a different question but it no longer does. Its been cut and pasted everywhere. This patch cleans up the variable references to make things a little more readable. (From OE-Core rev: 5599cb72d17bce2ba6e2be16ef64d9a388bcfb25) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: Split builddir saving into its own sstate taskRichard Purdie2017-01-261-4/+2
| | | | | | | | | | | | | | | | | | When we stashed the gcc build directory for use in generating the various runtimes we were being lazy and just used the staging directory. With recipe specific sysroots this means we're copying a large chunk of data around with the cross compiler which we don't really need in most cases. Separate out the data into its own task and inject this into the configure step. We have to do that here since autotools will wipe out ${B} if it thinks we're rebuilding and we therefore have to time its recreation after that. This also takes the opportunity to remove some pointless (as far as I can tell) conditionals from the do_install code. (From OE-Core rev: dcf15ccf3cc9d55e77228ba8d526f967fc9791b4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-sanitizers: Depend on target gccJussi Kukkonen2016-04-291-1/+1
| | | | | | | | | | Without this the target gcc might not be in the sysroot leading to configure failure. (From OE-Core rev: 329c532db4b2124fa3f4b3ab8c4c6d6c93ca7c2f) Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: use relative path for configure scriptHongxu Jia2016-02-281-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The absolute path (/path/to/configure) caused __FILE__ to be an absolute path. If 'assert' invoked, it uses __FILE__, and build path would be in elf files. In assert.h ... .# define assert(expr) \ ((expr) \ ? __ASSERT_VOID_CAST (0) \ : __assert_fail (__STRING(expr), __FILE__, __LINE__, __ASSERT_FUNCTION)) ... Which triggered buildpaths QA issue: ... | libgcc-5.3.0: File work/core2-64-poky-linux/libgcc/5.3.0-r0/packages-split/ libgcc-dev/usr/lib64/x86_64-poky-linux/5.3.0/libgcc.a in package contained reference to tmpdir [buildpaths] ... Use relative path to run configure can fix the problem. [YOCTO #7058] (From OE-Core rev: b806e4c004a7e10461fe7428fc130a5aa2528039) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-sanitizers: link directly against sysroot libstc++Ross Burton2016-01-071-7/+2
| | | | | | | | | | | | | | Instead of building a shadow libstdc++-v3 directory with symlinks to the sysroot libstdc++-v3.la, fiddle the Makefiles so that it doesn't attempt to link to a in-tree library at all. This fixes builds where .la files are not being installed into the sysroot at all. (From OE-Core rev: f0f814a674faef2160fb8a041b63169c74da108e) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: more removals of redunant FILES_${PN}-dbgRoss Burton2015-12-161-6/+1
| | | | | | | | | | In some recipes overly-split -dbg packages were merged into PN-dbg. Unless there's a very good reason, recipes should have a single -dev and -dbg package. (From OE-Core rev: a3b000643898d7402b9e57c02e8d10e677cc9722) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-sanitizers: check gcc-build-internal before linkRobert Yang2015-02-151-1/+3
| | | | | | | | | | | | | | | The ${STAGING_INCDIR_NATIVE}/gcc-build-internal-$mtarget may not exist when use the external sdk toolchain, we need check before link for it. Fixed: run.do_configure.12538: 149: cd: can't cd to sysroots/x86_64-linux/usr/include/gcc-build-internal-x86_64-wrs-linux (LOCAL REV: NOT UPSTREAM) -- Sent to oe-core on 20150204 (From OE-Core rev: 82166e514438eb1b562f2a4dc2f9f8fecf3f60df) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-sanitizers: fix licensingDan McGregor2015-01-291-0/+6
| | | | | | | | | | | | | | The sanitizer runtime library is dual-licensed under the NCSA and MIT licenses. Also make nativesdk-gcc-sanitizers use SDKGCCVERSION by default instead of GCCVERSION (From OE-Core rev: 4ed21998827060745d2858e2d6c121baf823e64a) Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-sanitizers: Enable GCC sanitizersDan McGregor2015-01-231-0/+111
AddressSanitizer is a fast memory error detector. ThreadSanitizer detects data races. UBSanitizer detectes undefined behaviour. All consist of compiler instrumentation and a run-time library. The compiler instrumentation was already enabled, this builds the run-time library component. (From OE-Core rev: 1709bf0c3a84bb04bc52e9104ad8e09fba6c6f91) Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>