<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/meta-java.git/recipes-core/openjdk/patches-openjdk-8, branch thud</title>
<subtitle>[no description]</subtitle>
<id>https://git.enea.com/cgit/linux/meta-java.git/atom?h=thud</id>
<link rel='self' href='https://git.enea.com/cgit/linux/meta-java.git/atom?h=thud'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-java.git/'/>
<updated>2018-10-23T22:34:29+00:00</updated>
<entry>
<title>openjdk-8-native: hotspot: handle format-overflow error for gcc &gt;= 7</title>
<updated>2018-10-23T22:34:29+00:00</updated>
<author>
<name>Andreas Obergschwandtner</name>
<email>andreas.obergschwandtner@skidata.com</email>
</author>
<published>2018-10-23T08:03:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-java.git/commit/?id=0cd349d14cb844075d6126f2a3285be614c54c3f'/>
<id>urn:sha1:0cd349d14cb844075d6126f2a3285be614c54c3f</id>
<content type='text'>
fixed the format-overflow warnings by patch affected files in
openjdk-8-hotspot

Signed-off-by: Andreas Obergschwandtner &lt;andreas.obergschwandtner@skidata.com&gt;
Signed-off-by: Richard Leitner &lt;richard.leitner@skidata.com&gt;
</content>
</entry>
<entry>
<title>openjdk-8: add aarch32 port 8u172b11</title>
<updated>2018-10-02T05:58:49+00:00</updated>
<author>
<name>André Draszik</name>
<email>andre.draszik@jci.com</email>
</author>
<published>2018-08-22T12:01:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-java.git/commit/?id=75c2622906afba5a53d48fde72dbdef8d81ba05a'/>
<id>urn:sha1:75c2622906afba5a53d48fde72dbdef8d81ba05a</id>
<content type='text'>
Similar to the aarch64 build, we import the specific aarch32 port when
building for ARMv7. We also add all the necessary patches to:
* compile using gcc v8
* compile against musl

This was tested on:
* QEMU with cortex A7 emulation (using glibc)
* real hardware (using musl)

Signed-off-by: André Draszik &lt;andre.draszik@jci.com&gt;
Signed-off-by: Richard Leitner &lt;richard.leitner@skidata.com&gt;
</content>
</entry>
<entry>
<title>openjdk-8: fix malformed patches</title>
<updated>2018-08-21T06:14:04+00:00</updated>
<author>
<name>André Draszik</name>
<email>andre.draszik@jci.com</email>
</author>
<published>2018-08-20T15:32:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-java.git/commit/?id=9d85ff7259d0352c5ed84dc56f8a29119fdedafe'/>
<id>urn:sha1:9d85ff7259d0352c5ed84dc56f8a29119fdedafe</id>
<content type='text'>
git am complains:
  Warning: commit message did not conform to UTF-8.
  You may want to amend it after fixing the message, or set the config
  variable i18n.commitencoding to the encoding your project uses.

Not sure what happened there when they were applied to git, they
certainly weren't sent like that to the mailing list.

Signed-off-by: André Draszik &lt;andre.draszik@jci.com&gt;
Signed-off-by: Richard Leitner &lt;dev@g0hl1n.net&gt;
</content>
</entry>
<entry>
<title>openjdk-8: gcc-8 fix #4: undefined behaviour (hotspot)</title>
<updated>2018-08-14T14:41:47+00:00</updated>
<author>
<name>André Draszik</name>
<email>andre.draszik@jci.com</email>
</author>
<published>2018-08-14T12:50:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-java.git/commit/?id=e89564dc67cf0136d998a73813c74d9e174f30af'/>
<id>urn:sha1:e89564dc67cf0136d998a73813c74d9e174f30af</id>
<content type='text'>
Using gcc-8, Hotspot is being miscompiled, resulting in non-
working binaries.

The reason is undefined behaviour, which gcc-8 even warns about
and errors out. We have so far have taped over those warnings,
but it turns out that we simply cannot do that.

