| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
fixed the format-overflow warnings by patch affected files in
openjdk-8-hotspot
Signed-off-by: Andreas Obergschwandtner <andreas.obergschwandtner@skidata.com>
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
| |
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are two issues here:
* PROVIDES is not package specific
* it doesn't look like the intention is to be able to
DEPENDS on java2-vm or java2-runtime anyway
Regarding java2-vm:
-------------------
java2-vm was originally used in the OpenJDK 6 & 7 recipes to be able to
select shark, zero, cacao, or jamvm VMs. OpenJDK-6 is not available any
more, and OpenJDK-7 has removed support for most of this in commit
38f4c1365c11 ("openjdk7: remove broken/unsupported VM's")
It is not clear why it was added to the OpenJDK-8 recipe either.
Given OpenJDK-7 has no way of using the VM compiled as part of OpenJDK-8,
and given that no part of the OpenJDK-8 makes use of the java2-vm part, the
correct solution here is to actually *remove* the incorrect PROVIDES as
well as *R*PROVIDES statements for java2-vm completely.
Regarding java2-runtime:
------------------------
Again, looking at the other uses of this:
java2-runtime is a virtual runtime package name, which is provided by
different *runtime* packages (created by the OpenJDK-7, OpenJDK-8, JamVM, or
Cacao recipes). Other recipes only ever RDEPEND on java2-runtime. It makes
no sense for the OpenJDK-8 recipe to PROVIDES java2-runtime given the above.
Remove the incorrect (R)PROVIDES statements.
Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now that generation of the Java keystore actually works (again?),
OE-core commit 09bb7718d74 ("ca-certificates: use relative symlinks from $ETCCERTSDIR"),
do_compile() will fail when invoked multiple times.
The reason is that during do_compile(), the Java keytool is
used to create a Java keystore with the certificates provided
by ca-certificates. Before above OE-core commit, no
certificates were actually being added, but as certificates
are being added now, multiple do_compile() runs will end up
adding the same certificate twice when rm_work is disabled,
causing a keytool exception, as that is not allowed.
So let's remove any previously generated keystore before trying
to add certificates to it.
Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
As the JVM postinst scripts fail during rootfs creation we postpone them
to the target using the "pkg_postinst_ontarget_" function. Failing the
build at failing postinst scripts was intentionally introduced by
oe-core.
Furthermore remove the no longer needed $D prefixes from those postinst
scripts.
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
| |
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
| |
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
|
|
|
| |
Add meta-java test distributions for glibc and musl. Those should be
used for oeqa tests of the *-test-image's to cover also musl.
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As commit "openjdk-8: add aarch32 port 8u172b11" introduced support for
the aarch32 port of openjdk-8 enable the test_java8_jar_comp_mode test
for ARMv7 machines. This is done by skipping the test only for machines
which have armv{4-6} in their tunes.
Furthermore update the "Known Limitations" section in the README.
This patch depends on OE-Core rev 10b935c713748346aea6c36c2f41e0ae6c320821,
named "oeqa/core/decorator: add skipIfInDataVar"
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
Acked-by: Henning Heinold <henning@itconsulting-heinold.de>
|
|
|
|
|
|
|
|
|
|
| |
As no patch has been found in debian and hotspot repo for this issue we
just disable this warning which was introduced with GCC 7.
Also known as: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=881824
Signed-off-by: Andreas Obergschwandtner <andreas.obergschwandtner@skidata.com>
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
|
|
|
|
|
|
| |
As openjdk-7-common was the only consumer of openjdk-postinst.inc move
it's content and remove openjdk-postinst.inc.
Now all files in recipes-core/openjdk are named correctly according to
their versions again.
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
|
|
|
|
| |
As openjdk-common.inc now serves all OpenJDK version let
openjdk-8-common require it. Furthermore remove the now duplicated
lines.
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
|
|
|
| |
Move the OpenJDK-7 specific parts from openjdk-common.inc to
openjdk-7-common.inc.
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
|
|
|
| |
As the openjdk_build_helper now provides the ARCH translation function
use those and drop the local ones.
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
|
|
|
|
|
| |
As the openjdk_build_helper now provides the ARCH translation function
use those and drop the local ones.
Furthermore remove the duplicated LLVM_CONFIGURE_ARCH export.
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
|
|
|
| |
As the openjdk_build_helper now provides the ARCH translation function
use those and drop the local ones.
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
|
|
|
|
| |
As different parts of OpenJDK use sightly different names for ARCH'es we
provide those translations functions centrally in our
openjdk-build-helper class.
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 <andre.draszik@jci.com>
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
|
|
|
| |
The aarch32 port will need to unconditionally enable this.
Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Richard Leitner <dev@g0hl1n.net>
|
|
|
|
|
|
|
| |
As a simplification for the upcoming aarch32 port.
Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Richard Leitner <dev@g0hl1n.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 <andre.draszik@jci.com>
Signed-off-by: Richard Leitner <dev@g0hl1n.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Avoid installation of all openjdk-8-native buildtime dependencies into
a depending recipe's sysroot.
To execute openjdk-8-native as part of a depending recipe's build, we
don't need the openjdk-8-native build time dependencies (like ant-native,
or more importantly icedtea-7-native), just its runtime dependencies,
unless of course that depending recipe's builds needs those tools itself.
In that case, it needs to specify them explicitly, though (of course!).
Use SSTATE_EXCLUDEDEPS_SYSROOT to prevent openjdk-8-native build time
dependencies from being copied in the sysroot unless explicitly requested.
Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Richard Leitner <dev@g0hl1n.net>
|
|
|
|
|
|
|
|
| |
Add a section containing our currently known limitations. This includes
OpenJDK version-target combinations which only support "interpreted
mode".
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 <andre.draszik@jci.com>
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The following OpenJDK Version/Target architecture combinations are
currently not supported with "compiled mode" aka JIT:
OpenJRE-8 on arm
OpenJDK-7 on aarch64
OpenJDK-7 on x86
OpenJDK-7 on x86-64
Therefore we skip the correspoding oeqa runtime tests for now.
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
|
|
|
| |
Support for respective docbook tools has been removed in pyro release.
Signed-off-by: Yevgeny Popovych <yevgenyp@pointgrab.com>
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
|
|
|
|
|
|
| |
Icedtea 7 and OpenJDK 7 will need to apply new compiler flags for certain
compiler version without breaking support for older (host) compilers.
Move here so that the same code can be re-used.
Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
|
|
|
|
|
|
| |
The code moved is not relevant to anything using java, just for
compiling java itself. It doesn't make sense to have here.
Move it into openjdk-build-helper
Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We get a bitbake warning during recipe building complaining about
unsupported architectures unconditionally. That check is relevant
only for shark builds, so it is quite confusing for non-shark
builds.
Make the warning conditional on whether shark builds are enabled
or not.
This is the same patch as the one for openjdk-8 by André Draszik
(commit 86c729cb51f880fd5a1ec6485baddfa2bedaa998)
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
Acked-by: Henning Heinold <henning@itconsulting-heinold.de>
|
|
|
|
|
| |
Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Richard Leitner <richard.leitner@skidata.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
With this,
bitbake -c testimage openjdk-8-test-image
works again for x86_64 and aarch64:
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
NOTE: armv5e still doesn't work with gcc v8, and other arches
weren't tested.
Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Similar to the patch just reverted, we silence the build warnings
regarding return type of functions, but we only do this for gcc versions
where it matters, now that our infrastructure for doing so works again:
| <<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.
Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Richard Leitner <richard.leitner@skidata.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
We now use a different approach to address the issues
than that patch, and it is thusly not needed anymore.
We fully support gcc < 7 again.
Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 <andre.draszik@jci.com>
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Building OpenJDK-8 (target) with an older host compiler (gcc < 6) does
not work as the build errors with error messages regarding unrecognized
gcc command line options.
As part of the (cross) build particularly, OpenJDK-8 builds a host tool
(adlc) using the host gcc. We have a patch, openjdk8-fix-adlc-flags.patch,
that tries to make the adlc build use the correct / intended compiler
flags.
This doesn't work right now, as that build still sees compiler flags
intended for / understood by the gcc version used for the actual cross
compile only.
The reason is that while we have infrastructure in place to add compiler
flags based on the compiler version, we add all of them unconditionally to
CFLAGS / CXXFLAGS directly but above patch uses TARGET_CFLAGS /
TARGET_CXXFLAGS to filter out unwanted BUILD_CFLAGS / BUILD_CXXFLAGS from
CFLAGS / CXXFLAGS, In other words above patch cannot do what it intends to
do and all compiler version specific flags (-fno-lifetime-dse &
-fno-delete-null-pointer-checks) end up in CFLAGS / CXXFLAGS.
So far, this was only affecting people using host gcc < 6, but upcoming
patches adding support for gcc >= 8 will add even more compiler flags that
even gcc < 7 don't support - it's time to finally address this.
We fix the issue by adding the compiler version specific flags to
BUILD_CFLAGS / BUILD_CXXFLAGS and TARGET_CFLAGS / TARGET_CXXFLAGS as
necessary, so that above patch can work as intended.
We now support all necessary combinations:
* -native builds
* -target builds
* host tools built using the native compiler during the -target build
A similar but different patch existed here before as
commit 6801f6d4e19c ("openjdk-8-common: Fix the issue of building
failed adlc on host with gcc < 6") but was reverted subsequently
due to reportedly still(?) having (new?) issues with older compilers.
This patch here is different from the older patch in that it
*doesn't* set the cflags during a python_anonymous() function, and
thus it guarantees deterministic execution order.
This change here was tested to work using host gcc versions 4.8.4 and
6.3.0 and 7.3.0
Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
|
|
|
|
| |
These days, OpenJDK-8 adds this to the build itself, no need to do it
again here in the recipe.
Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Richard Leitner <richard.leitner@skidata.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>
Signed-off-by: Richard Leitner <richard.leitner@skidata.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>
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
|
|
|
|
| |
This is the latest available version and contains
some fixes for Java 10 & Java 11
Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
When building without X11 support on the sumo or master branches of
meta-java with the pyro branch of poky, meta-oe, etc, the recipe fails
to parse.
Renaming the function to anything else allows the recipe to be parsed. The
problem appears to be the word "_remove_".
Signed-off-by: Matthew McClain <mmcclain@uplogix.com>
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
|
| |
Signed-off-by: Fan Xin <fan.xin@jp.fujitsu.com>
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
|
|
|
| |
Add new "Testing" section in README where we describe how meta-java
tests may be used.
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
|
|
|
| |
Add image classes and images for open{jdk,jre}-{7,8} oeqa tests. These
will be the basis for future "quality gates".
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
|
|
|
| |
These testcases verify that java and javac are working. They will be
used as "quality-gate" test for accepting patches in the future.
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
|
|
|
|
| |
removing lots of code-duplication
Signed-off-by: André Draszik <andre.draszik@jci.com>
Tested-by: Richard Leitner <richard.leitner@skidata.com>
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
|
|
|
|
|
| |
Short descriptions should go into SUMMARY (DESCRIPTION will
get the same value if not set.)
Signed-off-by: André Draszik <andre.draszik@jci.com>
Tested-by: Richard Leitner <richard.leitner@skidata.com>
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Piping 'find' output into multiple files to re-read
them seems inelegant and is error prone - just use a
pipe with appropriate options instead.
This avoids potential problems with funny file names,
and now also makes use of BB_NUMBER_THREADS to speed
up compilation.
This is a better example to copy from now...
Signed-off-by: André Draszik <andre.draszik@jci.com>
Tested-by: Richard Leitner <richard.leitner@skidata.com>
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
|
|
|
|
|
| |
Summarises the bootstrap of the java envrionment, rather than having
to find this described in some wiki page that was copied over from
OE-classic and never updated.
Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
|
|
|
|
|
|
| |
Rather than using the HG (mercurial) changeset IDs directly,
add a more descriptive part to the file name. This can help
with download cache management.
Signed-off-by: André Draszik <andre.draszik@jci.com>
Tested-by: Richard Leitner <richard.leitner@skidata.com>
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|
|
|
|
|
|
|
| |
Debian changed the URI of the ca-certificates-java repository, therfore
use the new one.
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
|