Commit Graph

39 Commits

Author SHA1 Message Date
Alexander Kanavin
826b12792b llvm: sort the lists in generated source reproducibibly
(From OE-Core rev: e2e230bd7ad73a57bfb6808a3c537f74f35e2378)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-12-09 12:20:33 +00:00
Alexander Kanavin
8d8e8708a3 llvm: fix reproducibility
(From OE-Core rev: a467c0a03d077861c37e317dcb2905b6388cb64c)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-12-09 12:20:33 +00:00
Trevor Gamblin
1592cdaf83 llvm: upgrade 9.0.1 -> 10.0.1
(From OE-Core rev: 0e9f286e1c4567e6d3812c0681c168720984b8ce)

Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-07-28 12:39:54 +01:00
Adrian Bunk
b23cc4a8f1 llvm: Remove -fcommon
I cannot reproduce the problem.

(From OE-Core rev: 80cc6e60b98da7c9de9e9da629353cf1fb687197)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-05-14 14:15:11 +01:00
Khem Raj
46827b8616 recipes: Use -fcommon explicitly
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>
2019-12-30 23:39:09 +00:00
Khem Raj
29354c8738 llvm: Upgrade to 9.0.1 release
(From OE-Core rev: 8413dede13efa8950b0135e09ae104a38c36649c)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-30 23:39:09 +00:00
Alexander Kanavin
2191ecf0f7 llvm: fix upstream version check
(From OE-Core rev: 2fa183c59c79b594f68a3a8d6db3e9198b779b13)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-30 08:47:12 +00:00
Khem Raj
bf543a194e llvm: rv32/rv64 target builds are not supported yet
(From OE-Core rev: c1efb1772cfae044969233fe9a394ef163d7bd51)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-09 12:00:43 +00:00
Ross Burton
1cf01c0351 llvm: add missing Upstream-Status tags
(From OE-Core rev: 85d9348272c4e6d59977a514338f29fe5156eb2c)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-23 16:30:36 +01:00
Khem Raj
1144b124f3 llvm: Update to 9.0.0
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>
2019-10-15 14:16:12 +01:00
Changqing Li
fe2c86fc77 llvm: remove -mlongcall from CXXFLAGS for powerpc
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>
2019-10-09 14:07:43 +01:00
Alexander Kanavin
8099ad5a21 llvm: use python 3 during builds
(From OE-Core rev: 13f9182e7235843290809027b4456ad2fe5e4c40)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-01 22:33:07 +01:00
Khem Raj
4df4352813 mesa,llvm,meson: Update llvm to 8.0.1 plus define and use LLVM version globally
- 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>
2019-08-08 10:19:56 +01:00
Changqing Li
8af4c074fa llvm: fix link error for powerpc
fix below link error for powerpc

lib/libLLVMSupport.a(CommandLine.cpp.o): in function `llvm:🆑:opt_storage<(anonymous namespace):
:HelpPrinterWrapper, true, true>::setLocation(llvm:🆑: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>
2019-04-03 14:50:13 +01:00
Alexander Kanavin
259e9a11e1 llvm: fix more places where '8.0' version of llvm was hardcoded
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>
2019-04-01 14:48:44 +01:00
Ross Burton
9180d35e2a llvm: support older toolchains
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>
2019-04-01 14:48:44 +01:00
Alexander Kanavin
afd069f6b4 llvm: update from 8.0.0rc2 to 8.0.0 final release
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>
2019-04-01 14:48:44 +01:00
Ross Burton
59fada98b9 llvm: don't inherit perlnative
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>
2019-03-29 08:28:53 +00:00
Ross Burton
594ac9ddff llvm: doesn't actually need pythonnative
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>
2019-03-29 08:28:53 +00:00
Otavio Salvador
8ccb777613 llvm: Enable RTTI support in preparation for new mesa
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>
2019-03-25 23:13:48 +00:00
Alexander Kanavin
1781289b68 llvm: switch to the official git repository
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>
2019-02-25 11:44:57 +00:00
Khem Raj
93f86e2c47 llvm,mesa: Upgrade to upcoming 8.0.0 release
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>
2019-02-05 13:53:47 +00:00
Richard Purdie
cd4b8a8553 meta: Fix Deprecated warnings from regexs
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>
2019-01-16 15:35:07 +00:00
Khem Raj
e2170f22ed llvm: Enable AMDGPU backend for native/native-sdk builds too
(From OE-Core rev: 0053740c01f3ae49292a03686f2a6bad298d3af9)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-21 14:49:42 +01:00
Khem Raj
959fcc8129 llvm: Use HOST_ARCH in LLVM_TARGETS_TO_BUILD for builds
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>
2018-08-21 14:49:42 +01:00
Khem Raj
8884da4822 llvm: Use YOCTO_ALTERNATE_MULTILIB_NAME environment variable in llvm-config
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>
2018-08-20 17:38:22 +01:00
Khem Raj
e0d395a046 llvm: Point llvm-config to one built with llvm-native
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>
2018-08-20 17:38:22 +01:00
Khem Raj
d4bc49d3d5 llvm: Update to 6.0.1
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>
2018-08-16 22:40:28 +01:00
Khem Raj
51394baea4 llvm: Fix [compile-host-path] QA issue
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>
2018-05-04 13:28:05 +01:00
Khem Raj
4880d0f9c8 llvm: Upgrade to 6.0 release
(From OE-Core rev: 67379117375bcc143f636ccd56e548332b19325f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 14:49:08 +01:00
Alexander Kanavin
e4f7ae23d1 oe-core: take UPSTREAM_CHECK_COMMITS into use where possible
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>
2017-11-30 10:49:22 +00:00
Khem Raj
11a51afa58 llvm: Use the SRCREV past final 5.0 release
(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>
2017-11-05 22:33:20 +00:00
Ming Liu
307f25c23e meta: drop True option to getVar calls
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>
2017-09-26 11:05:01 +01:00
Khem Raj
c89ed0fd75 llvm: Swith to ARM ISA on armv5 and armv4t
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>
2017-08-17 00:21:14 +01:00
Alexander Kanavin
5813f1f764 selftest: fix distrodata.py to use per-recipe UPSTREAM_VERSION_UNKNOWN setting
... 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>
2017-08-16 00:03:13 +01:00
Khem Raj
ffe6130bf6 llvm: Keep llvm-native dependency with clang toolchain
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>
2017-08-13 09:27:37 +01:00
Nathan Rossi
f42754a2d8 llvm: Raise SkipRecipe exception for unsupported architectures
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>
2017-08-09 09:24:16 +01:00
Khem Raj
a479bdd4fb mesa, llvm: Use native version of llvm-config
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>
2017-08-09 09:24:16 +01:00
Khem Raj
5c77067ee9 llvm: Add recipe for 5.0
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>
2017-07-31 15:13:32 +01:00