Add patches to address undefined behaviour causing miscompilation
of hotsport.

This also means we can remove the -Wno-error=return-type C compiler
flag again which was recently added in error in
commit 52fb41cec7d5 ("openjdk-8: fix build for gcc8.x") only hiding
the compiler warnings/errors that were flagging the incorrect code
in the first place.

With these patches applied, the openjdk-8 ARM port works again:
| RESULTS:
| RESULTS - ping.PingTest.test_ping - Testcase 964: PASSED (0.04s)
| RESULTS - ssh.SSHTest.test_ssh - Testcase 224: PASSED (0.68s)
| RESULTS - java.JavaTest.test_java_exists - Testcase -1: PASSED (0.14s)
| RESULTS - java.JavaTest.test_java_jar_comp_mode - Testcase -1: FAILED (5.13s)
| RESULTS - java.JavaTest.test_java_jar_int_mode - Testcase -1: PASSED (4.48s)
| RESULTS - java.JavaTest.test_java_jar_works - Testcase -1: PASSED (4.44s)
| RESULTS - java.JavaTest.test_java_version - Testcase -1: PASSED (3.66s)
| RESULTS - javac.JavacTest.test_javac_exists - Testcase -1: PASSED (0.13s)
| RESULTS - javac.JavacTest.test_javac_works - Testcase -1: PASSED (30.87s)
| SUMMARY:
| openjdk-8-test-image () - Ran 9 tests in 50.263s

The java.JavaTest.test_java_jar_comp_mode failure can be ignored for now,
as that test verifies compiled mode which is not available on arm. The
testcase must be fixed instead.

(We need to refresh one unrelated existing patch to avoid patch fuzz warnings)

Signed-off-by: André Draszik &lt;andre.draszik@jci.com&gt;
Signed-off-by: Richard Leitner &lt;richard.leitner@skidata.com&gt;
</content>
</entry>
<entry>
<title>Revert "openjdk-8: fix build for gcc8.x"</title>
<updated>2018-08-13T13:01:28+00:00</updated>
<author>
<name>André Draszik</name>
<email>andre.draszik@jci.com</email>
</author>
<published>2018-08-13T10:09:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-java.git/commit/?id=3737e0d040dd89737ef4d3a7c45f71c4ff9ad2a8'/>
<id>urn:sha1:3737e0d040dd89737ef4d3a7c45f71c4ff9ad2a8</id>
<content type='text'>
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

We now use a different approach to address the issues
than that patch, and it is thusly not needed anymore.

We fully support gcc &lt; 7 again.

Signed-off-by: André Draszik &lt;andre.draszik@jci.com&gt;
Signed-off-by: Richard Leitner &lt;richard.leitner@skidata.com&gt;
</content>
</entry>
<entry>
<title>openjdk-8: gcc-8 fix #1: backport patch to fix misuses of strncpy/strncat</title>
<updated>2018-08-13T12:58:29+00:00</updated>
<author>
<name>André Draszik</name>
<email>andre.draszik@jci.com</email>
</author>
<published>2018-08-13T10:09:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-java.git/commit/?id=1471f1789e002b0381d0df9dec09581c2a9866b1'/>
<id>urn:sha1:1471f1789e002b0381d0df9dec09581c2a9866b1</id>
<content type='text'>
The original approach doesn't work with all compilers, as
not all compilers support the flag used to suppress the
warnings / errors.

This patch here avoids passing unsupported compiler options
into older compilers, and at the same time fixes the bugs,
rather than just silencing the compiler.

