| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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 <richard.leitner@skidata.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 <andre.draszik@jci.com>
Signed-off-by: Maxin B. John <maxin.john@intel.com>
|
|
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 <andre.draszik@jci.com>
Signed-off-by: Maxin B. John <maxin.john@intel.com>
|