* [meta-java][master-next][PATCH 1/4] gitignore: ignore new python byte-code files @ 2018-08-09 0:26 André Draszik 2018-08-09 0:26 ` [meta-java][master-next][PATCH 2/4] openjdk-8: speed-up do_install() (pack200) André Draszik ` (3 more replies) 0 siblings, 4 replies; 7+ messages in thread From: André Draszik @ 2018-08-09 0:26 UTC (permalink / raw) To: openembedded-devel From: André Draszik <andre.draszik@jci.com> Since we run oeqa tests, we get python byte-code in the source tree here. Ignore them to clean-up the git status Signed-off-by: André Draszik <andre.draszik@jci.com> --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 51a512c..8e5c599 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ *.bak *.orig +*.pyc *.rej *.swp -- 2.18.0 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [meta-java][master-next][PATCH 2/4] openjdk-8: speed-up do_install() (pack200) 2018-08-09 0:26 [meta-java][master-next][PATCH 1/4] gitignore: ignore new python byte-code files André Draszik @ 2018-08-09 0:26 ` André Draszik 2018-08-09 0:26 ` [meta-java][master-next][PATCH 3/4] Revert "openjdk-8: fix build for gcc8.x" André Draszik ` (2 subsequent siblings) 3 siblings, 0 replies; 7+ messages in thread From: André Draszik @ 2018-08-09 0:26 UTC (permalink / raw) To: openembedded-devel From: André Draszik <andre.draszik@jci.com> We run pack200 sequentially on all found archives, but there doesn't seem to be a reason to do so, the java_get_parallel_make() apperas to be related to compiling java itself, running multiple java applications (pack200) at the same time on the same machine should be possible, otherwise we have a big problem... Just run up to BB_NUMBER_THREADS pack200 processes at the same time to speed up the build. Signed-off-by: André Draszik <andre.draszik@jci.com> --- recipes-core/openjdk/openjdk-8-cross.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-core/openjdk/openjdk-8-cross.inc b/recipes-core/openjdk/openjdk-8-cross.inc index 03cab11..d0b2ec8 100644 --- a/recipes-core/openjdk/openjdk-8-cross.inc +++ b/recipes-core/openjdk/openjdk-8-cross.inc @@ -77,13 +77,13 @@ do_install_append() { if ${@bb.utils.contains('PACKAGECONFIG', 'repack', 'true', 'false', d)} ; then if [ -d ${D}${JDK_HOME} ] ; then find ${D}${JDK_HOME} -name "*.jar" -print0 | \ - xargs -0 -n1 -P ${@java_get_parallel_make(d)} sh -c ' \ + xargs -0 -n1 -P ${BB_NUMBER_THREADS} sh -c ' \ echo "Repacking" "$0" ; \ pack200 --repack --effort=9 --segment-limit=-1 --modification-time=latest --strip-debug "$0"' fi if [ -d ${D}${JRE_HOME} ] ; then find ${D}${JRE_HOME} -name "*.jar" -print0 | \ - xargs -0 -n1 -P ${@java_get_parallel_make(d)} sh -c ' \ + xargs -0 -n1 -P ${BB_NUMBER_THREADS} sh -c ' \ echo "Repacking" "$0" ; \ pack200 --repack --effort=9 --segment-limit=-1 --modification-time=latest --strip-debug "$0"' fi -- 2.18.0 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [meta-java][master-next][PATCH 3/4] Revert "openjdk-8: fix build for gcc8.x" 2018-08-09 0:26 [meta-java][master-next][PATCH 1/4] gitignore: ignore new python byte-code files André Draszik 2018-08-09 0:26 ` [meta-java][master-next][PATCH 2/4] openjdk-8: speed-up do_install() (pack200) André Draszik @ 2018-08-09 0:26 ` André Draszik 2018-08-09 0:26 ` [meta-java][master-next][PATCH 4/4] openjdk-8: update to work with gcc v8 André Draszik 2018-08-13 7:44 ` [meta-java][master-next][PATCH 1/4] gitignore: ignore new python byte-code files André Draszik 3 siblings, 0 replies; 7+ messages in thread From: André Draszik @ 2018-08-09 0:26 UTC (permalink / raw) To: openembedded-devel From: André Draszik <andre.draszik@jci.com> This reverts commit 52fb41cec7d5125bb11c718705158696ffef11f8. The change being reverted has two problems: - it still doesn't produce working binaries - compilation on pre-gcc v7 compilers fails (which is relevant for compiling openjdk-8-native, as that uses the build machine's gcc, not yocto's gcc): | At global scope: | cc1plus: error: unrecognized command line option ‘-Wno-stringop-overflow’ [-Werror] | cc1plus: all warnings being treated as errors Signed-off-by: André Draszik <andre.draszik@jci.com> --- .../openjdk/openjdk-8-release-16xbyy.inc | 1 - .../hotspot_fix_gcc8x_build.patch | 21 ------------------- 2 files changed, 22 deletions(-) delete mode 100644 recipes-core/openjdk/patches-openjdk-8/hotspot_fix_gcc8x_build.patch diff --git a/recipes-core/openjdk/openjdk-8-release-16xbyy.inc b/recipes-core/openjdk/openjdk-8-release-16xbyy.inc index fd95e95..c1fcda4 100644 --- a/recipes-core/openjdk/openjdk-8-release-16xbyy.inc +++ b/recipes-core/openjdk/openjdk-8-release-16xbyy.inc @@ -16,7 +16,6 @@ PATCHES_URI = "\ file://0008-jdk-use-correct-include-for-signal.patch \ file://0009-jdk-disable-backtrace-musl-build-fix.patch \ file://0010-build-fix-build-on-as-needed-toolchains-generic.patch \ - file://hotspot_fix_gcc8x_build.patch \ " # some patches extracted from http://cr.openjdk.java.net/~rkennke/shark-build-hotspot/webrev.01/hotspot.patch # reported via http://mail.openjdk.java.net/pipermail/build-dev/2015-January/013972.html diff --git a/recipes-core/openjdk/patches-openjdk-8/hotspot_fix_gcc8x_build.patch b/recipes-core/openjdk/patches-openjdk-8/hotspot_fix_gcc8x_build.patch deleted file mode 100644 index 1a406f2..0000000 --- a/recipes-core/openjdk/patches-openjdk-8/hotspot_fix_gcc8x_build.patch +++ /dev/null @@ -1,21 +0,0 @@ -From: Richard Leitner <richard.leitner@skidata.com> -Date: Thu, 14 Jun 2018 23:42:11 +0200 -Subject: [PATCH] openjdk-8: hotspot: fix gcc8 compilation - -As oe-core/yocto-project master migrated to gcc8.x we need to support this. -Therefore disable following gcc warnings/errors which caused the build to fail: - + stringop-overflow - + return-type ---- - ---- a/hotspot/make/linux/makefiles/gcc.make -+++ b/hotspot/make/linux/makefiles/gcc.make -@@ -197,7 +197,7 @@ - endif - - # Compiler warnings are treated as errors --WARNINGS_ARE_ERRORS = -Werror -+WARNINGS_ARE_ERRORS = -Werror -Wno-stringop-overflow -Wno-error=return-type - - ifeq ($(USE_CLANG), true) - # However we need to clean the code up before we can unrestrictedly enable this option with Clang -- 2.18.0 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [meta-java][master-next][PATCH 4/4] openjdk-8: update to work with gcc v8 2018-08-09 0:26 [meta-java][master-next][PATCH 1/4] gitignore: ignore new python byte-code files André Draszik 2018-08-09 0:26 ` [meta-java][master-next][PATCH 2/4] openjdk-8: speed-up do_install() (pack200) André Draszik 2018-08-09 0:26 ` [meta-java][master-next][PATCH 3/4] Revert "openjdk-8: fix build for gcc8.x" André Draszik @ 2018-08-09 0:26 ` André Draszik 2018-08-09 10:46 ` André Draszik 2018-08-13 7:44 ` [meta-java][master-next][PATCH 1/4] gitignore: ignore new python byte-code files André Draszik 3 siblings, 1 reply; 7+ messages in thread From: André Draszik @ 2018-08-09 0:26 UTC (permalink / raw) To: openembedded-devel From: André Draszik <andre.draszik@jci.com> Similar to the existing gcc-6 and gcc-7 support, we need to add the same specific compiler flags to avoid miscompilation on gcc-8: -fno-lifetime-dse -fno-delete-null-pointer-checks In addition, gcc v8 introduces new warnings (which are treated as errors), which we can just silence for the time being: | <<PKGBUILDDIR>>/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp:223:32: error: control reaches end of non-void function [-Werror=return-type] | #define BREAKPOINT ::breakpoint() | ~~~~~~~~~~~~^~ | <<PKGBUILDDIR>>/hotspot/src/share/vm/utilities/debug.hpp:192:3: note: in expansion of macro 'BREAKPOINT' | BREAKPOINT; \ | ^~~~~~~~~~ | <<PKGBUILDDIR>>/hotspot/src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp:197:2: note: in expansion of macro 'ShouldNotReachHere' | ShouldNotReachHere(); | ^~~~~~~~~~~~~~~~~~ etc. And | <<PKGBUILDDIR>>/hotspot/src/share/vm/runtime/arguments.cpp:3811:14: error: 'char* strncat(char*, const char*, size_t)' specified bound 1 equals source length [-Werror=stringop-overflow=] | strncat(shared_archive_path, os::file_separator(), file_sep_len); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | <<PKGBUILDDIR>>/hotspot/src/share/vm/runtime/arguments.cpp: In static member function 'static void Arguments::fix_appclasspath()': | <<PKGBUILDDIR>>/hotspot/src/share/vm/runtime/arguments.cpp:3433:12: error: 'char* strncpy(char*, const char*, size_t)' specified bound depends on the length of the source argument [-Werror=stringop-overflow=] | strncpy(copy, src, strlen(src) + 1); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ | <<PKGBUILDDIR>>/hotspot/src/share/vm/runtime/arguments.cpp:3433:30: note: length computed here | strncpy(copy, src, strlen(src) + 1); | ~~~~~~^~~~~ | <<PKGBUILDDIR>>/hotspot/src/share/vm/runtime/arguments.cpp:3433:12: error: 'char* strncpy(char*, const char*, size_t)' specified bound depends on the length of the source argument [-Werror=stringop-overflow=] | strncpy(copy, src, strlen(src) + 1); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ | <<PKGBUILDDIR>>/hotspot/src/share/vm/runtime/arguments.cpp:3433:30: note: length computed here | strncpy(copy, src, strlen(src) + 1); | ~~~~~~^~~~~ etc. With this, bitbake -c testimage openjdk-8-test-image works again: RESULTS: RESULTS - ping.PingTest.test_ping - Testcase 964: PASSED (0.12s) RESULTS - ssh.SSHTest.test_ssh - Testcase 224: PASSED (1.20s) RESULTS - java.JavaTest.test_java_exists - Testcase -1: PASSED (0.15s) RESULTS - java.JavaTest.test_java_jar_comp_mode - Testcase -1: PASSED (41.98s) RESULTS - java.JavaTest.test_java_jar_int_mode - Testcase -1: PASSED (1.76s) RESULTS - java.JavaTest.test_java_jar_works - Testcase -1: PASSED (2.13s) RESULTS - java.JavaTest.test_java_version - Testcase -1: PASSED (1.51s) RESULTS - javac.JavacTest.test_javac_exists - Testcase -1: PASSED (0.11s) RESULTS - javac.JavacTest.test_javac_works - Testcase -1: PASSED (17.64s) SUMMARY: openjdk-8-test-image () - Ran 9 tests in 67.112s openjdk-8-test-image - OK - All required tests passed Signed-off-by: André Draszik <andre.draszik@jci.com> --- recipes-core/openjdk/openjdk-8-common.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes-core/openjdk/openjdk-8-common.inc b/recipes-core/openjdk/openjdk-8-common.inc index 3b328e9..79af54a 100644 --- a/recipes-core/openjdk/openjdk-8-common.inc +++ b/recipes-core/openjdk/openjdk-8-common.inc @@ -216,6 +216,7 @@ EXTRA_OECONF_append = "\ # of these changes. FLAGS_GCC6 = "-fno-lifetime-dse -fno-delete-null-pointer-checks" FLAGS_GCC7 = "-fno-lifetime-dse -fno-delete-null-pointer-checks" +FLAGS_GCC8 = "-fno-lifetime-dse -fno-delete-null-pointer-checks -Wno-error=stringop-overflow -Wno-error=return-type" # All supported cross compilers support the compiler flags that were # added to make compilation with gcc6 work. But the host compiler for -- 2.18.0 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [meta-java][master-next][PATCH 4/4] openjdk-8: update to work with gcc v8 2018-08-09 0:26 ` [meta-java][master-next][PATCH 4/4] openjdk-8: update to work with gcc v8 André Draszik @ 2018-08-09 10:46 ` André Draszik 0 siblings, 0 replies; 7+ messages in thread From: André Draszik @ 2018-08-09 10:46 UTC (permalink / raw) To: openembedded-devel Argh, this last one still doesn't work, because of weird CFLAGS / CXXFLAGS in this recipe :-( We end up adding command line options to gcc based on the cross gcc version, but openjdk uses the same ones for native tools compilation, which fails. A, On Thu, 2018-08-09 at 01:26 +0100, André Draszik wrote: > From: André Draszik <andre.draszik@jci.com> > > Similar to the existing gcc-6 and gcc-7 support, we need to > add the same specific compiler flags to avoid miscompilation > on gcc-8: > -fno-lifetime-dse > -fno-delete-null-pointer-checks > > In addition, gcc v8 introduces new warnings (which are > treated as errors), which we can just silence for the > time being: > > > <<PKGBUILDDIR>>/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp > > :223:32: error: control reaches end of non-void function [- > > Werror=return-type] > > #define BREAKPOINT ::breakpoint() > > ~~~~~~~~~~~~^~ > > <<PKGBUILDDIR>>/hotspot/src/share/vm/utilities/debug.hpp:192:3: note: in > > expansion of macro 'BREAKPOINT' > > BREAKPOINT; > > \ > > ^~~~~~~~~~ > > <<PKGBUILDDIR>>/hotspot/src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp:1 > > 97:2: note: in expansion of macro 'ShouldNotReachHere' > > ShouldNotReachHere(); > > ^~~~~~~~~~~~~~~~~~ > > etc. > > And > > <<PKGBUILDDIR>>/hotspot/src/share/vm/runtime/arguments.cpp:3811:14: > > error: 'char* strncat(char*, const char*, size_t)' specified bound 1 > > equals source length [-Werror=stringop-overflow=] > > strncat(shared_archive_path, os::file_separator(), file_sep_len); > > ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > <<PKGBUILDDIR>>/hotspot/src/share/vm/runtime/arguments.cpp: In static > > member function 'static void Arguments::fix_appclasspath()': > > <<PKGBUILDDIR>>/hotspot/src/share/vm/runtime/arguments.cpp:3433:12: > > error: 'char* strncpy(char*, const char*, size_t)' specified bound > > depends on the length of the source argument [-Werror=stringop- > > overflow=] > > strncpy(copy, src, strlen(src) + 1); > > ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > <<PKGBUILDDIR>>/hotspot/src/share/vm/runtime/arguments.cpp:3433:30: > > note: length computed here > > strncpy(copy, src, strlen(src) + 1); > > ~~~~~~^~~~~ > > <<PKGBUILDDIR>>/hotspot/src/share/vm/runtime/arguments.cpp:3433:12: > > error: 'char* strncpy(char*, const char*, size_t)' specified bound > > depends on the length of the source argument [-Werror=stringop- > > overflow=] > > strncpy(copy, src, strlen(src) + 1); > > ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > <<PKGBUILDDIR>>/hotspot/src/share/vm/runtime/arguments.cpp:3433:30: > > note: length computed here > > strncpy(copy, src, strlen(src) + 1); > > ~~~~~~^~~~~ > > etc. > > With this, > bitbake -c testimage openjdk-8-test-image > works again: > RESULTS: > RESULTS - ping.PingTest.test_ping - Testcase 964: PASSED (0.12s) > RESULTS - ssh.SSHTest.test_ssh - Testcase 224: PASSED (1.20s) > RESULTS - java.JavaTest.test_java_exists - Testcase -1: PASSED (0.15s) > RESULTS - java.JavaTest.test_java_jar_comp_mode - Testcase -1: PASSED > (41.98s) > RESULTS - java.JavaTest.test_java_jar_int_mode - Testcase -1: PASSED > (1.76s) > RESULTS - java.JavaTest.test_java_jar_works - Testcase -1: PASSED (2.13s) > RESULTS - java.JavaTest.test_java_version - Testcase -1: PASSED (1.51s) > RESULTS - javac.JavacTest.test_javac_exists - Testcase -1: PASSED (0.11s) > RESULTS - javac.JavacTest.test_javac_works - Testcase -1: PASSED (17.64s) > SUMMARY: > openjdk-8-test-image () - Ran 9 tests in 67.112s > openjdk-8-test-image - OK - All required tests passed > > Signed-off-by: André Draszik <andre.draszik@jci.com> > --- > recipes-core/openjdk/openjdk-8-common.inc | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/recipes-core/openjdk/openjdk-8-common.inc b/recipes- > core/openjdk/openjdk-8-common.inc > index 3b328e9..79af54a 100644 > --- a/recipes-core/openjdk/openjdk-8-common.inc > +++ b/recipes-core/openjdk/openjdk-8-common.inc > @@ -216,6 +216,7 @@ EXTRA_OECONF_append = "\ > # of these changes. > FLAGS_GCC6 = "-fno-lifetime-dse -fno-delete-null-pointer-checks" > FLAGS_GCC7 = "-fno-lifetime-dse -fno-delete-null-pointer-checks" > +FLAGS_GCC8 = "-fno-lifetime-dse -fno-delete-null-pointer-checks -Wno- > error=stringop-overflow -Wno-error=return-type" > > # All supported cross compilers support the compiler flags that were > # added to make compilation with gcc6 work. But the host compiler for ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [meta-java][master-next][PATCH 1/4] gitignore: ignore new python byte-code files 2018-08-09 0:26 [meta-java][master-next][PATCH 1/4] gitignore: ignore new python byte-code files André Draszik ` (2 preceding siblings ...) 2018-08-09 0:26 ` [meta-java][master-next][PATCH 4/4] openjdk-8: update to work with gcc v8 André Draszik @ 2018-08-13 7:44 ` André Draszik 2018-08-13 8:16 ` Richard Leitner 3 siblings, 1 reply; 7+ messages in thread From: André Draszik @ 2018-08-13 7:44 UTC (permalink / raw) To: openembedded-devel Please ignore this series, I'll send a mew one. A. On Thu, 2018-08-09 at 01:26 +0100, André Draszik wrote: > From: André Draszik <andre.draszik@jci.com> > > Since we run oeqa tests, we get python byte-code in > the source tree here. > > Ignore them to clean-up the git status > > Signed-off-by: André Draszik <andre.draszik@jci.com> > --- > .gitignore | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/.gitignore b/.gitignore > index 51a512c..8e5c599 100644 > --- a/.gitignore > +++ b/.gitignore > @@ -1,4 +1,5 @@ > *.bak > *.orig > +*.pyc > *.rej > *.swp ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [meta-java][master-next][PATCH 1/4] gitignore: ignore new python byte-code files 2018-08-13 7:44 ` [meta-java][master-next][PATCH 1/4] gitignore: ignore new python byte-code files André Draszik @ 2018-08-13 8:16 ` Richard Leitner 0 siblings, 0 replies; 7+ messages in thread From: Richard Leitner @ 2018-08-13 8:16 UTC (permalink / raw) To: openembedded-devel On 8/13/18 9:44 AM, André Draszik wrote: > Please ignore this series, I'll send a mew one. ok. thanks for the info. regards;Richard.L ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2018-08-13 8:15 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2018-08-09 0:26 [meta-java][master-next][PATCH 1/4] gitignore: ignore new python byte-code files André Draszik 2018-08-09 0:26 ` [meta-java][master-next][PATCH 2/4] openjdk-8: speed-up do_install() (pack200) André Draszik 2018-08-09 0:26 ` [meta-java][master-next][PATCH 3/4] Revert "openjdk-8: fix build for gcc8.x" André Draszik 2018-08-09 0:26 ` [meta-java][master-next][PATCH 4/4] openjdk-8: update to work with gcc v8 André Draszik 2018-08-09 10:46 ` André Draszik 2018-08-13 7:44 ` [meta-java][master-next][PATCH 1/4] gitignore: ignore new python byte-code files André Draszik 2018-08-13 8:16 ` Richard Leitner
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.