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>
This commit is contained in:
Khem Raj
2019-09-29 11:13:28 -07:00
committed by Richard Purdie
parent 52e5e97ab4
commit 1144b124f3
4 changed files with 17 additions and 25 deletions

View File

@@ -26,7 +26,7 @@ QEMUVERSION ?= "4.1%"
GOVERSION ?= "1.12%"
# This can not use wildcards like 8.0.% since it is also used in mesa to denote
# llvm version being used, so always bump it with llvm recipe version bump
LLVMVERSION ?= "8.0.1"
LLVMVERSION ?= "9.0.0"
PREFERRED_VERSION_gcc ?= "${GCCVERSION}"
PREFERRED_VERSION_gcc-cross-${TARGET_ARCH} ?= "${GCCVERSION}"

View File

@@ -1,13 +1,11 @@
From 4c08879d2dfbe7face4e679ac8499dc7bff2dd20 Mon Sep 17 00:00:00 2001
From dbeecdb307be8b783b42cbc89dcb9c5e7f528989 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 21 May 2016 00:33:20 +0000
Subject: [PATCH 06/19] llvm: TargetLibraryInfo: Undefine libc functions if
they are macros
Subject: [PATCH] llvm: TargetLibraryInfo: Undefine libc functions if they are macros
musl defines some functions as macros and not inline functions
if this is the case then make sure to undefine them
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../llvm/Analysis/TargetLibraryInfo.def | 21 +++++++++++++++++++
@@ -87,6 +85,3 @@ index afed404f04c..876888656f2 100644
TLI_DEFINE_ENUM_INTERNAL(tmpfile64)
TLI_DEFINE_STRING_INTERNAL("tmpfile64")
/// int toascii(int c);
--
2.22.0

View File

@@ -1,14 +1,13 @@
From b66d6f39a374b8df41e7235351e5dee2e81f440c Mon Sep 17 00:00:00 2001
From 61b00e1e051e367f5483d7b5253b6c85a9e8a90f Mon Sep 17 00:00:00 2001
From: Martin Kelly <mkelly@xevo.com>
Date: Fri, 19 May 2017 00:22:57 -0700
Subject: [PATCH 07/19] llvm: allow env override of exe path
Subject: [PATCH] llvm: allow env override of exe path
When using a native llvm-config from inside a sysroot, we need llvm-config to
return the libraries, include directories, etc. from inside the sysroot rather
than from the native sysroot. Thus provide an env override for calling
llvm-config from a target sysroot.
Upstream-Status: Pending
Signed-off-by: Martin Kelly <mkelly@xevo.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
@@ -33,6 +32,3 @@ index 7ef7c46a262..a4f7ed82c7b 100644
// This just needs to be some symbol in the binary; C++ doesn't
// allow taking the address of ::main however.
void *P = (void *)(intptr_t)GetExecutablePath;
--
2.22.0

View File

@@ -3,10 +3,10 @@
DESCRIPTION = "The LLVM Compiler Infrastructure"
HOMEPAGE = "http://llvm.org"
LICENSE = "NCSA"
LICENSE = "Apache-2.0-with-LLVM-exception"
SECTION = "devel"
LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=c6b766a4e85dd28301eeed54a6684648"
LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=8a15a0759ef07f2682d2ba4b893c9afe"
DEPENDS = "libffi libxml2 zlib libedit ninja-native llvm-native"
@@ -16,17 +16,17 @@ inherit cmake pkgconfig
PROVIDES += "llvm${PV}"
MAJOR_VERSION = "9"
MINOR_VERSION = "0"
PATCH_VERSION = "0"
PV = "${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}"
LLVM_RELEASE = "${PV}"
LLVM_DIR = "llvm${LLVM_RELEASE}"
SRCREV = "19a71f6bdf2dddb10764939e7f0ec2b98dba76c9"
BRANCH = "release/${MAJOR_VERSION}.x"
MAJOR_VERSION = "8"
MINOR_VERSION = "0"
PATCH_VERSION = "1"
SOLIBVER = "1"
PV = "${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}"
SRCREV = "0399d5a9682b3cef71c653373e38890c63c4c365"
SRC_URI = "git://github.com/llvm/llvm-project.git;branch=${BRANCH} \
file://0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch;striplevel=2 \
file://0007-llvm-allow-env-override-of-exe-path.patch;striplevel=2 \
@@ -45,6 +45,7 @@ def get_llvm_arch(bb, d, arch_var):
elif re.match(r'aarch64$', a): return 'AArch64'
elif re.match(r'aarch64_be$', a): return 'AArch64'
elif re.match(r'mips(isa|)(32|64|)(r6|)(el|)$', a): return 'Mips'
elif re.match(r'riscv(32|64)(eb|)$', a): return 'RISCV'
elif re.match(r'p(pc|owerpc)(|64)', a): return 'PowerPC'
else:
raise bb.parse.SkipRecipe("Cannot map '%s' to a supported LLVM architecture" % a)
@@ -156,7 +157,7 @@ FILES_${PN}-liblto += "\
"
FILES_${PN}-liboptremarks += "\
${libdir}/${LLVM_DIR}/libOptRemarks.so.* \
${libdir}/${LLVM_DIR}/libRemarks.so.* \
"
FILES_${PN}-llvmhello = "\
@@ -165,7 +166,7 @@ FILES_${PN}-llvmhello = "\
FILES_${PN}-dev += " \
${libdir}/${LLVM_DIR}/llvm-config \
${libdir}/${LLVM_DIR}/libOptRemarks.so \
${libdir}/${LLVM_DIR}/libRemarks.so \
${libdir}/${LLVM_DIR}/libLLVM-${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}.so \
"