Signed-off-by: André Draszik &lt;andre.draszik@jci.com&gt;
Signed-off-by: Richard Leitner &lt;richard.leitner@skidata.com&gt;
</content>
</entry>
<entry>
<title>openjdk-8: fix build for gcc8.x</title>
<updated>2018-06-15T10:06:25+00:00</updated>
<author>
<name>Richard Leitner</name>
<email>richard.leitner@skidata.com</email>
</author>
<published>2018-06-14T15:44:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-java.git/commit/?id=52fb41cec7d5125bb11c718705158696ffef11f8'/>
<id>urn:sha1:52fb41cec7d5125bb11c718705158696ffef11f8</id>
<content type='text'>
Currently oe-core/YoctoProject migrated to gcc8.x. This update broke our
openjdk-8 and openjre-8 build. This patch avoids this problem by disabling
the problematic gcc warnings and errors.

Signed-off-by: Richard Leitner &lt;richard.leitner@skidata.com&gt;
</content>
</entry>
<entry>
<title>openjdk-8: fix build with --as-needed host toolchains (Ubuntu 16.04)</title>
<updated>2018-03-15T11:47:20+00:00</updated>
<author>
<name>André Draszik</name>
<email>andre.draszik@jci.com</email>
</author>
<published>2018-03-15T11:45:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-java.git/commit/?id=af897090975d102d6136b2b64164b78da3b381c9'/>
<id>urn:sha1:af897090975d102d6136b2b64164b78da3b381c9</id>
<content type='text'>
As per the commit message - build on hosts with --as-needed
toolchains (Ubuntu 16.04) using system provided zlib fails:

If the (host) toolchain has been configured to
unconditionally add --as-needed to the linker command line
then linking can fail when using system libraries.

The reason is that the order of command line arguments
becomes important with --as-needed and the JDK build system
places needed system libraries at the beginning of the
command line where it would normally place the object files
from its own bundled compiled version.

Having those system libraries early in the command line is
not useful, as they are discarded by the linker at that
point in time as it hasn't seen any reference to the
symbols provided yet.

As it seems a generic pattern in the makefiles here, just
place the $EXPECTED_OBJS early in the command line, before
any additional libraries, so as to fix this once and for
all.

Signed-off-by: André Draszik &lt;andre.draszik@jci.com&gt;
Signed-off-by: Maxin B. John &lt;maxin.john@intel.com&gt;
</content>
</entry>
<entry>
<title>openjdk-8: fix MAKE detection patch</title>
<updated>2018-03-13T11:20:15+00:00</updated>
<author>
<name>André Draszik</name>
<email>andre.draszik@jci.com</email>
</author>
<published>2018-03-12T16:38:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-java.git/commit/?id=536cee3023d3464f9eb798459509719bed765c10'/>
<id>urn:sha1:536cee3023d3464f9eb798459509719bed765c10</id>
<content type='text'>
The patch had a few typos, leading to errors during ./configure
   ../jdk8u-4be07cb28b21/common/autoconf/configure: line 8408: test: too many arguments

Signed-off-by: André Draszik &lt;andre.draszik@jci.com&gt;
Signed-off-by: Maxin B. John &lt;maxin.john@intel.com&gt;
</content>
</entry>
<entry>
<title>openjdk-8: add aarch64 support</title>
<updated>2018-03-06T09:03:31+00:00</updated>
<author>
<name>André Draszik</name>
<email>andre.draszik@jci.com</email>
</author>
<published>2018-03-05T09:31:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-java.git/commit/?id=0325253a995039f70836c6d6d98e6cb315fa297f'/>
<id>urn:sha1:0325253a995039f70836c6d6d98e6cb315fa297f</id>
<content type='text'>
This is using the aarch64 port to make it work, which is at version
u161b15.
We also add one patch to make this work with musl, too.

Because the aarch64 port is fetched from a different
repository, the version specific include has been split so
as to have all common parts (URIs, patches, configuration
bits) in one single file, and version specific bits
(checksum, mercurial commit ID), in another file, to
ease maintenance, and make distinguishing easier.

Signed-off-by: André Draszik &lt;andre.draszik@jci.com&gt;
Signed-off-by: Maxin B. John &lt;maxin.john@intel.com&gt;
</content>
</entry>
</feed>
