summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/llvm
Commit message (Collapse)AuthorAgeFilesLines
* llvm: sort the lists in generated source reproducibiblyAlexander Kanavin2020-12-182-1/+33
| | | | | | | | | | (From OE-Core rev: da485fc44fb10aede3298dc149d16cbce91d55ae) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit e2e230bd7ad73a57bfb6808a3c537f74f35e2378) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: fix reproducibilityAlexander Kanavin2020-12-181-0/+5
| | | | | | | | | | (From OE-Core rev: 18004b4c1b2d595d081888437f6f9cbcb02bf746) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit a467c0a03d077861c37e317dcb2905b6388cb64c) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipes: Use -fcommon explicitlyKhem Raj2019-12-301-0/+2
| | | | | | | | | This is needed with gcc 10 (From OE-Core rev: 312e9fe3f047547df4c21c8e666cc9aa70e15347) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Upgrade to 9.0.1 releaseKhem Raj2019-12-301-2/+2
| | | | | | | (From OE-Core rev: 8413dede13efa8950b0135e09ae104a38c36649c) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: fix upstream version checkAlexander Kanavin2019-12-301-0/+2
| | | | | | | (From OE-Core rev: 2fa183c59c79b594f68a3a8d6db3e9198b779b13) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: rv32/rv64 target builds are not supported yetKhem Raj2019-12-091-0/+3
| | | | | | | (From OE-Core rev: c1efb1772cfae044969233fe9a394ef163d7bd51) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: add missing Upstream-Status tagsRoss Burton2019-10-232-0/+6
| | | | | | | (From OE-Core rev: 85d9348272c4e6d59977a514338f29fe5156eb2c) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Update to 9.0.0Khem Raj2019-10-153-24/+16
| | | | | | | | | | libOptRemarks has been renamed as libRemarks RISC-V backend is now supported (From OE-Core rev: 7f4870132ece9efa7f1404e2620a2e05055bca12) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: remove -mlongcall from CXXFLAGS for powerpcChangqing Li2019-10-091-2/+0
| | | | | | | | | | | | after gcc upgrade to 9.1.0, with this flags will make below error: collect2: fatal error: ld terminated with signal 11 [Segmentation fault] remove it as workaround, after remove it, powerpc can compile successfully (From OE-Core rev: 487eb18928c26e7781bb86a972369f3594ecdcca) Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: use python 3 during buildsAlexander Kanavin2019-09-011-1/+1
| | | | | | | (From OE-Core rev: 13f9182e7235843290809027b4456ad2fe5e4c40) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* mesa,llvm,meson: Update llvm to 8.0.1 plus define and use LLVM version globallyKhem Raj2019-08-084-134/+59
| | | | | | | | | | | | | | | - Add missing dependency on libedit - Define LLVMVERSION on the same lines as GCCVERSION and other tools - Use LLVMVERSION in mesa and meson.bbclass to get llvm version instead of hardcoding it - Use llvm patches unmodified from meta-clang, helps in keeping them in sync - Define PREFERRED_VERSION for llvm, llvm-native, nativesdk-llvm (From OE-Core rev: 3c08b638348abd543fc92baf56c28ca16ae6aac6) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: fix link error for powerpcChangqing Li2019-04-031-0/+2
| | | | | | | | | | | | | | | fix below link error for powerpc lib/libLLVMSupport.a(CommandLine.cpp.o): in function `llvm::cl::opt_storage<(anonymous namespace): :HelpPrinterWrapper, true, true>::setLocation(llvm::cl::Option&, (anonymous namespace)::HelpPrinterWrapper&) [clone .isra.189]': /usr/src/debug/llvm/8.0-r0/git/llvm/include/llvm/Support/CommandLine.h:1218:(.text.startup+0x5c): relocation truncated to fit: R_PPC_PLTREL24 against symbol `llvm::errs()' defined in .text section in lib/libLLVMSupport.a(raw_ostream.cpp.o)+8000 lib/libLLVMSupport.a(CommandLine.cpp.o): in function `setLocation': (From OE-Core rev: 5302047be6bcdae85a43f9b09778a91dcd03b191) Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: fix more places where '8.0' version of llvm was hardcodedAlexander Kanavin2019-04-011-9/+9
| | | | | | | | | So that it says '8.0.0' to reflect the recent PV change. (From OE-Core rev: 3b4049157a72bcd984f93405a75946a39c045f2d) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: support older toolchainsRoss Burton2019-04-011-0/+1
| | | | | | | | | | | | LLVM is now warning if your host compiler is gcc <5.1, and some of our supported operating systems still only have 4.8.5. Set LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN so those builds continue to work, hopefully we retire the old operating systems before LLVM requires 5.1+. (From OE-Core rev: 0e7d761b1360f603a4cc0de15c67f4e182e5a6a4) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: update from 8.0.0rc2 to 8.0.0 final releaseAlexander Kanavin2019-04-011-6/+2
| | | | | | | | | | Also, update PV to match the version scheme used by upstream to tag releases (e.g. major.minor.patch). (From OE-Core rev: 4405a1793a42aecd7923ab2b18df296ed8c32dc1) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: don't inherit perlnativeRoss Burton2019-03-291-1/+1
| | | | | | | | | This doesn't appear to be required at all. (From OE-Core rev: d8269db061c471d230dfd27e158f1aa5ce188e5a) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: doesn't actually need pythonnativeRoss Burton2019-03-291-1/+2
| | | | | | | | | | | | | | | LLVM doesn't actually need pythonnative, the host Python2 is sufficient but cmake's executable searching currently isn't reliable in cross-compilations. Convince cmake by setting PYTHON_EXECUTABLE to point at python2 in the HOSTTOOLS directory. Note that currently LLVM *needs* python2 currently: https://github.com/llvm-mirror/llvm/blob/master/CMakeLists.txt#L670 (From OE-Core rev: 1587475e45edc995b7643844594abc94160a5549) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Enable RTTI support in preparation for new mesaOtavio Salvador2019-03-251-0/+1
| | | | | | | | | | | | | | The mesa 19.0.0 release requires RTTI to allow the build of Nouveau driver, which is enabled by default when building for x86 and x86-64 target. This commit enables RTTI support so it prepares the toolchain for the upcoming change. (From OE-Core rev: 8e24164606185e1d8b8eb293a30bb22760218f06) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: switch to the official git repositoryAlexander Kanavin2019-02-251-5/+9
| | | | | | | | | | | | | | | | | | | | Until now an unoffcial mirror was used, which may or may not be maintained in the longer run, as the need for it has gone. Also, the official mirror has version tags which allows us to track upstream development in an automated manner. ${S} has changed as upstream decided to use a monorepo for all of the llvm-related projects. Further info: https://www.phoronix.com/scan.php?page=news_item&px=LLVM-GitHub-Mono-Repo https://llvm.org/docs/GettingStarted.html#checkout-llvm-from-git (From OE-Core rev: 18f565f3ca18c281b4a99721fcfcbcc5405d6346) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm,mesa: Upgrade to upcoming 8.0.0 releaseKhem Raj2019-02-053-76/+104
| | | | | | | | | | | | | | License-Update: Copyright year updates from 2017-2019 Refresh patches to apply on new version mesa move dep to the llvm release to 8.0 Needs to happen along with llvm upgrade always (From OE-Core rev: 96631d53becca8408758b405adc670ad7e2ea2f3) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: Fix Deprecated warnings from regexsRichard Purdie2019-01-161-10/+10
| | | | | | | | | | | | | | | | | | | | Fix handling of escape characters in regexs and hence fix python Deprecation warnings which will be problematic in python 3.8. Note that some show up as: """ meta/classes/package.bbclass:1293: DeprecationWarning: invalid escape sequence \.   """ where the problem isn't on 1293 in package.bbclass but in some _prepend to a package.bbclass function in a different file like mesa.inc, often from do_package_split() calls. (From OE-Core rev: 4b1c0c7d5525fc4cea9e0f02ec54e92a6fbc6199) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Enable AMDGPU backend for native/native-sdk builds tooKhem Raj2018-08-211-3/+1
| | | | | | | (From OE-Core rev: 0053740c01f3ae49292a03686f2a6bad298d3af9) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Use HOST_ARCH in LLVM_TARGETS_TO_BUILD for buildsKhem Raj2018-08-211-5/+6
| | | | | | | | | | | LLVM_TARGETS_TO_BUILD is needed to represent HOST_ARCH for builds and target specific additions should use class-target override (From OE-Core rev: 5e6e08512e130951e66376ea43e4e6a98941b950) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Use YOCTO_ALTERNATE_MULTILIB_NAME environment variable in llvm-configKhem Raj2018-08-201-7/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | llvm-config is a tool on similar veins as pkg-config but provides a lot more information and packages which use llvm e.g. mesa use this tool to poke for llvm related informaiton e.g. version, libpath, includepaths to name a few, this has few challanges in cross build environments where llvm-config is supposed to be build for buildhost but provide information about target llvm which is addressed by building native llvm-config along with target llvm build, but this is frowned upon by OE build system since it detects that host paths are being used so we have to build it as part of llvm-native but then it means install paths for llvm and llvm-native are different and wrong paths get reported when llvm-config is used. This is solved by providing YOCTO_ALTERNATE_EXE_PATH variable to let llvm-config use that path instead of self-relative path to report back Second problem is when building multi-lib packages base_libdir is different for target packages but native llvm-config does not know about it so it reports non-multilibbed paths as libdir and packages can not find llvm in sysroot. This is fixed by adding another environment variable YOCTO_ALTERNATE_MULTILIB_NAME which can be set from recipes to set proper multilib path (From OE-Core rev: 865eb1c1400e60d09c8f413504123fdfc116a71b) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Point llvm-config to one built with llvm-nativeKhem Raj2018-08-201-1/+3
| | | | | | | | | | | | | | | | If not defined, llvm build system tries to build one which then confuses the OE QA system since its building native tool and target packages in same package build moreover it is not required since we already have it via llvm-native Fixes ERROR: llvm-6.0-r0 do_package_qa: QA Issue: llvm: The compile log indicates that host include and/or library paths were used. (From OE-Core rev: 7153a17166d9a94fd0ddc36d597a0140979d58ff) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Update to 6.0.1Khem Raj2018-08-162-44/+2
| | | | | | | | | Drop upstreamed patch (From OE-Core rev: b0783b713e0ad766797d20e0d1f3187effb08a71) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Fix [compile-host-path] QA issueKhem Raj2018-05-042-3/+45
| | | | | | | | | | | | | | | | Its trying to build NATIVE llvm-config which is already built with llvm-native so we do not need to rebuild it Drop setting NINJA_STATUS explicitly, its no longer needed, on the contrary it hinders the task status update (From OE-Core rev: f8393b2b4bc5fbd972be00cb17d0c574ae8deff9) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Upgrade to 6.0 releaseKhem Raj2018-04-053-17/+18
| | | | | | | (From OE-Core rev: 67379117375bcc143f636ccd56e548332b19325f) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-core: take UPSTREAM_CHECK_COMMITS into use where possibleAlexander Kanavin2017-11-301-1/+1
| | | | | | | | | | | This greatly reduces the amount of recipes for which upstream version check fails: from about 30 to about 8. (From OE-Core rev: bb9066670a6096aa4134bebc84132b4eb3964b6d) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Use the SRCREV past final 5.0 releaseKhem Raj2017-11-051-2/+2
| | | | | | | | (From OE-Core rev: affd13de57473ed2e4646b95ef0a58a3951cfe9a) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: drop True option to getVar callsMing Liu2017-09-261-2/+2
| | | | | | | | | Search made with the following regex: getVar ?\((.*), True\). (From OE-Core rev: dbc0eaf478feb3f752ae22fd184984494fc85d0a) Signed-off-by: Ming Liu <liu.ming50@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Swith to ARM ISA on armv5 and armv4tKhem Raj2017-08-171-0/+3
| | | | | | | | | | | | | When Thumb1 is used as default ISA, there are linker issues, therefore always use ARM ISA Fixes relocation truncated to fit: R_ARM_THM_CALL against symbol `__gnu_thumb1_case_uhi' defined in .text section (From OE-Core rev: a0c9d19b46ccefbb90eea5965e11ea21d13242b4) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest: fix distrodata.py to use per-recipe UPSTREAM_VERSION_UNKNOWN settingAlexander Kanavin2017-08-161-0/+1
| | | | | | | | | | | ... instead of a global exception list which was problematic. [YOCTO #11896] (From OE-Core rev: 89dfede4ca795ba085f1ee7290c6dede573c11db) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Keep llvm-native dependency with clang toolchainKhem Raj2017-08-131-2/+0
| | | | | | | | | | | This was needed when we were conflicting with clang-native but this is solved via append PN to binaries of llvm-native (From OE-Core rev: 82ea78bd2f03b6ba4d720595d3a3fbd96e0232f9) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Raise SkipRecipe exception for unsupported architecturesNathan Rossi2017-08-091-2/+1
| | | | | | | | | | | | | | | | | | | | | | When parsing this recipe on an unsupported or non-mappable architecture an error is generated despite no dependencies on the recipe. E.g. ERROR: .../llvm_git.bb: cannot map 'microblazeel' to a supported llvm architecture Instead of generating an error which might confuse users, raise a SkipRecipe exception similar to other arch-style mapping functions (e.g. go_map_arch). This avoids showing the error during parse, and prevents the use of the recipe on unsupported targets. Resulting in an error like so when trying to build llvm: ERROR: Nothing PROVIDES 'llvm' llvm was skipped: Cannot map 'microblazeel' to a supported LLVM architecture (From OE-Core rev: d796abac982f368aa088a291560b565cc47a2c27) Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* mesa, llvm: Use native version of llvm-configKhem Raj2017-08-091-7/+9
| | | | | | | | | | | | We have a variable YOCTO_ALTERNATE_EXE_PATH to point to target sysroot, utilize this in mesa to use native version of llvm-config to report values from target sysroot. (From OE-Core rev: 1c4444f7b2f5cbcaaf6f9d21d7b4f86555ed746a) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Add recipe for 5.0Khem Raj2017-07-313-0/+314
Based on recipe from meta-oe and clang recipe from meta-clang Needed by mesa Fixes [YOCTO #11529] (From OE-Core rev: 8724ef9c53e7804ead9ba0f019369b0e4daada63) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>