[yocto] [PATCH 1/6][meta-openembedded] llvm: update 3.5.2 to have a sane ARM JIT for OpenJDK-8

Jens Rehsack rehsack at gmail.com
Tue Oct 13 13:27:54 PDT 2015


llvm introduced new JIT technology MCJIT with llvm 3.4 and fixes ARM in 3.5
(see http://llvm.org/releases/3.5.2/docs/ReleaseNotes.html#changes-to-the-arm-backend).

Ensure JIT is built with llvm

Signed-off-by: Jens Rehsack <sno at netbsd.org>
---
 meta-oe/recipes-core/llvm/llvm.inc                 |  8 +---
 ...r-output-from-configure-if-CFLAGS-is-set-.patch | 52 ----------------------
 .../{llvm3.3 => llvm3.5}/arm_fenv_uclibc.patch     |  0
 .../llvm/{llvm3.3_3.3.bb => llvm3.5_3.5.2.bb}      | 11 +++--
 4 files changed, 9 insertions(+), 62 deletions(-)
 delete mode 100644 meta-oe/recipes-core/llvm/llvm3.3/Remove-error-output-from-configure-if-CFLAGS-is-set-.patch
 rename meta-oe/recipes-core/llvm/{llvm3.3 => llvm3.5}/arm_fenv_uclibc.patch (100%)
 rename meta-oe/recipes-core/llvm/{llvm3.3_3.3.bb => llvm3.5_3.5.2.bb} (71%)

diff --git a/meta-oe/recipes-core/llvm/llvm.inc b/meta-oe/recipes-core/llvm/llvm.inc
index 0597be1..cc45ca7 100644
--- a/meta-oe/recipes-core/llvm/llvm.inc
+++ b/meta-oe/recipes-core/llvm/llvm.inc
@@ -20,11 +20,6 @@
 DESCRIPTION = "The Low Level Virtual Machine"
 HOMEPAGE = "http://llvm.org"
 
-# 3-clause BSD-like
-# University of Illinois/NCSA Open Source License
-LICENSE = "NCSA"
-LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=d0a3ef0d3e0e8f5cf59e5ffc273ab1f8"
-
 DEPENDS = "libffi libxml2-native llvm-common"
 
 inherit perlnative pythonnative autotools
@@ -32,7 +27,7 @@ inherit perlnative pythonnative autotools
 LLVM_RELEASE = "${PV}"
 LLVM_DIR = "llvm${LLVM_RELEASE}"
 
-SRC_URI = "http://llvm.org/releases/${PV}/llvm-${PV}.src.tar.gz"
+SRC_URI = "http://llvm.org/releases/${PV}/llvm-${PV}.src.tar.xz"
 S = "${WORKDIR}/llvm-${PV}.src"
 
 LLVM_BUILD_DIR = "${WORKDIR}/llvm-${PV}.build"
@@ -42,6 +37,7 @@ EXTRA_OECONF += "--disable-assertions \
                  --enable-debug-runtime \
                  --disable-expensive-checks \
                  --enable-bindings=none \
+                 --enable-jit \
                  --enable-keep-symbols \
                  --enable-libffi \
                  --enable-optimized \
diff --git a/meta-oe/recipes-core/llvm/llvm3.3/Remove-error-output-from-configure-if-CFLAGS-is-set-.patch b/meta-oe/recipes-core/llvm/llvm3.3/Remove-error-output-from-configure-if-CFLAGS-is-set-.patch
deleted file mode 100644
index 44387e8..0000000
--- a/meta-oe/recipes-core/llvm/llvm3.3/Remove-error-output-from-configure-if-CFLAGS-is-set-.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From d4bf7a3853dab12c11cbfc8088fd76f548a8d017 Mon Sep 17 00:00:00 2001
-From: Patrik Hagglund <patrik.h.hagglund at ericsson.com>
-Date: Tue, 24 Sep 2013 11:38:45 +0000
-Subject: [PATCH] Remove error output from configure if CFLAGS is set (r174313).
-
-This fixes PR16724.
-
-git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191289 91177308-0d34-0410-b5e6-96231b3b80d8
-
-https://github.com/llvm-mirror/llvm/commit/d4bf7a3853dab12c11cbfc8088fd76f548a8d017
-
-Upstream-Status: Backport
-
-Signed-off-by: Andre McCurdy <armccurdy at gmail.com>
----
- autoconf/configure.ac | 4 ++--
- configure             | 4 ++--
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/autoconf/configure.ac b/autoconf/configure.ac
-index f9c365c..45f2fe4 100644
---- a/autoconf/configure.ac
-+++ b/autoconf/configure.ac
-@@ -61,8 +61,8 @@ fi
- 
- dnl Default to empty (i.e. assigning the null string to) CFLAGS and CXXFLAGS,
- dnl instead of the autoconf default (for example, '-g -O2' for CC=gcc).
--${CFLAGS=}
--${CXXFLAGS=}
-+: ${CFLAGS=}
-+: ${CXXFLAGS=}
- 
- dnl We need to check for the compiler up here to avoid anything else
- dnl starting with a different one.
-diff --git a/configure b/configure
-index f3a6594..9090cda 100755
---- a/configure
-+++ b/configure
-@@ -1992,8 +1992,8 @@ echo "$as_me: error: Already configured in ${srcdir}" >&2;}
-   fi
- fi
- 
--${CFLAGS=}
--${CXXFLAGS=}
-+: ${CFLAGS=}
-+: ${CXXFLAGS=}
- 
- ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
--- 
-1.9.1
-
diff --git a/meta-oe/recipes-core/llvm/llvm3.3/arm_fenv_uclibc.patch b/meta-oe/recipes-core/llvm/llvm3.5/arm_fenv_uclibc.patch
similarity index 100%
rename from meta-oe/recipes-core/llvm/llvm3.3/arm_fenv_uclibc.patch
rename to meta-oe/recipes-core/llvm/llvm3.5/arm_fenv_uclibc.patch
diff --git a/meta-oe/recipes-core/llvm/llvm3.3_3.3.bb b/meta-oe/recipes-core/llvm/llvm3.5_3.5.2.bb
similarity index 71%
rename from meta-oe/recipes-core/llvm/llvm3.3_3.3.bb
rename to meta-oe/recipes-core/llvm/llvm3.5_3.5.2.bb
index 60a2221..7289b81 100644
--- a/meta-oe/recipes-core/llvm/llvm3.3_3.3.bb
+++ b/meta-oe/recipes-core/llvm/llvm3.5_3.5.2.bb
@@ -1,14 +1,17 @@
 require llvm.inc
 
+# 3-clause BSD-like
+# University of Illinois/NCSA Open Source License
+LICENSE = "NCSA"
+LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=47e311aa9caedd1b3abf098bd7814d1d"
+
 DEPENDS += "zlib"
 EXTRA_OECONF += "--enable-zlib"
 
-SRC_URI += "file://Remove-error-output-from-configure-if-CFLAGS-is-set-.patch"
-
 SRC_URI_append_libc-uclibc = " file://arm_fenv_uclibc.patch "
 
-SRC_URI[md5sum] = "40564e1dc390f9844f1711c08b08e391"
-SRC_URI[sha256sum] = "68766b1e70d05a25e2f502e997a3cb3937187a3296595cf6e0977d5cd6727578"
+SRC_URI[md5sum] = "f5a4dc595f7e8bd23397684d0906d014"
+SRC_URI[sha256sum] = "44196156d5749eb4b4224fe471a29cc3984df92570a4a89fa859f7394fc0c575"
 
 PACKAGECONFIG ??= ""
 PACKAGECONFIG[r600] = "--enable-experimental-targets=R600,,,"
-- 
1.9.1

This patch is required to apply meta-java my updates for OpenJDK 8.

-- 
Jens Rehsack - rehsack at gmail.com




More information about the yocto mailing list