RFR: 8352284: EXTRA_CFLAGS incorrectly applied to BUILD_LIBJVM src/hotspot C++ source files [v4]
Patrick Zhang
qpzhang at openjdk.org
Mon Mar 31 14:31:56 UTC 2025
> Building jdk with `--with-extra-cflags='-Wno-incompatible-pointer-types'` triggers 1000+ warning messages like `cc1plus: warning: command-line option ‘-Wno-incompatible-pointer-types’ is valid for C/ObjC but not for C++`.
>
> The root cause is that `JVM_CFLAGS ` which contains both `EXTRA_CXXFLAGS` and `EXTRA_CFLAGS` when compiling `src/hotspot` C++ source files and building `BUILD_LIBJVM`.
>
> This PR does:
> 1. Not to append `EXTRA_CFLAGS` or `EXTRA_CXXFLAGS` into `JVM_CFLAGS` before calling `SetupJdkLibrary`, instead let `SetupCompilerFlags` accept and merge `EXTRA_CFLAGS` and `EXTRA_CXXFLAGS` passed from `SetupJdkLibrary` as parameters, so CPP compilation will only see `EXTRA_CXXFLAGS` as expected.
> 2. Correct `PCH_COMMAND` to use `EXTRA_CXXFLAGS` as precompiled.hpp.gch should not be compiled with `EXTRA_CFLAGS`.
> 3. Fixed `STATIC_LIB_CFLAGS` in `Flags.gmk` to `-DSTATIC_BUILD=1`, which was missed by [cbab40bc](https://github.com/openjdk/jdk/commit/cbab40bce45a2f58906be49c841178fa1dfd457e#diff-ab3ce05e795360030f19402fd0c2fad1dc1f7c5e7acc993cc4a2096cf31ccf40R114-R121) for the refactor of building static libs.
>
> Tests: Passed jdk building on an AArch64 Linux system and tier1 sanity tests, also passed OpenJDK GHA Sanity Checks.
Patrick Zhang has updated the pull request incrementally with one additional commit since the last revision:
Revertd the STATIC_LIB_CFLAGS fix as it is coverted by JDK-8353272
Signed-off-by: Patrick Zhang <patrick at os.amperecomputing.com>
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/24115/files
- new: https://git.openjdk.org/jdk/pull/24115/files/5440ddc5..46c43921
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=24115&range=03
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=24115&range=02-03
Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
Patch: https://git.openjdk.org/jdk/pull/24115.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/24115/head:pull/24115
PR: https://git.openjdk.org/jdk/pull/24115
More information about the build-dev
mailing list