From 3a1ac9def769a95bbc843931d3c192038ec7c382 Mon Sep 17 00:00:00 2001 From: Erkka Kääriä Date: Thu, 28 Apr 2016 12:04:12 +0300 Subject: Openjdk-8: Add -Wno-cpp to CFLAGS in certain makefiles MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The security flag '-D_FORTIFY_SOURCE' requires at least -O to work, otherwise a warning is given. If CFLAGS additionally contains -Werror, this warning turns into an error. As Openjdk build system intentionally deoptimizes certains files due to potential bad codegen during optimization, build will fail when both '-D_FORTIFY_SOURCE' and '-Werror' are used. As turning the optimizations back on will likely break things, the warning is silenced instead. Signed-off-by: Erkka Kääriä Signed-off-by: Maxin B. John --- recipes-core/openjdk/openjdk-8_72b05.bb | 1 + recipes-core/openjdk/openjre-8_72b05.bb | 1 + ...openjdk8-silence-d_fortify_source-warning.patch | 56 ++++++++++++++++++++++ 3 files changed, 58 insertions(+) create mode 100644 recipes-core/openjdk/patches-openjdk-8/openjdk8-silence-d_fortify_source-warning.patch (limited to 'recipes-core/openjdk') diff --git a/recipes-core/openjdk/openjdk-8_72b05.bb b/recipes-core/openjdk/openjdk-8_72b05.bb index f378b0a..bafc6cd 100644 --- a/recipes-core/openjdk/openjdk-8_72b05.bb +++ b/recipes-core/openjdk/openjdk-8_72b05.bb @@ -11,6 +11,7 @@ PATCHES_URI_append = "\ file://openjdk8-use_builtin_frame_address_0_rather_than_returning_address_of_local_variable.patch;apply=no \ file://openjdk8-fix-assembler-flag-handling-in-makefile.patch;apply=no \ file://openjdk8-fix-adlc-flags.patch;apply=no \ + file://openjdk8-silence-d_fortify_source-warning.patch;apply=no \ " do_install() { diff --git a/recipes-core/openjdk/openjre-8_72b05.bb b/recipes-core/openjdk/openjre-8_72b05.bb index 6d29d12..3a34848 100644 --- a/recipes-core/openjdk/openjre-8_72b05.bb +++ b/recipes-core/openjdk/openjre-8_72b05.bb @@ -9,6 +9,7 @@ PATCHES_URI_append = "\ file://openjdk8-fix-shark-build.patch;apply=no \ file://openjdk8-fix-shark-stdc++11.patch;apply=no \ file://openjdk8-use_builtin_frame_address_0_rather_than_returning_address_of_local_variable.patch;apply=no \ + file://openjdk8-silence-d_fortify_source-warning.patch;apply=no \ " do_install() { 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 new file mode 100644 index 0000000..2c2e333 --- /dev/null +++ b/recipes-core/openjdk/patches-openjdk-8/openjdk8-silence-d_fortify_source-warning.patch @@ -0,0 +1,56 @@ +makefiles: Add -Wno-cpp to CFLAGS + +The security flag '-D_FORTIFY_SOURCE' requires at least -O to work, +otherwise a warning is given. If CFLAGS additionally contains -Werror, +this warning turns into an error. As Openjdk build system intentionally +deoptimizes certains files due to potential bad codegen during optimization, +build will fail when both '-D_FORTIFY_SOURCE' and '-Werror' are used. +As turning the optimizations back on will likely break things, the +warning is silenced instead. + +Upstream-Status: Inappropriate [Yocto-specific fixes] + +Signed-off-by: Erkka Kääriä +--- + hotspot/make/linux/makefiles/amd64.make | 2 ++ + hotspot/make/linux/makefiles/i486.make | 2 ++ + hotspot/make/linux/makefiles/zero.make | 2 ++ + 3 files changed, 6 insertions(+) + +diff --git hotspot/make/linux/makefiles/amd64.make hotspot/make/linux/makefiles/amd64.make +index 2b77dba..db3965b 100644 +--- hotspot/make/linux/makefiles/amd64.make ++++ hotspot/make/linux/makefiles/amd64.make +@@ -31,4 +31,6 @@ CFLAGS += -DVM_LITTLE_ENDIAN + + CFLAGS += -D_LP64=1 + ++CFLAGS += -Wno-cpp ++ + OPT_CFLAGS/compactingPermGenGen.o = -O1 +diff --git hotspot/make/linux/makefiles/i486.make hotspot/make/linux/makefiles/i486.make +index 86e825d..6a92f09 100644 +--- hotspot/make/linux/makefiles/i486.make ++++ hotspot/make/linux/makefiles/i486.make +@@ -31,4 +31,6 @@ OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT) + # Must also specify if CPU is little endian + CFLAGS += -DVM_LITTLE_ENDIAN + ++CFLAGS += -Wno-cpp ++ + OPT_CFLAGS/compactingPermGenGen.o = -O1 +diff --git hotspot/make/linux/makefiles/zero.make hotspot/make/linux/makefiles/zero.make +index 0270711..2b05f33 100644 +--- hotspot/make/linux/makefiles/zero.make ++++ hotspot/make/linux/makefiles/zero.make +@@ -28,5 +28,7 @@ + # Select which files to use (in top.make) + TYPE = ZERO + ++CFLAGS += -Wno-cpp ++ + # Install libjvm.so, etc in in server directory. + VM_SUBDIR = server +-- +2.7.4 + -- cgit v1.2.3-54-g00ecf