summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndré Draszik <andre.draszik@jci.com>2018-03-06 10:54:20 +0200
committerMaxin B. John <maxin.john@intel.com>2018-03-06 10:56:44 +0200
commitad72b21676a99417605c5b7e6d068ad81142f7b2 (patch)
tree94e8665f5dce93e84b2e6e4bb22e5c1d640d3e69
parent55eab1f99a485089966a29771c43486299095a48 (diff)
downloadmeta-java-ad72b21676a99417605c5b7e6d068ad81142f7b2.tar.gz
openjdk-8: add patch for compiling with enabled security flags
Rather than carrying an OE specific patch that just silences the warning on some platform only, backport the upstream patch to actually fix the issue. Signed-off-by: André Draszik <andre.draszik@jci.com> Signed-off-by: Maxin B. John <maxin.john@intel.com>
-rw-r--r--recipes-core/openjdk/openjdk-8-release-162b12.inc2
-rw-r--r--recipes-core/openjdk/patches-openjdk-8/0002-hotspot-fix-compilation-with-security-flags-enabled.patch41
-rw-r--r--recipes-core/openjdk/patches-openjdk-8/openjdk8-silence-d_fortify_source-warning.patch56
3 files changed, 42 insertions, 57 deletions
diff --git a/recipes-core/openjdk/openjdk-8-release-162b12.inc b/recipes-core/openjdk/openjdk-8-release-162b12.inc
index 5a577b9..a36bc6a 100644
--- a/recipes-core/openjdk/openjdk-8-release-162b12.inc
+++ b/recipes-core/openjdk/openjdk-8-release-162b12.inc
@@ -7,6 +7,7 @@ PATCHES_URI = "\
7 file://openjdk8-find-compiler-fix-env-respect.patch;striplevel=0 \ 7 file://openjdk8-find-compiler-fix-env-respect.patch;striplevel=0 \
8 file://openjdk8-prevent-debuginfo-in-favour-of-openembedded-package-split.patch;striplevel=0 \ 8 file://openjdk8-prevent-debuginfo-in-favour-of-openembedded-package-split.patch;striplevel=0 \
9 file://0001-jdk-comparison-between-pointer-and-integer.patch \ 9 file://0001-jdk-comparison-between-pointer-and-integer.patch \
10 file://0002-hotspot-fix-compilation-with-security-flags-enabled.patch \
10" 11"
11# some patches extracted from http://cr.openjdk.java.net/~rkennke/shark-build-hotspot/webrev.01/hotspot.patch 12# some patches extracted from http://cr.openjdk.java.net/~rkennke/shark-build-hotspot/webrev.01/hotspot.patch
12# reported via http://mail.openjdk.java.net/pipermail/build-dev/2015-January/013972.html 13# reported via http://mail.openjdk.java.net/pipermail/build-dev/2015-January/013972.html
@@ -17,7 +18,6 @@ PATCHES_URI_append_class-target = "\
17 file://openjdk8-fix-shark-stdc++11.patch;striplevel=0 \ 18 file://openjdk8-fix-shark-stdc++11.patch;striplevel=0 \
18 file://openjdk8-fix-assembler-flag-handling-in-makefile.patch;striplevel=0 \ 19 file://openjdk8-fix-assembler-flag-handling-in-makefile.patch;striplevel=0 \
19 file://openjdk8-fix-adlc-flags.patch;striplevel=0 \ 20 file://openjdk8-fix-adlc-flags.patch;striplevel=0 \
20 file://openjdk8-silence-d_fortify_source-warning.patch;striplevel=0 \
21 file://openjdk8-add-missing-linker-flags.patch;striplevel=0 \ 21 file://openjdk8-add-missing-linker-flags.patch;striplevel=0 \
22 file://openjdk8-fix-libpng-neon-build.patch;striplevel=0 \ 22 file://openjdk8-fix-libpng-neon-build.patch;striplevel=0 \
23" 23"
diff --git a/recipes-core/openjdk/patches-openjdk-8/0002-hotspot-fix-compilation-with-security-flags-enabled.patch b/recipes-core/openjdk/patches-openjdk-8/0002-hotspot-fix-compilation-with-security-flags-enabled.patch
new file mode 100644
index 0000000..075a638
--- /dev/null
+++ b/recipes-core/openjdk/patches-openjdk-8/0002-hotspot-fix-compilation-with-security-flags-enabled.patch
@@ -0,0 +1,41 @@
1From bdea8cf299313388ec41ea20281deca6dc4f764d Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <andre.draszik at jci.com <https://lists.yoctoproject.org/listinfo/yocto>>
3Date: Tue, 27 Feb 2018 14:41:06 +0000
4Subject: [PATCH 2/8] hotspot: fix compilation with security flags enabled
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9| hotspot/src/share/vm/code/dependencies.cpp: In function 'static void Dependencies::write_dependency_to(xmlStream*, Dependencies::DepType, GrowableArray<Dependencies::DepArgument>*, Klass*)':
10| hotspot/src/share/vm/code/dependencies.cpp:498:6: error: '%d' directive writing between 1 and 10 bytes into a region of size 9 [-Werror=format-overflow=]
11| void Dependencies::write_dependency_to(xmlStream* xtty,
12| ^~~~~~~~~~~~
13| hotspot/src/share/vm/code/dependencies.cpp:498:6: note: directive argument in the range [0, 2147483647]
14| hotspot/src/share/vm/code/dependencies.cpp:528:27: note: 'sprintf' output between 3 and 12 bytes into a destination of size 10
15| char xn[10]; sprintf(xn, "x%d", j);
16| ~~~~~~~^~~~~~~~~~~~~~
17
18Backport a patch to fix this.
19
20Upstream-Status: Backport [http://hg.openjdk.java.net/jdk10/jdk10/hotspot/rev/eb11b3f0ae65]
21Signed-off-by: André Draszik <andre.draszik at jci.com <https://lists.yoctoproject.org/listinfo/yocto>>
22---
23 hotspot/src/share/vm/code/dependencies.cpp | 2 +-
24 1 file changed, 1 insertion(+), 1 deletion(-)
25
26diff --git a/hotspot/src/share/vm/code/dependencies.cpp b/hotspot/src/share/vm/code/dependencies.cpp
27index 7317036d..c71d921d 100644
28--- a/hotspot/src/share/vm/code/dependencies.cpp
29+++ b/hotspot/src/share/vm/code/dependencies.cpp
30@@ -525,7 +525,7 @@ void Dependencies::write_dependency_to(xmlStream* xtty,
31 xtty->object("x", arg.metadata_value());
32 }
33 } else {
34- char xn[10]; sprintf(xn, "x%d", j);
35+ char xn[12]; sprintf(xn, "x%d", j);
36 if (arg.is_oop()) {
37 xtty->object(xn, arg.oop_value());
38 } else {
39--
402.16.2
41
diff --git a/recipes-core/openjdk/patches-openjdk-8/openjdk8-silence-d_fortify_source-warning.patch b/recipes-core/openjdk/patches-openjdk-8/openjdk8-silence-d_fortify_source-warning.patch
deleted file mode 100644
index 2c2e333..0000000
--- a/recipes-core/openjdk/patches-openjdk-8/openjdk8-silence-d_fortify_source-warning.patch
+++ /dev/null
@@ -1,56 +0,0 @@
1makefiles: Add -Wno-cpp to CFLAGS
2
3The security flag '-D_FORTIFY_SOURCE' requires at least -O to work,
4otherwise a warning is given. If CFLAGS additionally contains -Werror,
5this warning turns into an error. As Openjdk build system intentionally
6deoptimizes certains files due to potential bad codegen during optimization,
7build will fail when both '-D_FORTIFY_SOURCE' and '-Werror' are used.
8As turning the optimizations back on will likely break things, the
9warning is silenced instead.
10
11Upstream-Status: Inappropriate [Yocto-specific fixes]
12
13Signed-off-by: Erkka Kääriä <erkka.kaaria@intel.com>
14---
15 hotspot/make/linux/makefiles/amd64.make | 2 ++
16 hotspot/make/linux/makefiles/i486.make | 2 ++
17 hotspot/make/linux/makefiles/zero.make | 2 ++
18 3 files changed, 6 insertions(+)
19
20diff --git hotspot/make/linux/makefiles/amd64.make hotspot/make/linux/makefiles/amd64.make
21index 2b77dba..db3965b 100644
22--- hotspot/make/linux/makefiles/amd64.make
23+++ hotspot/make/linux/makefiles/amd64.make
24@@ -31,4 +31,6 @@ CFLAGS += -DVM_LITTLE_ENDIAN
25
26 CFLAGS += -D_LP64=1
27
28+CFLAGS += -Wno-cpp
29+
30 OPT_CFLAGS/compactingPermGenGen.o = -O1
31diff --git hotspot/make/linux/makefiles/i486.make hotspot/make/linux/makefiles/i486.make
32index 86e825d..6a92f09 100644
33--- hotspot/make/linux/makefiles/i486.make
34+++ hotspot/make/linux/makefiles/i486.make
35@@ -31,4 +31,6 @@ OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT)
36 # Must also specify if CPU is little endian
37 CFLAGS += -DVM_LITTLE_ENDIAN
38
39+CFLAGS += -Wno-cpp
40+
41 OPT_CFLAGS/compactingPermGenGen.o = -O1
42diff --git hotspot/make/linux/makefiles/zero.make hotspot/make/linux/makefiles/zero.make
43index 0270711..2b05f33 100644
44--- hotspot/make/linux/makefiles/zero.make
45+++ hotspot/make/linux/makefiles/zero.make
46@@ -28,5 +28,7 @@
47 # Select which files to use (in top.make)
48 TYPE = ZERO
49
50+CFLAGS += -Wno-cpp
51+
52 # Install libjvm.so, etc in in server directory.
53 VM_SUBDIR = server
54--
552.7.4
56